Um servidor FTP (File Transfer Protocol) é um computador ou software dedicado a armazenar arquivos e permitir a transferência de dados entre um cliente e um servidor através de uma rede TCP/IP. Para configurá-lo com segurança, é crucial abandonar o FTP tradicional, que transmite dados e senhas em texto claro, e adotar protocolos modernos e criptografados como o SFTP (baseado em SSH) ou o FTPS, além de aplicar regras rígidas de firewall e autenticação via chaves criptográficas.
Principais Aprendizados
- O FTP padrão (porta 21) é altamente vulnerável a interceptações, pois não possui criptografia nativa.
- Para transferências seguras, o padrão da indústria é o SFTP (SSH File Transfer Protocol), que opera na porta 22.
- A segurança de um servidor de arquivos exige a desativação de logins por senha e a implementação de chaves SSH, além do isolamento de usuários (Chroot Jail).
Como o FTP funciona na prática?
O protocolo FTP foi criado na década de 1970, muito antes de a segurança cibernética ser uma preocupação global. Ele opera em um modelo cliente-servidor, onde o usuário utiliza um software cliente (como o FileZilla ou o WinSCP) para se conectar ao servidor. A comunicação original exige duas portas: a porta 21 para o controle (envio de comandos) e a porta 20 para a transferência efetiva dos dados.

Embora eficiente, o FTP tradicional foi documentado na RFC 959 da IETF sem nenhum mecanismo de ofuscação. Isso significa que qualquer invasor na mesma rede pode usar um sniffer (como o Wireshark) para capturar o tráfego, lendo nomes de usuário, senhas e o conteúdo dos arquivos transferidos perfeitamente.
O grande problema do FTP e a evolução para FTPS e SFTP
Diante das vulnerabilidades gritantes, a comunidade de tecnologia desenvolveu alternativas seguras. Hoje, configurar um servidor FTP seguro significa, na verdade, não usar o FTP puro. Você tem duas opções viáveis:
FTPS (FTP over SSL/TLS)
O FTPS é uma extensão do protocolo original que adiciona uma camada de criptografia SSL/TLS. Ele criptografa tanto o canal de comando quanto o canal de dados. No entanto, ele pode ser complexo de configurar em firewalls, pois utiliza múltiplas portas dinâmicas para a transferência de dados.
SFTP (SSH File Transfer Protocol)
O SFTP não é um FTP real. Ele é um subsistema do protocolo SSH (Secure Shell). Sendo a escolha recomendada por órgãos como o NIST (National Institute of Standards and Technology), o SFTP utiliza apenas uma porta (geralmente a 22) para comandos e dados, facilitando a configuração de firewalls e garantindo que tudo seja criptografado de ponta a ponta.
Como configurar um servidor FTP com segurança (Passo a Passo)
Abaixo, detalhamos as melhores práticas para subir um servidor de arquivos seguro, utilizando o OpenSSH (SFTP) em um ambiente Linux (Ubuntu/Debian), que é o padrão ouro para servidores web modernos.

1. Instalação do Serviço
Em vez de instalar servidores FTP legados como o vsftpd ou o ProFTPD, utilizaremos o OpenSSH, que já vem pré-instalado na maioria das distribuições Linux. Certifique-se de que ele está atualizado rodando os comandos de atualização de pacotes do seu sistema operacional.
2. Isolamento de Usuários (Chroot Jail)
Um erro comum é dar acesso SFTP a um usuário e permitir que ele navegue por todo o sistema de arquivos do servidor. Para evitar isso, editamos o arquivo de configuração do SSH (/etc/ssh/sshd_config) e configuramos uma "Chroot Jail". Isso prende o usuário em seu próprio diretório raiz, impedindo que ele acesse arquivos do sistema ou de outros usuários.
3. Autenticação por Chaves e Fim das Senhas
O uso de senhas é o elo mais fraco da segurança cibernética. A melhor prática é desativar o login por senha e exigir que os usuários se conectem utilizando uma chave pública e privada. Isso elimina ataques de força bruta, pois a chave criptográfica é matematicamente impossível de ser adivinhada.
4. Hardening e Firewall
Por fim, é essencial aplicar técnicas de hardening. Isso inclui alterar a porta padrão de 22 para uma porta alta (como 2222) para evitar varreduras automatizadas de bots, e configurar o firewall (UFW ou iptables) para permitir conexões apenas de IPs conhecidos e confiáveis.
Perguntas Frequentes
Qual a diferença entre FTP e SFTP?
O FTP transmite dados e senhas em texto claro sem nenhuma proteção, enquanto o SFTP utiliza o protocolo SSH para criptografar toda a comunicação, protegendo os dados contra interceptação.
Qual porta o servidor FTP utiliza?
O FTP tradicional utiliza as portas 21 (para comandos) e 20 (para dados). Já o protocolo seguro recomendado, o SFTP, utiliza a porta 22, a mesma do acesso remoto via SSH.
Ainda vale a pena usar o FTP tradicional hoje em dia?
Não. O uso do FTP tradicional só é aceitável em redes locais fechadas (LAN) ou para downloads públicos anônimos onde os dados não são sensíveis. Para qualquer transferência pela internet, o uso de SFTP ou FTPS é obrigatório.
0 Comentários