Dungeon of Bits
Aprendiendo informática.
Dungeon of Bits

Configuración del servidor FTP ProFTPd como FTPS

En este tutorial configurarás tu servidor ProFTPD para que sea más seguro utilizando FTPS.

Requisitos:

Para esta práctica solamente necesitas un equipo con sistema operativo Linux Ubuntu (u otra distribución basada en Debian) con el servidor FTP ProFTPD instalado en él, y otro equipo en la misma red para hacer las pruebas.

Instalación de OpenSSL:

sudo apt install openssl

Crear el certificado para TLS:

Primero crea un directorio para guardar el certificado, puedes guardarlo en el mismo directorio de proftpd:

sudo mkdir /etc/proftpd/ssl

En el directorio anterior genera el certificado SSL con el siguiente comando:

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

OpenSSL te preguntará unos cuantos datos, debes ir entrando las respuestas:

configurar FTPS proftps en ubuntu

Este código genera dos ficheros uno con el certificado y otro con la clave. Para asegurarnos que nadie más tiene acceso cambia los permisos sobre ellos:

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

configurar FTPS proftps en ubuntu

Activar TLS en la configuración de ProFTPD:

En el fichero de configuración de proftpd (/etc/proftpd/proftpd.conf) debes descomentar la línea siguiente:

configurar FTPS proftps en ubuntu

Y editar el fichero para la configuración TLS: /etc/proftpd/tls.conf, el cual debe quedar así:

<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>

La línea TLSRequired on indica que solamente se podrán conectar clientes FTP a nuestro servidor que utilicen TLS, dando un error de conexión los clientes que no lo utilicen.

Comentando dicha línea se da acceso a los clientes que tengan TLS y a los que no, y es el cliente quién elige la seguridad de la conexión.

Cuando conectes con un cliente como Filezilla te mostrará un mensaje con los datos del certificado para que confirmes si deseas continuar la conexión.

configurar FTPS proftps en ubuntu

Seguridad extra en la configuración:

Uno de los factores de riesgo a la hora de utilizar software es que los atacantes sepan qué software y versión estamos utilizando, para evitar que cualquiera sepa la versión de ProFTPD que corre en nuestro equipo podemos hacer que ProFTPD solamente muestre un mensaje pero no la versión, para ello deberás editar /etc/proftpd/proftpd.conf y escribir la siguiente línea:

ServerIdent on "Bienvenido al servidor DOOM."

Con el mensaje que quieras entre comillas.