Tabela de Conteúdos

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.

4.2.3 Acesso seguro FTPS (TLS/SSL)

Objectivo

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).

Configuração

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:

/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:

/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

Utilização

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.

Caso o servidor ftp permita o acesso anónimo, este continua activo, ou seja, continuam a ser permitidas sessões anónimas, ainda que a troca de dados se faça de modo encriptado. Para garantir que apenas utilizadores autorizados possam aceder ao servidor ftp o acesso anónimo deve ser desactivado.

Referências: