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:

    Bash
    sudo apt-get update
    sudo apt-get install vsftpd
    
  • En sistemas basados en CentOS/RHEL/Fedora:

    Bash
    sudo 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):

    Bash
    sudo 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):

    Bash
    sudo 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:

Bash
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Ahora, edita el archivo con tu editor de texto preferido, como nano:

Bash
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.

Bash
sudo systemctl restart vsftpd

5. Crear un Usuario para FTP (Opcional) 👤

Puedes crear un usuario específico para el acceso FTP.

Bash
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.

Bash
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.

  1. Genera un certificado SSL:

    Bash
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
    
  2. 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
    
  3. Reinicia el servicio:

    Bash
    sudo systemctl restart vsftpd
    

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC