vsftpd es un servidor FTP que debería ser «Very Secure FTP», pero que por defecto es justo lo contrario. Con un poco de trabajo, podemos dejarlo bastante mejor, que es precisamente, lo que voy a mirar de describir a continuación.
Lo que queremos es forzar a los clientes a usar FTP+TLS Explícito, en lugar de FTP simple, para forzar comunicaciones cifradas. Además, usaremos FTP pasivo, enjaularemos a los usuarios y crearemos un listado de usuarios que puedan conectar, para tener controlados a los usuarios FTP.
Las pruebas se han realizado sobre un servidor CentOS 5.4 con vsFTPd 2.0.5.
En primer lugar, si no lo tenemos ya, podremos instalar vsftpd desde yum.
[root@MyServer]# yum install vsftpd
Certificado SSL
A continuación, generaremos el certificado para el SSL y le daremos los valores adecuados:
[root@MyServer]# openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pemCountry Name (2 letter code) [GB]:ES
State or Province Name (full name) [Berkshire]:Spain
Locality Name (eg, city) [Newbury]:Barcelona
Organization Name (eg, company) [My Company Ltd]:Mi Empresa S.A.
Organizational Unit Name (eg, section) []: IT
Common Name (eg, your name or your server’s hostname) []:midominio.com
Email Address []:
Una vez generado, cambiaremos los permisos del fichero:
[root@MyServer]# chmod 600 /etc/vsftpd/vsftpd.pem