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.
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
#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 >
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
Reinicie o servidor profptd:
#/etc/init.d/proftpd restart
#/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
$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”;
- 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.
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.
Legal o seu post Irineu! Como faço pra trocar a porta padrao 22 por 2222?
ResponderExcluir