Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.
O protocolo ftp é um protocolo inseguro, uma vez que transmite todos os dados (incluindo os nomes de utilizadores e respectivas senhas) em modo de texto, podendo ser facilmente interceptados e capturados por terceiros.
No entanto o servidor ProFTPD pode ser configurado de modo a exigir a autenticação dos utilizadores e a encriptação de dados, se for activado o suporte TLS (Transport Layer Security).
Na configuração por omissão do ProFTPD (ver 4.2.1. ProFTPD), o suporte TLS (mod_tls.c) está desactivado. A activação é feita em duas fases: em primeiro ligar deverá ser configurado o módulo TLS no ficheiro de configuração /etc/proftpd/tls.conf e em seguida incluir esta configuração no ficheiro de configuração principal /etc/proftpd/proftpd.conf.
A configuração do módulo TLS é feita no ficheiro /etc/proftpd/tls.conf:
# [...] <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 # [...] # Server SSL certificate. # [...] # [...] TLSRSACertificateFile /etc/ssl/certs/server.crt TLSRSACertificateKeyFile /etc/ssl/private/server.key.insecure # [...] # Are clients required to use FTP over TLS when talking to this server? # TLSRequired on # [...]
Os certificados usados em TLSRSACertificateFile e TLSRSACertificateKeyFile foram gerados anteriormente, em Certificados Ssl Auto-Assinados. A opção TLSRequired on obriga a que os clientes ftp usem o protocolo TLS, caso contrário não aceitará ligações. Se esta opção for desligada (TLSRequired off), o servidor aceitará ligações seguras e não seguras.
Em seguida esta configuração deverá ser incluída no ficheiro de configuração principal /etc/proftpd/proftpd.conf:
# [...] # # This is used for FTPS connections # Include /etc/proftpd/tls.conf # [...]
Por último, reiniciar o serviço ftp para activar as alterações:
root@server:~# /etc/init.d/proftpd restart
O servidor ftp com suporte TLS pode ser acedido através de um cliente ftp que suporte o protocolo TLS, como o Filezilla. Deverá ser indicado pretendemos uma ligação ao servidor ftp explicitamente sobre TLS:
Imediatamente após o estabelecimento da ligação é mostrado o certificado utilizado, sendo pedida a confirmação que é fiável:
Após aceitação do certificado, todas as comunicações cliente/servidor serão encriptadas e seguras.