Vous êtes sur la page 1sur 18

4452

Linux Security Servers in Cloud

www.4linux.com.br

Projetos na sua empresa


com a qualidade dos treinamentos

ence
Business Intelig lx8
F
u/
.m
va
http://

BPM
http://va.mu/EuiT

Servidor Java EE
http://va.mu/FlyB

PostgreSQL
http://va.mu/EuhV

Monitoramento
http://va.mu/EukN

Virtualizao
http://va.mu/Flxl

Groupware Yj
u/FN
http://va.m

Backup
http://va.mu/Flxr

Auditoria e Anlise
http://va.mu/Flxu

Segurana
http://va.mu/Flxy

Ensino Distncia
http://va.mu/Flxc

Integrao Continua
http://va.mu/FlyD

GED - ECM
http://va.mu/Flx3

Alta Disponibilidade
http://va.mu/FNbL

Infraestrutura Web
http://va.mu/Flxi

Implantao garantida
http://va.mu/GcFv

Contedo
Servidor FTP

0.1

Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

0.2

Comandos em modo texto do FTP . . . . . . . . . . . . . . . . . . . . . 13

0.3

Configurao do Firewall

0.4

Cliente grfico para FTP . . . . . . . . . . . . . . . . . . . . . . . . . . 17

. . . . . . . . . . . . . . . . . . . . . . . . . 15

Servidor FTP
0.1 Introduo terica
O FTP (File Transfer Protocol) um protocolo simples para transferncia de arquivos. O cliente "FTP"faz uma solicitao ao servidor "FTP", a seo estabelecida
e ento solicitado um usurio e senha vlidos no caso de um "FTP"autenticado,
ou, caso este servidor permita navegao annima, basta entrar com o usurio
"anonymous" e uma senha qualquer.
Em relao ao modo de conexo do servidor FTP, ele pode atuar como servidor
ativo ou passivo. No modo ativo, os comandos so enviados por uma porta alta
(acima de 1024) pelo cliente e so recebidas pela porta 21 no servidor, enquanto
que os dados so transmitidos pelo servidor ao cliente atravs da porta 20.
Qual a desvantagem do motivo ativo?
Neste modo, um firewall mal configurado pode dar uma falsa sensao de funcionamento do FTP, pois a conexo e os comandos FTP funcionaro normalmente, porm,
na hora da transferncia de arquivos, ocorrer uma falha de desconexo ou time out,
dependendo do tipo de servidor.
J no modo passivo, os comandos tambm so enviados para o servidor atravs
de uma porta alta pelo cliente e so recebidas na porta 21 do servidor. Neste momento, o cliente avisa ao servidor que ele deve utilizar o modo passivo atravs do
comando "PASV", e ento os dados sero enviados utilizando portas altas tanto
pelo cliente quando pelo servidor. Neste caso, no temos mais problemas com o

4Linux www.4linux.com.br

0.1 Introduo terica

"Firewall"no lado do cliente, porm, temos que habilitar a utilizao de portas altas
no servidor, o que pode gerar outros problemas. Felizmente, na configurao do
servidor "FTP"podemos especificar o "range"de portas que o servidor deve utilizar,
minimizando assim o problema no lado do servidor.

Modo Ativo

Modo Passivo

Linux Security Servers in Cloud

Pgina 7

0.1 Introduo terica

4Linux www.4linux.com.br

O VSFTPD (Very Secure File Transfer Protocol Daemon) a escolha de empresas como RedHat, IBM e Novell (SUSE Linux) quando o assunto servidor FTP
confivel e seguro. Inclusive o projeto "OpenBSD"utiliza o "VSFTPD"como servidor
"FTP"padro da distribuio. Logo, podemos considerar este software como bem
qualificado em termos de segurana de cdigo. Apesar de alguns Administradores
apontarem o "VSFTPD"como carente em termos de documentao, todos os seus
parmetros podem ser encontrados em sua "man page", o que facilita o processo de
configurao.

Alm do "VSFTPD", existem outros programas de Servidor FTP, para


Gnu/Linux, como "proftpd"e o "wu-ftpd", que no sero abordados neste treinamento.

Sobre segurana: um dos principais problemas do "FTP" que a maioria dos


