Pplware

Como criar um servidor FTP seguro em 5 minutos

O FTP (File Transfer Protocol) continua a ser um dos protocolos mais usados para transferência de ficheiros. Neste segmento existem vários soluções sendo que uma das mais populares para Linux é sem dúvida o VSFTP uma vez que oferece várias funcionalidades das quais se destacam o suporte para IPv6 e SSL.

Depois de apresentarmos aqui como instalar e configurar um servidor FTP hoje vamos aprender como o tornar ainda mais seguro recorrendo a certificados SSL.

O vsftpd (Very Secure FTPD) é provavelmente um dos mais rápidos e seguros servidores de FTP para sistemas Linux. Este serviço oferece um conjunto de características das quais destacamos:

Uma vez que o vsftpd tem suporte para certificados SSL hoje vamos aprender como activar tal nível de segurança.

O que é o SSL?

O protocolo SSL – Secure Socket Layer é um protocolo que foi desenvolvido pela Netscape com o objectivo de garantir transacções seguras entre um servidor web e um browser. O protocolo utiliza uma entidade certificadora para identificar o servidor ou o servidor e o cliente. Saber mais sobre certificados digitais aqui.

O que é o Openssl?

O OpenSSL é uma implementação em código aberto dos protocolos SSL e TLS. Uma das funcionalidades consiste na criação de certificados X.509 que permitem confidencialidade em ligações com SSL (HTTPS) entre outros serviços. Os certificados digitais X.509 representam para o utilizador, o mecanismo de segurança mais visível no âmbito da certificação digital.

A primeira coisa que devem fazer (para quem ainda não o fez) é instalar o serviço. Toda a informação que precisa está disponível aqui.

Como configurar o vsftpd com SSL?

Antes de passarmos à configuração do servidor vamos proceder à criação dos certificados SSL. Para isso vamos criar um directório (ex. /etc/ssl/private) para criarmos lá dentro os nossos certificados.

mkdir /etc/ssl/private

Para criar o certificado e respectiva chave privada, num único ficheiro, devem executar o seguinte comando:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Nota: No Common Name devem indicar o nome da vossa máquina.

Uma vez criado o certificado, vamos à configuração do vsftp indicar o caminho do mesmo para que as comunicações passem a ser seguras/cifradas.

Para isso abrimos o ficheiro de configuração:

nano /etc/vsftpd/vsftpd.conf

…e depois acrescentamos as seguintes linhas:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Vamos agora activar o SSL no VSFTP e desactivar o acesso a utilizadores anónimos (por SSL). Para isso devem usar, no ficheiro de configuração, as seguintes directivas:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

Vamos agora forçar que seja usado TLS, em vez de SSL, uma vez que este último protocolo garante ainda mais segurança.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Por fim acrescentem as duas últimas linhas para garantir ainda mais segurança. Basicamente é dar indicação para que seja usada a cifra máxima e o require_ssl_reuse a no para que todas as ligações deixem de apresentar informações sobre a sessão SSL estabelecida anteriormente.

require_ssl_reuse=NO
ssl_ciphers=HIGH

E está feita a configuração do SSL no VSFTP. Vamos agora reiniciar o serviço para que as configurações anteriores sejam aplicadas. Para isso basta usar o comando:

/etc/init.d/vsftpd restart

Como aceder remotamente ao FTP?

Depois de instalado e configurado o serviço de  FTP, o acesso pode ser realizado via um simples browser ou através de uma aplicação cliente para FTP (ex. FileZilla, fireFTP, WinSCP). Neste exemplo vamos usar o FileZilla.

Nota: Verifiquem se têm a firewall a bloquear ligações externas.

Para aceder ao serviço de FTP remoto basta indicar:

Como podem ver na imagem seguinte, antes de acederem à vossa conta de FTP será apresentada parte da informação relativa ao certificado criado e a indicação que a comunicação está a usar o protocolo de segurança Transport Layer Security (TLS). Isto quer dizer que todas as comunicações entre o servidor e o PC (e vice-versa) serão cifradas.

Esperamos que este tutorial seja útil e brevemente vamos ensinar como realizar mais algumas afinações tanto ao nível de segurança como ao nível do próprio funcionamento do VSFTP. Estejam atentos.

Exit mobile version