¿Qué es VSFTP?
La traducción de las siglas son Very Secure File Transfer Protocol Deamon (VSFTP) y es uno de los servicios de FTP seguros mas usados hoy en día. En algunas de las distribuciones como Ubuntu, CentOS, Fedora, etc suele venir instalado por defecto.
Aparte de una instalación correcta nos centraremos también en ciertos aspectos de seguridad que nos ayudaran a tener el entorno FTP controlado.
VSFTP, Puntos a tratar
- Instalación
- Configuración
- Configurando TLS/SSL/FTPS
Instalación
Lo que haremos es la instalación desde los paquetes oficiales de nuestra distribución, por lo tanto instalaremos la versión paquetizada para nuestro sistema.
apt-get install vsftpd
Configuración
Toda las configuraciones del VSFTP se realizaran a través del fichero «/etc/vsftpd.conf».
Deshabilitando el acceso anónimo: Esto hará que nadie se pueda conectar de forma anónima en nuestro FTP.
anonymous_enable=NO
Estas dos opciones siguientes permitirán que los usuarios locales del sistema puedan acceder por ftp y además puedan escribir en los directorios.
local_enable=YES write_enable=YES
Enjaulado de usuarios: Existen varias maneras para poder enjaular a los usuarios dentro de su espacio FTP. Nosotros hemos elegido «El usuario que entra no puede volver atrás de su directorio HOME». Por lo tanto solo podrá navegar desde su directorio HOME en adelante.
Puede que suene evidente esto, pero por defecto puedes navegar por todo el servidor. Por lo tanto es una buena medida de seguridad.
Para ello necesitamos poner estas directivas:
chroot_local_user=YES chroot_list_enable=NO
Permitiendo o Denegando Acceso FTP a usuarios: Esta es una parte opcional ya que es para hacer aún más restrictivo el acceso por FTP a ciertos usuarios. Con la configuración anterior cualquier usuario que tenga una shell válida (excepto root) puede acceder a su directorio HOME por FTP.
- Denegar el acceso a ciertos usuarios FTP
userlist_deny=YES userlist_file=/etc/vsftpd.denied_users
Es evidente que tenemos que crear el fichero que le estamos pasando con un usuario por cada línea.
- Permitir el acceso sólo a ciertos usuarios FTP
userlist_deny=NO userlist_enable=YES userlist_file=/etc/vsftpd.allowed_users
Como en el punto anterior, tenemos que crear el fichero que le estamos pasando y solo tendrá acceso por FTP aquellos usuarios que especifiquemos.
Configurando TLS/SSL/FTPS
Si algo que hacemos hincapié es el tema de seguridad este es el punto donde nos podemos lucir con creces.
Las contraseñas cuando no tenemos este método activado viajan en texto plano, por lo tanto cualquier persona que haga sus labores para obtener la clave lo tiene más fácil. Ahora bien nosotros lo pondremos un poco más difícil cifrando dicha comunicación.
ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO # Filezilla uses port 21 if you don't set any port # in Servertype "FTPES - FTP over explicit TLS/SSL" # Port 990 is the default used for FTPS protocol. # Uncomment it if you want/have to use port 990. # listen_port=990
Conclusión
Gracias a esta guía tendremos un cliente FTP seguro que nos permitirá transferir nuestros ficheros cifrados al igual que nuestras contraseñas. Aparte de ello hemos configurado internamente el servidor para que cada usuario quede enjaulado en su directorio HOME.