servidores no implementa criptografia, ento, caso voc deseje um ambiente se-

Pgina 8

Linux Security Servers in Cloud

4Linux www.4linux.com.br

0.1 Introduo terica

guro com "FTP", necessrio a implementao de criptografia, como "OpenSSL"ou


"TLS".

Para logar num servidor FTP, temos duas maneiras:


Tradicional: o servidor aceita conexes por meio de um usurio e senha vlidos,
liberando desta forma um prompt de comandos ou mesmo a interface grfica;
Anonymous: o Servidor FTP com anonymous muito utilizado na Internet pelo
motivo de no ser necessrio ter um usurio no servidor. Desta forma, o usurio pode
abrir um browser e chamar o endereo ftp://ftp.servidor.com.br para ter acesso
ao diretrio disponibilizado pelo servio. Geralmente esse diretrio o home do
usurio FTP, sendo no Debian em /srv/ftp .
No nosso servidor FTP vamos desativar o modo Anonymous, pois ele ser usado
apenas pelo Webdesigner pode fazer upload dos arquivos da empresa DEXTER.
O usurio root no poder fazer acesso ao servidor FTP. Para esta configurao,
iremos utilizar a mquina DMZ.

Recapitulando...
A plataforma RedHat utiliza o "vsftpd"por padro.

Para instalar o vsftpd, instale o pacote utilizando um repositrio que fornece uma
verso mais atual para o Debian:

root@dmz :~ # echo " deb http :// ftp . cyconet . org / debian wheezy - updates
main non - free contrib " >> / etc / apt / sources . list . d / wheezy - updates .
cyconet . list

root@dmz :~ # aptitude update

root@dmz :~ # aptitude install debian - cyconet - archive - keyring

Linux Security Servers in Cloud

Pgina 9

0.1 Introduo terica

4Linux www.4linux.com.br

root@dmz :~ # aptitude update

root@dmz :~ # aptitude install -t wheezy - updates debian - cyconet archive - keyring vsftpd

Aps instalar, vamos abrir o arquivo de configurao /etc/vsftpd.conf e ento


alterar alguns parmetros

root@dmz :~ # vim / etc / vsftpd . conf

Localize as configuraes que seguem abaixo e altere as que esto em negrito:

# ## Permite que o VSFTPD funcione em modo daemon

listen = Yes

3
4

## Permite a utiliza o do FTP com o usu rio anonymous

anonymous_enable = No

6
7

## Habilitar a vari vel que permite que os usu rios do sistema


possam ## usar o servidor FTP :

local_enable = Yes

9
10

## Vari vel que permite o upload para os usu rios :

11

write_enable = Yes

12
13

## Permite a exibi o de mensagens aos usu rios

14

dirmessage_enable = Yes

15
16

## Ativa os logs para downloads e uploads

17

xferlog_enable = Yes

18
19

## Utiliza a porta FTP - DATA para transfer ncia de arquivos ( vamos


usar ## FTP Ativo )

20

connect_from_port_20 = Yes

21

Pgina 10

Linux Security Servers in Cloud

4Linux www.4linux.com.br

22

0.1 Introduo terica

## Definindo timeout para sess o e conex o de dados em 2 minutos


