sábado, 13 de agosto de 2011

FTP Seguro com Proftpd + SSL tutorial rápido e prático (Parte2)

INTRODUÇÃO
 
Na parte 1 desse tutorial realizamos a configuração básica do proftpd e nos familiarizamos com alguns conceitos que nos fez entender melhor o seu funcionamento.
Nessa parte do tutorial iremos implementar o FTPs, ou seja a transferência segura dos arquivos via FTP utilizando certificados.
Esse tutorial é uma continuação dessa forma é necessário termos finalizado com êxito a parte anterior.


O QUE FOI UTILIZADO

Além do que foi utilizado na parte 1 desse tutorial aqui iremos precisar do pacote Openssl que será utilizado para gerar os certificados

INSTALAÇÃO E CONFIGURAÇÃO

Instale o pacote openssl:
#apt-get install openssl

Crie uma pasta em /etc/proftpd/certs e navegue até ela:
#mkdir /etc/proftpd/certs
#cd /etc/proftpd/certs

Utilize os comandos abaixo para gerar a chave primária, o pedido de assinatura, e o certificado:

Obs: Esse comando irá pedir uma senha que deverá ser digitada para possibilitar a geração da chave privada.
#openssl genrsa -des3 -out server.key 1024

Obs: Esse comando irá pedir a mesma senha digitada na geração da chave privada.
#openssl rsa -in server.key -out server.key.insecure

Obs: Esse comando irá pedir uma série de informações que podem ser preenchidas ou simplesmente aceitarmos as opções default utilizando enter.
#openssl req -new -key server.key.insecure -outform PEM -out server.csr

Obs: Esse comando irá pedir a mesma senha digitada na geração da chave privada.
#openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Explicando:
server.key 1024 É a chave privada com criptografia de 1024 bits.
server.key.insecure É a mesma chave privada sem password, isso se faz necessário pelo simples fato de que se utilizarmos uma chave com password será necessário digitar a senha cada vez que o proftpd for inicializado.

server.csr É pedido de assinatura da certificação
server.crt É o certificado auto-assinado.

-days 365 É o tempo o qual o certificado será válido (365 dias = 1 ano), aumente se necessário.

Com os certificados gerados localize as linhas abaixo em nosso arquivo de configuração do /etc/proftpd/proftpd.conf e retire os comentários para ativarmos o suporte ao FTPs:

LoadModule mod_sftp_pam.c
LoadModule mod_sftp.c
< IfModule mod_tls.c > TLSEngine on
TLSRequired on
TLSVerifyClient off
TLSProtocol SSLv23
TLSLog /var/log/proftpd_tls.log
TLSRSACertificateFile /etc/proftpd/certs/server.crt
TLSRSACertificateKeyfile /etc/proftpd/certs/server.key.insecure
TLSRenegotiate required off
< /IfModule >
Reinicie o servidor profptd:
#/etc/init.d/proftpd restart

CONFIGURAÇÃO DOS CLIENTES.

A transferência segura já está ativa, sendo assim você só conseguirá acessar o FTP com um cliente compatível e configurados corretamente.

Para clientes Linux via linha de comando você pode utilizar o ftp-ssl:
#apt-get install ftp-ssl
$ftp-ssl

E para linux e Windows graficamente o Filezilla que possui cliente para diversas plataformas, downloads no link abaixo:

Para o filezilla:
-Abra o gerenciador de sites;
- Clique em novo site;
- Host “ip do servidor”;
- Protocolo escolha “FTP protocolo de transferência de arquivos”;
- Encriptação “Requer FTP sobre TLS Explícito”;
- Tipo de logon “normal”;
- Usuário “suporte, itn2”;
- Senha “correspondente ao usuário”;
Veja a imagem abaixo:
Obs: O login anônimo com ssl ativo não irá funcionar.

CONCLUSÃO

A implementação de FTP com transferência aqui mostrada foi bastante simples mas ao mesmo tempo oferece uma segurança considerável levando em consideração que estamos utilizando chaves criptografadas em 1024 bits.
Espero que para aqueles que não possuíam familiaridade com ftps sobre a plataforma Linux consigam com esse tutorial utilizar o proftpd sem maiores problemas.

Abraço a todos.
Irineu Teza Nunes.


REFERÊNCIAS

MORIMOTO, Carlos. Instalando um servidor ftp. Disponível em: < http://www.hardware.co m.br/livros/servidores-linux/instalando-servidor-ftp.html > Acesso em: 08 de ago. 2011.

RIBEIRO, Pinguim. Proftpd + tls/ssl. Disponível em: Acesso em: 07 ago. 2011.

RIBEIRO, Pinguim. Certificados ssl auto-assinados. Disponível em: < http://pinguimribeiro.wikidot.com/ssl-cert-self > Acesso em: 07 ago. 2011.

LIST, of raw command. Disponível em: < http://www.nsftools.com/tips/RawFTP.htm > Acesso em 08 ago. 2011.

FILE, transference protocol. Disponível em: < http://en.wikipedia.org/wiki/File_Transfer_Protocol > Acesso em: 08 ago. 2011.

Um comentário:

  1. Legal o seu post Irineu! Como faço pra trocar a porta padrao 22 por 2222?

    ResponderExcluir