Como configurar vsftpd
www.onlinetis.com
Configurar vsftpd: Guía Paso a Paso 📁
vsftpd, que significa "very secure FTP daemon", es un servidor FTP rápido y seguro. A continuación te explicamos cómo configurarlo en un servidor Linux.
1. Instalación de vsftpd
El primer paso es instalar el paquete vsftpd. El comando varía dependiendo de la distribución de Linux que estés usando:
En sistemas basados en Debian/Ubuntu:
Bashsudo apt-get update sudo apt-get install vsftpd
En sistemas basados en CentOS/RHEL/Fedora:
Bashsudo yum install vsftpd
2. Configuración del Firewall (FirewallD o UFW) 🧱
Para permitir las conexiones FTP, necesitas abrir los puertos necesarios en el firewall. El puerto predeterminado para FTP es el 21.
Si usas UFW (Ubuntu/Debian):
Bashsudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp sudo ufw status
Si usas FirewallD (CentOS/RHEL):
Bashsudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=40000-50000/tcp sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload sudo firewall-cmd --list-all
3. Configuración Principal de vsftpd
El archivo de configuración principal de vsftpd se encuentra en /etc/vsftpd.conf
. Antes de modificarlo, es una buena práctica hacer una copia de seguridad:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Ahora, edita el archivo con tu editor de texto preferido, como nano
:
sudo nano /etc/vsftpd.conf
A continuación, se describen las configuraciones más comunes que puedes habilitar o modificar:
Permitir escritura: Para que los usuarios puedan subir archivos, descomenta la siguiente línea:
write_enable=YES
Deshabilitar el acceso de usuarios anónimos: Para mayor seguridad, es recomendable deshabilitar el acceso de usuarios anónimos.
anonymous_enable=NO
Habilitar usuarios locales: Asegúrate de que los usuarios locales puedan acceder al servidor FTP.
local_enable=YES
Restringir a los usuarios a sus directorios home (jaula): Esta es una configuración de seguridad crítica. Evita que los usuarios puedan navegar fuera de su directorio principal.
chroot_local_user=YES
4. Reiniciar el Servicio vsftpd
Después de realizar cambios en el archivo de configuración, debes reiniciar el servicio para que los cambios surtan efecto.
sudo systemctl restart vsftpd
5. Crear un Usuario para FTP (Opcional) 👤
Puedes crear un usuario específico para el acceso FTP.
sudo adduser ftpuser
sudo passwd ftpuser
Después, puedes restringir el shell de ese usuario para que solo pueda acceder a FTP, lo que aumenta la seguridad. Edita el archivo /etc/shells
y añade /bin/false
al final si no existe.
sudo usermod -s /bin/false ftpuser
Esto evita que el usuario pueda iniciar sesión a través de SSH.
6. Configuración de Acceso SSL/TLS (Opcional) 🔒
Para una conexión más segura, puedes habilitar SSL/TLS.
Genera un certificado SSL:
Bashsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Edita el archivo de configuración
/etc/vsftpd.conf
y añade o modifica las siguientes líneas:ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO require_ssl_reuse=NO
Reinicia el servicio:
Bashsudo systemctl restart vsftpd