Vsftp - Instalação de um servidor FTP focado em segurança [Artigo] - página 2
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.
Por: Leonardo Macedo Cerqueira em 18/10/2012 | Blog: http://devopslab.com.br/
Instalação do VSFTP
# yum install vsftpd.x86_64
Colocando na inicialização:
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.
#Remove acesso anônimo.
#Permite acesso a usuários do sistema operacional.
#Configura o servidor FTP, como apenas Leitura, ou escrita. No nosso caso, é apenas um servidor para download, só leitura, então:
#Arquivo de Logs do FTP.
# Esta linha, vai limitar o acesso dos usuários FTP, apenas ao seu HOME.
#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.
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:
Configuramos o servidor de FTP. Faça um reboot, para todas as configurações surtirem efeito e deixar o servidor zerado para os 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
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.
[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
[3] Comentário enviado por andrezc em 20/10/2012 - 21:27h
Gostei mesmo foi do título do negócio.
"vsf"tp. (:
Gostei mesmo foi do título do negócio. "vsf"tp. (:
[4] Comentário enviado por grandetilismo em 21/12/2013 - 16:06h
'Os homens são miseráveis, porque não sabem ver nem entender os bens que estão ao seu alcance.'
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