🗄️Segurança de servidores FTP
A segurança de servidores FTP é um aspecto crítico na proteção de dados e informações sensíveis. Devido à natureza inerente do protocolo FTP, que transmite dados em texto puro e não oferece criptografia. Muitos servidores FTP atuais, como o vsFTPD, oferecem a opção de utilizar uma chave para criptografar as informações.
Para instalar o vsFTPD, utilize o comando: yum install vsftpd -y
. Seu principal arquivo de configuração é o /etc/vsftpd/vsftpd.conf
.
Lembre-se de realizar a liberação da porta do FTP no firewall: firewall-cmd --add-service=ftp --permanent --zone=public
.
Configurações importantes
anonymous_enable=NO: desabilita o acesso via usuário anônimo.
anon_upload_enable=NO: desabilita o upload de arquivos pelo usuário anônimo.
anon_root=/var/ftp: diretório padrão do usuário anônimo.
anon_mkdir_write_enable=NO: desabilita a criação de diretórios pelo usuário anônimo.
local_enable=YES: habilita o login de usuários locais.
write_enable=YES: habilita o modo de escrita para usuários locais.
chroot_local_user=YES: impede que usuários saiam dos seus diretórios.
allow_writeable_chroot=YES: habilita a gravação no diretório do usuário.
Habilitando a criptografia
O primeiro passo é gerar uma nova chave para o serviço. Por características do vsFTPD, a chave não pode ser protegida por senha:
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout vsftpd.pem -out vsftpd.pem
openssl req -utf8 -new -key vsftpd.pem -x509 -days 365 -out vsftpd.crt
No arquivo vsftpd.conf
, adicione as seguintes configurações:
rsa_cert_file=/etc/pki/tls/certs/ftp/vsftpd.crt
rsa_private_key_file=/etc/pki/tls/certs/ftp/vsftpd.pem
ssl_enable=YES
Reinicie o serviço com o comando systemctl restart vsftpd
. Note que conexões sem criptografia não são mais permitidas:
$ ftp 10.10.10.237
Connected to 10.10.10.237.
220 (vsFTPd 3.0.2)
Name (10.10.10.237:centos): cristian
530 Non-anonymous sessions must use encryption.
ftp: Login failed
Instale o comando ftp-ssl
e o utilize para se conectar ao servidor:
$ ftp-ssl 10.10.10.237
Connected to 10.10.10.237.
220 (vsFTPd 3.0.2)
Name (10.10.10.237:centos): cristian
234 Proceed with negotiation.
[SSL Cipher DHE-RSA-AES256-SHA]
200 PBSZ set to 0.
200 PROT now Private.
[Encrypted data transfer.]
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
Conclusão
Este capítulo se dedicou a aspectos de segurança do FTP, especialmente boas práticas de configuração e criptografia das comunicações. Vale notar que a adoção de políticas de senhas robustas e a restrição cuidadosa do acesso a usuários autorizados contribuem para fortalecer a segurança dos servidores FTP.
Last updated