Tutorial: Configurar um servidor de FTP seguro em 5 minutos

As distribuições GNU/Linux têm as características perfeitas para implementar os mais diversos serviços de rede. As configurações dos serviços são normalmente realizadas em ficheiros, de uma forma simples e rápida, e a gestão dos próprios serviços é também bastante flexível.

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.

Iremos ensinar a instalar o servidor de FTP ProFTPD no Ubuntu em pouco menos de 5 minutos! Basta que sigam o nosso tutorial.

ftp_proftpd_linux

O ProFTPD é um servidor de FTP Open Source, altamente personalizado e que garante a melhor segurança (se bem configurado).

Antes de seguirmos a diante com nossa instalação vamos dar uma olhada rapidão sobre o que é SSL e OpenSSL.

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.

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.

Para instalar o Proftpd Server no Ubuntu basta que sigam os seguintes passos:

Passo 1) Instalar o ProFTPd e OpenSSL

Para começar vamos mudar para a conta root por causa dos privilégios (sudo su). Em seguida procedam à instalação do proftpd e openssl usando o segundo comando:

sudo su
apt-get -y install proftpd openssl

Durante a instalação, o utilizador será questionando de que forma pretendem executar o ProFTPd. Para tal devem escolher a opção Standalone.

Por questões de segurança devem proceder às seguinte alterações no ficheiro  /etc/proftpd/proftpd.conf

ProFTPd_00_commit_linux

nano –w /etc/proftpd/proftpd.conf

[...]
DefaultRoot ~
ServerIdent on "Servidor FTP está pronto"
[...]

A primeira opção define que os utilizadores que se ligam por FTP só podem aceder ao seu directório pessoal. O segundo parâmetro é uma mensagem opcional que é apresentada quando um utilizador se liga ao servidor.

Passo 2) Criar certificados SSL

Para criarem os certificados necessário para usar no TLS (Transport Layer Security) devem usar os seguintes comandos:

Primeiro criem um diretório onde vão guardar os certificados

mkdir /etc/proftpd/ssl

Em seguida usem o seguinte comando para gerar os certificados SSL

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

Por fim devem definir permissões de leitura e escrita para os certificados criados:

chmod 600 /etc/proftpd/ssl/proftpd.*

3) Activar o TLS no ProFTPd

Para activar o protocolo TLS no ProFTPd que permitirá ligações seguras dos clientes ao servidor, devem abrir o ficheiro /etc/proftpd/proftpd.conf e incluir a linha:

/etc/proftpd/tls.conf

Em seguida editamos o ficheiro /etc/proftpd/tls.conf e definimos os seguintes parâmetros:


<ifmodule mod_tls="" c="">
TLSEngine                    on
TLSLog                       /var/log/proftpd/tls.log
TLSProtocol                  TLSv1.2
TLSCipherSuite               AES128+EECDH:AES128+EDH
TLSOptions                   NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile        /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile     /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient              off
TLSRequired                  on
RequireValidShell            no
</ifmodule>

Por fim, para reiniciar o serviço devem usar o comando

systemctl restart proftpd.service

4) Criar um utilizador

Depois de instalado e configurado correctamente o proftpd vamos criar um utilizador para acesso. Neste caso pretendemos que o utilizador apenas se consiga autenticar por FTP e não por SSH ou terminal. Para isso, no comando useradd, devem incluir a opção –shell /bin/false.

useradd --home /home/commitlinuxFTP --create-home --shell /bin/false commitlinuxFTP

Depois de criado o utilizador definam uma password para o mesmo:

passwd commitlinuxFTP

5) Testar

Agora que já temos o serviço configurado e o utilizador criado é hora de testarem o serviço. Para isso usem um cliente de FTP, como por exemplo o Filezilla e criem um perfil com os seguintes dados:

  • Host: IP do servidor
  • Protocol: FTP
  • Encryption: Require explicit FTP over TLS
  • Logon Type: Normal
  • User: commitlinuxFTP
  • Password: a definida no passo anterior

Se tudo estiver bem definido e não houver erros, devem conseguir ligar-se ao servidor em instantes. Durante a ligação devem ainda receber a informação de que a comunicação está a fazer uso de um certificado de segurança SSL.

 

Fonte

Compartilhe essa Informação