En este post voy a hablar un poco de la configuración del archivo vsftpd.conf en Ubuntu. Este archivo nos servirá para configurar nuestro servidor FTP en nuestro Ubuntu.
Dentro del archivo /etc/vsftpd encontraremos los siguiente parámetros configurables:
anonymous_enable -> Se utiliza para definir si se permitirán los accesos anónimos al servidor. Acepta valores como YES o NO de acuerdo a lo requerido
anonymous_enable=YES
local_enable -> Establece si se van a permitir los accesos autenticados de los usuarios locales del sistema. Acepta valores como YES o NO de acuerdo a los requerido. Hay que tener en cuenta que el directorio raíz de un usuario no puede tener permisos de escritura.
write_enable=YES
anon_upload_enable y anon_mkdir_write_enable -> Ambas opciones vienen incluidas en la configuraciónpredeterminada. La opción anon_upload_enable especifíca si los usuarios anónimos tendrán permitido subir contenido al servidor. Por lo general no es una función deseada, por lo que acostumbra estar desactivada.
anon_upload_enable=NO
La opción anon_mkdir_write_enable especifíca si los usuarios anónimos tendrán permitido crear directorios enel servidor. Al igual que la anterior, por lo general no es una función deseada, por lo que se acostumbra desactivar esta.
anon_mkdir_write_enable=NO
anon_root -> Especifíca el directorio al cual tiene acceso el usuario anónimo.
anon_root=/FTP
ftpd_banner -> Esta opción viene incluida en nla configuración predeterminada. Sirve para establecer el banderín de bienvenida que será mostrado cada vez que un usuario acceda al servidor. Puede establecerse cualquier frase breve que consideres conveniente, pero sin signos de puntación.
ftpd_banner=Bienvenid@ al ftp de entruenosyceros.hol.es
Opciones chroot
Un grave problema de seguridad de los servidores FTP es que los usuarios locales tienen acceso a todo el árbol de directorios del servidor (aun que no tengan permiso de escritura). Para evitar eso se «enjaula» a los usuarios en su directorio home a través de chroot.
chroot en Sistemas Operativos Uniz es una operación que cambia el directorio raíz por defecto para el programa que se está ejecutando y todos sus hijos. Un programa ejecutado en este tipo de entorno no puede acceder a ficheros externos a ese directorio
Las opciones son:
chroot_local_user: Enjaula a los usuario en su directorio personal.
chroot_list_enable: Habilita la lista de usuarios que son excluidos de ser enjaulados.
chroot_list_file: Indica el fichero con la lista de usuario que son excluidos de ser enjaulados.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
Es necesario crear el fichero indicado en chroot_list_file para que funcione correctamente el servidor.