SERVIDOR FTP + TLS/SSL – DEBIAN 8
INSTALAÇÃO
[terminal]# apt-get install proftpd[/terminal]
CONFIGURANDO
Agora abra o arquivo /etc/proftpd/proftpd.conf para configurar o Proftpd, o arquivo básico para uma configuração onde se quer autenticação de usuários seria:
ServerName "Meu Servidor de FTP" ServerType standalone DeferWelcome off ServerIdent off MultilineRFC2228 on DefaultServer on ShowSymlinks on AllowOverwrite on DirFakeUser on DirFakeGroup on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayFirstChdir .message ListOptions "-l" DenyFilter *.*/ WtmpLog off SystemLog /var/log/proftpd/proftpd.log TransferLog /var/log/proftpd/xferlog Port 21 MaxInstances 30 User proftpd Group nogroup DefaultRoot ~ Umask 022 022 AllowOverwrite on RequireValidShell off
CRIANDO USUÁRIOS
Com o comando abaixo você cria o usuário, se no campo do arquivo DefaultRoot você especificar um caminho padrão, não é necessário no comando abaixo a opção –home.
[terminal]# adduser –home /home/ftp/rodrigo –shell /bin/false –no-create-home rodrigo[/terminal]
Não se esqueça de dar permissões para a pasta ftp, para um grupo determinado de usuários ou usuários específicos, seja como for utilize algo do tipo abaixo :
[terminal]# chown -R rodrigo:rodrigo /home/ftp/rodrigo[/terminal]
CONFIGURAÇÕES ADICIONAIS PARA DISTROS DERIVADAS (UBUNTU)
-
HABILITAR FTP NO FIREWALL (TALVEZ OPCIONAL)
Em testes no Ubuntu 14.04 foi preciso adicionar a porta 21, ou a que estiver utilizando para ficar aberta, ou escutando no firewall. Habilite com o seguinte comando abaixo, troque o 21 pela porta que estiver utilizando:
[terminal]# iptables -A INPUT -p tcp –dport 21 -j ACCEPT[/terminal]
-
HABILITAR LOGIN SEM SHELL (REALMENTE PRECISO)
Em distribuições derivadas do Debian, você vai precisar adicionar a linha “/bin/false” no final do arquivo /etc/shells para que ele possa ser usado:
[terminal]# echo “/bin/false” >> /etc/shells[/terminal]
Feito isso, você já conseguirá se logar no servidor usando o login criado.
A senha de acesso ao FTP é a mesma definida na hora de criar o usuário. O Proftpd simplesmente aproveita o sistema de autenticação do sistema. Se você precisar alterar a senha do usuário, use o comando “passwd $USER”.
UTILIZANDO SSL/TLS NA COMUNICAÇÃO
-
CRIANDO CERTIFICADO TLS
Vamos criar uma pasta especifica para colocar o certificado como comando abaixo:
[terminal]# mkdir /etc/proftpd/ssl[/terminal]
Depois geramos com o seguinte comando:
[terminal] # openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem[/terminal]
Dado o comando, ele pedirá que informe alguns dados como os abaixo, informe de acordo com seu ambiente:
Country Name (2 letter code) [AU]: <-- Entre como o nome do País. Ex.:BR State or Province Name (full name) [Some-State]:<-- Entre como o Estado Ex.:Paraíba. Locality Name (eg, city) []:<-- Entre como o nome da cidade. Ex.: João Pessoa Organization Name (eg, company) [Internet Widgits Pty Ltd]:<-- Nome da organização ou empresa. Organizational Unit Name (eg, section) []:<-- Unidade organizacional. Common Name (eg, YOUR name) []:<-- Entre como FQDN Ex.:"server1.example.com"). Email Address []:<-- Endereço de e-mail.
-
HABILITANDO O TLS NO PROFTPd
Abra o arquivo /etc/proftpd/proftpd.conf e descomente a linha abaixo:
Include /etc/proftpd/tls.conf
Crie um arquivo de backup do arquivo /etc/proftpd/tls.conf, gere um novo zerado e edite-o com, seguindo assim os três comando abaixo:
[terminal user=”dak”]# cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
# cat /dev/null > /etc/proftpd/tls.conf
# vi /etc/proftpd/tls.conf
[/terminal]
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule>
Se utilizar “TLSRequired on”, como acima, só serão permitidas conexões TLS, se porém deixar comentada, será permitido ambas conexões, TLS e non-TLS, isso dependendo do suporte do cliente FTP.
Depois reinicie o serviço:
[terminal]/etc/init.d/proftpd restart[/terminal]
Obs.: Sem TLS o FTP pode ser utilizado até em navegadores, porém com TLS utilize clientes que suportem TLS como WinSCP ou FileZilla.
FONTES:
http://wiki.ubuntu-br.org/proftpd
https://www.howtoforge.com/setting-up-proftpd-tls-on-debian-squeeze
Publicar comentário