Cuando instalamos el sistema operativo NAS4Free en un sistema, por defecto no está activado el acceso al servidor FTP vía SSL/TLS. Para activarlo no vale sólo con activar la correspondiente casilla sino que tendremos que crear un certificado RSA y autofirmarlo para que sea válido. En esta entrada os enseñamos cómo crear este certificado con un par de comandos en cualquier terminal Linux con OpenSSL instalado.
Antes de empezar, debemos decir si tenemos el acceso vía web (administración) activado con HTTPS, el propio sistema crea una clave privada RSA de 1024bits y el correspondiente certificado autofirmado. Este mismo certificado autofirmado y la clave privada RSA nos servirá perfectamente si lo copiamos en el FTP, sin embargo esta clave privada es de tan sólo 1024bits.
Para generar nuevos certificados, tenemos que poner los siguientes comandos en un terminal:
openssl genrsa -out /home/bron/privada.key 4096
Siendo /home/bron/privada.key la ruta de la clave privada, y 4096 la longitud de la clave RSA.
A continuación debemos autofirmar la clave privada y generar el correspondiente certificado:
openssl req -new -x509 -days 1460 -key /home/bron/privada.key -out /home/bron/ca.crt
Siendo 1460 los días en los que el certificado caducará, /home/bron/privada.key la ruta donde se encuentra la clave privada RSA y /home/bron/ca.crt la ruta de salida del nuevo certificado autofirmado que estamos haciendo.
Una vez que hayamos hecho esto, abrimos con cualquier editor de texto los dos archivos. A continuación copiamos y pegamos todo el documento a las correspondientes casillas de NAS4Free, viene perfectamente indicado si entramos vía web tal y como podéis ver aquí:
De esta forma habremos añadido un extra de seguridad a nuestro servidor FTP, aunque debemos tener en cuenta que el rendimiento se verá afectado. Puedes ver el error de SSL HANDSHAKE en Chrome.
En la mayoría de documentación que hay en Internet, el comando que usan es este:
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Pero no funciona en NAS4Free, no detecta correctamente la clave privada, y si conseguimos que la detecte (añadiendo al principio RSA), no conectará con nuestro cliente FTPES. Por este motivo hemos realizado este manual, para los usuarios de NAs4Free.
Os recomendamos leer el tutorial cómo configurar e instalar el servidor FTP ProFTPd para Linux.