(120 ## segundos )

23

idle_session_timeout =120

24

data_connection_timeout =120

25
26

## No permitir que o usu rio veja arquivos que n o sejam seus

27

chroot_local_users = YES

28

allow_writeable_chroot = YES

As opes "anonymous_enable"e "xferlog_enable"podem cair na prova LPI.

Adicione um novo usurio, altere o dono e grupo do diretrio /srv/www/dexter e tambm defina este como sendo o home do novo usurio, portanto realize as alteraes
abaixo:

root@dmz :~ # adduser webdesigner

root@dmz :~ # gpasswd -a www - data webdesigner

root@dmz :~ # chown -R webdesigner \: / srv / www / dexter /

root@dmz :~ # chmod -R 775 / srv / www / dexter /

root@dmz :~ # usermod -d / srv / www / dexter webdesigner

root@dmz :~ # grep web / etc / passwd

webdesigner : x :1001:1001: , , ,:/ srv / www / dexter :/ bin / bash

Confirme as permisses, dono e grupo deste diretrio e...

root@dmz :~ # ls - ld / srv / www / dexter

drwxrwxr - x 5 webdesigner webdesigner 4 ,0 K Ago

5 20:13 / srv / www /

dexter

Com isso mudamos a permisso de acesso ao diretrio e o diretrio padro do

Linux Security Servers in Cloud

Pgina 11

0.1 Introduo terica

4Linux www.4linux.com.br

usurio webdesigner. Tambm devemos verificar se o usurio root est bloqueado


para acessar o FTP:

1
2

root@dmz :~ # grep root / etc / ftpusers


root

Caso voc queira bloquear mais algum usurio para que ele no acesse o servidor
FTP, coloque o nome dele no arquivo!
Crie o arquivo /srv/www/dexter/.message e coloque a mensagem abaixo:

1
2

root@dmz :~ # vim / srv / www / dexter /. message

============================================================

## Este sistema para uso exclusivo da empresa DEXTER .

## Todas as atividades ser o registradas .

## vetada a utiliza o deste sistema para transfer ncia de

## arquivos protegidos por qualquer lei de direito autoral

## ou arquivos que infrinjam a legisla o vigente .

============================================================

Aps escrever a mensagem, salve o arquivo e reinicie o servio FTP:

root@dmz :~ # service vsftpd restart

Stopping FTP server : vsftpd .

Starting FTP server : vsftpd .

Verifique em qual porta o servidor "FTP"est escutando:

root@maq - interna :~ # netstat - ltupan

tcp

0 0.0.0.0:21

0.0.0.0:*

OU A

992/

vsftpd

Pgina 12

Linux Security Servers in Cloud

4Linux www.4linux.com.br

0.2 Comandos em modo texto do FTP

Agora vamos fazer alguns testes de acesso ao FTP, mas antes instale os clientes
FTP, tanto para o modo texto como para o grfico. Execute na mquina Interna:

root@maq - interna :~ # aptitude install ftp

Concluda a instalao, acesso o FTP pelo modo texto:

root@maq - interna :~ # ftp ftp . dexter . com . br

Connected to www . dexter . com . br .

220 ( vsFTPd 2.3.2)

Name ( ftp . dexter . com . br : root ) : webdesigner

331 Please specify the password .

Password :

230 -============================================================

230 - ## Este sistema para uso exclusivo da empresa DEXTER .

230 - ## Todas as atividades ser o registradas .

10

230 - ## vetada a utiliza o deste sistema para transfer ncia de

11

230 - ## arquivos protegidos por qualquer lei de direito autoral

12

230 - ## ou arquivos que infrinjam a legisla o vigente .

13

230 -============================================================

14

230 Login successful .

15

Remote system type is UNIX .

16

Using binary mode to transfer files .

17

ftp >

0.2 Comandos em modo texto do FTP


Os servidores de "FTP"muito raramente mudam, mas novos programas clientes "FTP"aparecem
com bastante regularidade. Estes clientes variam no nmero de comandos que implementam. A maioria dos clientes "FTP"comerciais implementam apenas um pequeno subgrupo desses comandos. Mesmo que o "FTP"seja um protocolo orientado

Linux Security Servers in Cloud

Pgina 13

0.2 Comandos em modo texto do FTP

4Linux www.4linux.com.br

linha de comandos, a nova gerao dos clientes "FTP"esconde esta orientao


num ambiente grfico muitas vezes bastante desenvolvido.
As interfaces clientes do "FTP"do "BSD UNIX"e do GNU/Linux possuem muitos comandos, alguns deles arcaicos e sem utilidade hoje em dia, como por exemplo o
"tenex"e o "carriage control".

Os comandos listados abaixo podem ser cobrados na prova de certificao.

Abaixo esto listados alguns dos mais utilizados comandos "FTP":

## Para saber em qual diret rio se encontra :

ftp > pwd

3
4

## Para saber em qual diret rio se encontra ( lado cliente ) :

ftp > ! pwd

6
7

## Para trocar de diret rios dentro do servidor :

ftp > cd < diret rio >

9
10

## Para voltar um diret rio :

11

ftp > cd ..

12
13

## Para listar o conte do do diret rio atual :

14

ftp > ls

15
16

## Para listar os diret rios locais ( lado cliente ) :

17

ftp > ! ls

18
19

## Para mudar de diret rio na m quina cliente :

20

ftp > lcd < diret rio >

21
22

## Para realizar o download de um arquivo :

23

ftp > get < arquivo >

Pgina 14

Linux Security Servers in Cloud

4Linux www.4linux.com.br

0.3 Configurao do Firewall

24
25

## Para realizar m ltiplos downloads :

26

ftp > mget *

27
28

## Para realizar o upload de um arquivo :

29

ftp > put < arquivo >

30
31

## Para realizar m ltiplos uploads :

32

ftp > mput *

33
34

## Para uma lista completa de comandos :

35

ftp > help

Para verificar os logs do ftp, execute:

root@dmz :~ # cat / var / log / vsftpd . log

Tue Aug

7 22:35:50 2013 [ pid 2] CONNECT : Client " 192.168.200.10 "

Tue Aug

7 22:35:56 2013 [ pid 1] [ webdesigner ] OK LOGIN : Client "

192.168.200.10 "
4

Tue Aug

7 22:36:12 2013 [ pid 3] [ webdesigner ] OK DOWNLOAD : Client "

192.168.200.10 " , " / index . php " , 4621 bytes , 282.04 Kbyte / sec

0.3 Configurao do Firewall


Libere no Firewall as portas do ftp, este procedimento ir dar uma flexibilidade ao
flexibilidade ao webdesigner. No Firewall adicione estas linhas, lembre-se de colocar
no final do escopo do start.

root@firewall :~ # vim / etc / init . d / firewall

Linux Security Servers in Cloud

Pgina 15

0.3 Configurao do Firewall

4Linux www.4linux.com.br

# Libera no Firewall a passagem de pacotes para o servidor FTP porta


21

iptables -A FORWARD -p tcp

-- sport 21 -s $DMZ -d 0/0 -- dport $PA -j

ACCEPT
5

iptables -A FORWARD -p tcp -- sport $PA -s 0/0 -d $DMZ -- dport 21 -j


ACCEPT

iptables -t nat -A PREROUTING -p tcp -- sport $PA -s 0/0 -d $WAN1 -dport 21 -j DNAT --to - destination $DMZ :21

7
8

# Libera no Firewall a passagem de pacotes para o servidor FTP porta


20

iptables -A FORWARD -p tcp


0:65535 -j

10

-- sport 20 -s $DMZ -d 0/0 -- dport

ACCEPT

iptables -A FORWARD -p tcp -- sport

0:65535 -s 0/0 -d $DMZ -- dport

20 -j ACCEPT
11

iptables -t nat -A PREROUTING -p tcp -- sport 0:65535 -s 0/0 -d $WAN1


-- dport 20 -j DNAT --to - destination $DMZ :20

Para o FTP funcionar de modo perfeito preciso habilitar o mdulo nf_nat_ftp e suas
dependncias.

root@firewall :~ # echo nf_nat_ftp >> / etc / modules

Faa subir estes mdulos como se a mquina estivesse sendo iniciada agora, e
reinicie o Firewall para que possa valer as novas regras.

root@firewall :~ # service firewall restart

Pgina 16

Linux Security Servers in Cloud

4Linux www.4linux.com.br

0.4 Cliente grfico para FTP

0.4 Cliente grfico para FTP

Podemos acessar um FTP a partir da interface grfica. Um dos principais clientes


FTP o Filezilla (http://filezilla-project.org), que possui verso para GNU/Linux, Windows e Mac OS. Para instalar no GNU/Linux basta digitarmos na mquina Interna:

root@maq - interna :~ # aptitude install filezilla

Para abrir o aplicativo, v em Aplicativos -> Internet -> Filezilla. Na tela que abrir,
entre com os seguintes dados:

Host :

ftp . dexter . com . br

Usu rio :

Senha :

123456

Porta :

21

webdesigner

Ser estabelecida a conexo e nosso Webdesigner poder atualizar o site!

Linux Security Servers in Cloud

Pgina 17

0.4 Cliente grfico para FTP

Pgina 18

4Linux www.4linux.com.br

Linux Security Servers in Cloud

Vous aimerez peut-être aussi