17 de marzo de 2013

Instalacion y Directivas de un Servidor FTP en Debian con VSFTPD

En este tutorial vamos a explicar como montar y configurar nuestro propio servidor FTP en Debian mediante el programa VSFTPD

Este programa es bastante sencillo de instalar y configurar por lo que vayamos al grano.


Como siempre antes de instalar nada nos aseguramos de tener el repositorio de programas actualizado mediante el comando:
apt-get update

Una vez actualizado procedemos a instalar el programa mediante el comando:
apt-get install vsftpd

Por defecto el directorio de nuestro servidor FTP estará en:

 /srv/ftp 

Como buen servicio en Debian vamos a tener que configurarlo mediante un fichero de configuración.

En este caso el vsftpd no tiene un directorio como tal si no que es un simple archivo localizado en:

/etc/vsftpd.conf

Para editarlo simplemente usamos:
nano /etc/vsftpd.conf

Con el siguiente comando podemos observar los logs de nuestro FTP para ver los errores que pudieran aparecer...
tail -f /var/log/vsftpd.log

Directivas de Configuracion en el Fichero /etc/vsftpd.conf

Una vez dentro de nuestro fichero de configuración, podemos observar que hay bastantes directivas.
Aquí vamos a explicar unas cuantas:

Local_enable

Si queremos permitir el uso del FTP a usuarios locales de la maquina tendremos que descomentar la siguiente línea.
local_enable=YES

Write_enable 

Si queremos darle a nuestro FTP permisos de escritura, descomentaremos la siguiente línea:
write_enable=YES

Annonymous_enable 

Si queremos permitir el acceso a usuarios anónimos a nuestro FTP dejaremos descomentada la siguiente línea:
annonymous_enable=YES

Annon_upload_enable y Anon_mkdir_write_enable

Si queremos que los usuarios anónimos que accedan a nuestro FTP puedan Subir archivos y Crear carpetas nos aseguraremos de que estas dos líneas estén descomentadas. (Aunque no está muy recomendado).
annon_upload_enable=YES
anon_mkdir_write_enable=YES

Enjaular usuarios 

Por defecto CUALQUIER usuario que entre en nuestro FTP podría tener acceso, aparte de a su carpeta personal, a TODA la ruta de carpetas de nuestra máquina.

Esto no es seguro con lo que para evitarlo tendremos que “aislar” las carpetas personales de cada usuario para que solo puedan ver su carpeta personal.

Para conseguirlo en nuestro fichero de configuración descomentaremos la siguiente línea:
chroot_local_user=YES

Aunque también podemos crearnos una lista, que filtre los usuarios que queramos que vean o no vean las carpetas de nuestra máquina.

Para ello descomentaremos, aparte de la anterior linea, la siguiente línea:
chroot_list_file=/etc/vsftpd.chroot_list

Para crear nuestra lista usaremos el siguiente comando:
nano /etc/vsftpd.chroot_list

Y dentro de este fichero vamos poniendo los nombres de usuarios de los cuales queramos que vean toda la ruta de carpetas, todo usuario que no salga aquí solo podrá ver su propia carpeta personal.

Añadir soporte SSL/TLS

Por defecto todos los datos enviados a través del protocolo FTP se hacen en texto plano, esto hoy en día, es MUY PELIGROSO, porque pueden averiguar muy fácilmente tanto nuestros nombres de usuarios como nuestras contraseña del FTP.

Para protegernos ante esto debemos añadirle a nuestro FTP soporte para SSL/TLS.
VSFTPD puede ser configurado fácilmente para utilizar los protocolos SSL/TLS a través de un certificado RSA.

Para crearnos un certificado RSA escribimos lo siguiente en nuestro terminal:
openssl req -x509 -nodes -days 1825 -newkey rsa:1024 –keyout vsftpd.key -out vsftpd.crt

Así que desde nuestro fichero de configuración añadiremos las siguientes líneas para añadirle los certificados que acabamos de crear y las configuraciones necesarias para que tenga el soporte para SSL/TLS.
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
rsa_cert_file=/root/vsftpd.crt
rsa_private_key_file=/root/vsftpd.key
ssl_ciphers=HIGH
require_ssl_reuse=NO

Ahora para poder conectarnos desde nuestro cliente FTP, tenemos que decirle que utilice o bien el sistema SSL o bien el sistema TLS. (El TLS es el más seguro).

Bueno, pues con esto acabamos otro post mas de tutoriales, espero que os sean de utilidad.

0 comentarios :

Publicar un comentario