Aplicando segurança em seu FTP ou arquivos públicos

Neste artigo iremos falar sobre segurança em FTP (File Tranfer Protocol). O FTP é um protocolo da família do TCP/IP, assim como o Telnet, SMTP, SNMP etc. A sua função, especificamente, é a de transferência de arquivos entre um host e um cliente.

Como todos devem saber, hoje em dia tudo é passível de ser burlado e o FTP não foge a regra, por ser um protocolo antigo, já foram inventadas algumas formas de quebrá-lo.

Para evitar isso, ou dificultar, é necessário que ele seja configurado corretamente e é isso que vamos passar para vocês. Mãos na massa!

Configuração do WU-FTPD (nativo)

Os principais problemas de um servidor FTP são:

  • Autenticação do servidor (username e senha) e todos os comandos enviados como texto, ou seja, com um sniffer é possível obter facilmente o username e a senha do usuário;
  • Diversos Denial of Service existem para vários servidores FTP;
  • Diversos exploits para servidores FTP;

Quando se fala em segurança em servidores FTP, não se pode ser feito muita coisa além de configurá-lo corretamente, estar bem documentado com logs, backup, versões atualizadas etc.

Se você inicializa o FTP pelo inetd (daemon no qual inicializa a maioria dos serviços de rede, como telnet, ftp, finger, ntalkd, smtp, login etc.), o que é o mais comum em todas as versðes de Linux, verifique no arquivo de configuração ( /etc/inetd.conf ) a linha que começa com ftp e coloque-a da seguinte forma:

ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -L -i -o

A única diferença do atual em seu arquivo deve ser as síntaxes -l (cada sessão de FTP é logada no syslog), -L (todos os comandos enviados para o servidor são logados no syslog), -i (todos os arquivos recebidos pelo servidor são logados para o /usr/adm/xferlog), -o (todos os arquivos transmitidos do servidor são logados para o /usr/adm/xferlog). Vejamos como fica o syslog com uma simples sessão de ftp com o comando tail -f /var/log/messages :

Oct 30 01:32:21 presario in.identd[8463]: reply to      192.168.10.2: 1400 , 21 : USERID : UNIX :root      Oct 30 01:32:21 presario wu.ftpd[8462]: connect from      root@192.168.10.2      Oct 30 01:32:30 presario ftpd[8462]: USER molder      Oct 30 01:32:35 presario ftpd[8462]: PASS password Oct 30 01:32:35 presario ftpd[8462]: FTP LOGIN FROM     presario.earth.com [192.168.10.2] , molder      Oct 30 01:32:35 presario ftpd[8462]: SYST      Oct 30 01:32:49 presario ftpd[8462]: TYPE Image      Oct 30 01:32:49 presario ftpd[8462]: PORT      Oct 30 01:32:49 presario ftpd[8462]: RETR Untitled      Oct 30 01:32:53 presario ftpd[8462]: QUIT      Oct 30 01:32:53 presario ftpd[8462]: FTP session closed

Nesta sessão foi feito o login, baixado o arquivo Untitled e fechada a sessão.

Outra arquivo de configuração é o /etc/ftpaccess . Existem três tipos de logins que o WU-FTPD dispõe:

  • Anonymous FTP : que é usado normalmente na Internet, o usuário entra com o username anonymous e na senha o e-mail (ou deveria) 
  • Guest FTP : neste login o usuário usa uma conta e senha cadastrada realmente no servidor, mas ele fica amarrado ao seu diretório home (/home/user), é o mais indicado quando se quer trabalhar com uploads de arquivo;
  • Real FTP : neste último o usuário entra com uma senha e username válidos e tem acesso a todo o disco, este é o menos seguro e indicado.

Todas estas configurações são feitas no ftpaccess , além de outras configurações como: a quantidade de falhas no login; quantidade de conexões quando for remoto ou local; mensagens de login, erro, limites e logout; permissões; diretórios para upload, entre outras coisas. Caso queira saber maiores opções nada como um man ftpaccess ;-).

Obs.: para poder utilizar o arquivo ftpaccess , você terá que colocar a opção -a para habilitar no /etc/inetd.conf . Exemplo:

ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -a -l -L -i -o

Existem outros arquivos de configuração para o WU-FTPD, como /etc/ftpusers(para bloquear usuários), ftpservers (para servidores virtuais) e/etc/ftphosts (para bloquear hosts).

Estas são algumas das implementações que podem ser feitas em um servidor FTP padrão, que são encontrados normalmente em qualquer distribuição Linux. Pois isto se aplica ao FTP Server WU-FTPD ( http://www.wuftpd.org  ), o qual vem por default nas principais distribuições.

  • Email, SSL
  • 25 Usuários acharam interessante!
Esta resposta lhe foi útil?

Related Articles

Porque não compartilhamos SSL para websites

Você compartilharia sua escova de dentes? Provavelmente não, pois não se exporia a riscos de...

Ataques DoS (Denial of Service) e DDoS (Distributed DoS)

Introdução Quem acompanha os noticiários de tecnologia e internet certamente já se deparou com...

Como limpar um Computador Infectado por Malware

Seu PC foi infectado apesar de seus esforços para mantê-lo seguro? O notebook de um amigo tem...

Proteja seu WordPress de Força Bruta

WordPress é uma plataforma de blogging completa. É feito altamente personalizável e fácil de...

Saiba o que é firewall do servidor

Um firewall é um software aplicativo ou hardware que ajuda a bloquear hackers, vírus e worms que...