Para permitir una conexión segura a través de TLS en ProFTPD debemos editar el archivo /etc/proftpd/proftpd.conf cabe mencionar que siempre es importante tener una copia de seguridad de nuestros archivos de configuración por si sucede algún inconveniente.
[code language=»bash»]
cp /etc/proftpd.conf /etc/proftpd.conf.backup
[/code]
Nota: Antes de modificar el archivo de configuración «proftpd.conf» debemos generar el certificado de seguridad firmado por nosotros mismos y la llave, para ello los remito a certificados ssl centos 7.
Ahora si, vamos a modificar y adicionar las siguientes lineas en nuestro archivo de configuración «proftpd.conf».
[code language=»bash»]
[…]
DefaultRoot ~ !adm
# Agregamos los puertos 6000 y 6100 para permitir el modo pasivo en ftp
PassivePorts 6000 6100
[…]
[/code]
y
[code language=»bash»]
[…]
#<IfDefine TLS>
TLSEngine on
TLSRequired on
# Agregamos la ruta a nuestro certificado /etc/ssl/certs/proftpd-selfsigned.crt
TLSRSACertificateFile /etc/ssl/certs/proftpd-selfsigned.crt
# Agregamos la ruta a la llave de nuestro certificado /etc/ssl/private/proftpd-selfsigned.key
TLSRSACertificateKeyFile /etc/ssl/private/proftpd-selfsigned.key
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
# <IfModule mod_tls_shmcache.c>
# TLSSessionCache shm:/file=/var/run/proftpd/sesscache
# </IfModule>
#</IfDefine>
[…]
[/code]
También debemos agregar los puertos 6000 y 6100 al firewall.
[code language=»bash»]
firewall-cmd –add-port=6000-6100/tcp –permanent
firewall-cmd –reload
[/code]
Ademas debemos indicarle a SELinux que debe permitir la escritura y lectura de archivos.
[code language=»bash»]
setsebool -P allow_ftpd_full_access on
[/code]
Para finalizar reiniciamos el servicio de ProFTPD.
[code language=»bash»]
systemctl restart proftpd
[/code]
Realizamos una prueba de conexión.
Aceptamos el certificado
Se establece la conexión con éxito.
Nos vemos en la tercera parte :).