Pular para o conteúdo

Vsftp - Instalação de um servidor FTP focado em segurança

Este artigo aborda a instalação de um servidor FTP com segurança. Pontos de segurança tratados: usuário FTP limitado
ao seu home, SELinux ativo, regras IPtables TCP Wrappers, limitação apenas para a pasta do usuário e criação de contas FTP.
Leonardo MMM cromado
Hits: 30.734 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 2: Instalação

Instalação do VSFTP

CentOS/Red Hat/Fedora:

# yum install vsftpd.x86_64

Colocando na inicialização:

# chkconfig vsftpd on

Bloqueando todos os usuários do sistema, para não acessarem o FTP. Coloque todos os usuários do sistema no arquivo /etc/vsftpd/ftpusers.

Por padrão, qualquer usuário do sistema operacional, pode acessar o FTP, desde que se saiba a senha. Então, vamos bloquear todos os logins.

Faça um backup do arquivo /etc/vsftpd/ftpusers.

Execute o comando abaixo, que vai filtrar todas as contas do /etc/passwd e jogar na lista de usuários bloqueados no vsftp:

# awk '{print $1}' /etc/passwd | cut -d: -f1 > /etc/vsftpd/ftpusers

Pronto, todas as contas do sistema operacional, está bloqueado no FTP.

Configuração do vsftp

Isolando os usuários apenas ao seu Home, criando listas de usuários permitidos ao FTP. Abaixo, vou fazer uma breve descrição das linhas editadas.

# vi /etc/vsftpd/vsftpd.conf

#Remove acesso anônimo.
anonymous_enable=NO

#Permite acesso a usuários do sistema operacional.
local_enable=YES

#Configura o servidor FTP, como apenas Leitura, ou escrita. No nosso caso, é apenas um servidor para download, só leitura, então:
write_enable=NO

#Arquivo de Logs do FTP.
xferlog_file=/var/log/xferlog

# Esta linha, vai limitar o acesso dos usuários FTP, apenas ao seu HOME.
chroot_local_user=YES

#Estas 2 linhas, ativa mais uma pequena segurança no servidor. ela libera apenas os usuários listados no arquivo "chroot_list", para acessar o FTP.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.


FTP Configurado

Tem mais algumas configurações no "vsftpd.conf", mas para a proposta do artigo, o que acabamos de fazer está bom. Recomendo dar uma olhada com calma no arquivo "vsftpd.conf" e alterar o que achar necessário.

Crie o arquivo de Logs:

# touch /var/log/xferlog

Configuramos o servidor de FTP. Faça um reboot, para todas as configurações surtirem efeito e deixar o servidor zerado para os testes.

# init 6

Testes

Crie um usuário e defina sua pasta Home, lembrando que a pasta Home do usuário é onde estarão seus arquivos FTP. Por padrão, o vsftp cria a pasta /var/ftp como repositório FTP. Eu vou seguir a pasta padrão do vsftp.

Criando um usuário FTP e setando a senha:

# useradd -d /var/ftp/ftpuser -s /sbin/nologin -m ftpuser
# passwd ftpuser


Criei o usuário "ftpuser", com a Home /var/ftp/ftpuser, e sem permissão de login remoto via SSH.

Coloque o usuário na lista de permissões do FTP:

# echo ftpuser >> /etc/vsftpd/chroot_list

Bom, agora é só testar o acesso ao FTP.

Eu uso o cliente FileZilla. Para FTP, eu gosto da interface gráfica, mas você pode usar o FTP via linha de comando mesmo, ou um cliente de sua preferência.

Obs.: Se você quiser mudar a localização da pasta padrão do FTP: /var/ftp, pode fazer tranquilamente, mas terá que acertar as permissões do SELinux, apenas criar a pasta em outra localização vai alarmar o SElinux e não vai funcionar.

Se quiser mudar pasta Home do usuário FTP, leia sobre SELinux e faça as devidas alterações.

Instalamos um servidor FTP, com foco em segurança.

Bom, é isto.
Abraço.

Leonardo Macedo Cerqueira

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Instalação

OUTGUESS: Oculte mensagens em fotos

Instalação do Varnish + Apache + Virtual Hosts

Discos Virtuais na Amazon WS - Como expandir disco EBS em servidores virtuais Amazon WS

PHP Server Monitor - Monitore URLs e IPs

Instalação do Gitlab e introdução ao Git

Como configurar um túnel com Vtun

#Vivaolinux, agora com canal IRC

Configuração e balanceamento de 2 links com Vivo ZAP

Servidor de Internet, Firewall, Logs - Ubuntu 10.04.3 LTS Lucid Lynx

Interoperabilidade monitorando servidores e estações Windows com servidor Linux usando MRTG

#1 Comentário enviado por jonatas.baldin em 18/10/2012 - 10:02h
Configurei o mesmo FTP praticamente igual semana passada. Ótimo artigo!
#2 Comentário enviado por danniel-lara em 18/10/2012 - 14:04h
Muito bom
Parabéns
#3 Comentário enviado por andrezc em 20/10/2012 - 21:27h
Gostei mesmo foi do título do negócio.

"vsf"tp. (:
#4 Comentário enviado por grandetilismo em 21/12/2013 - 16:06h
Excelente post.

Obrigado por postar.

Abraço.


'Os homens são miseráveis, porque não sabem ver nem entender os bens que estão ao seu alcance.'
Pitágoras
#5 Comentário enviado por andreasfelix em 21/01/2014 - 15:48h
exelente !
otimo conteudo.

Contribuir com comentário

Entre na sua conta para comentar.