Cómo Crear un Servidor FTP Seguro en Linux en Menos de 15 Minutos [Guía Rápida]

Comparte

🚀 Introducción

Un servidor FTP permite transferir archivos entre computadoras a través de una red. Pero un FTP mal configurado puede exponer tu sistema. En esta guía te enseñaremos cómo crear un servidor FTP seguro en Linux con vsftpd, configurado con cifrado SSL/TLS, y limitado a usuarios autorizados.


🛠️ Requisitos previos

  • Un sistema Linux (Ubuntu, Debian, CentOS, etc.)
  • Acceso root o privilegios sudo
  • Conexión a Internet

📥 Paso 1: Instalar vsftpd

sudo apt update
sudo apt install vsftpd -y

En CentOS:

sudo yum install vsftpd -y

🛡️ Paso 2: Configurar la seguridad básica

Edita el archivo de configuración:

sudo nano /etc/vsftpd.conf

Asegúrate de tener estas líneas:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

🔐 Paso 3: Habilitar SSL/TLS

Genera un certificado:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt

Luego agrega al vsftpd.conf:

ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
force_local_data_ssl=YES
force_local_logins_ssl=YES

👥 Paso 4: Crear usuario FTP

sudo adduser ftpuser
sudo passwd ftpuser

Asigna un directorio seguro:

sudo mkdir -p /home/ftpuser/ftp
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp

🔁 Paso 5: Reiniciar y probar

sudo systemctl restart vsftpd

Prueba con FileZilla usando:

  • Host: tu IP o dominio
  • Usuario: ftpuser
  • Protocolo: FTP – SSL/TLS

🧩 Extras Opcionales

  • Limitar puertos pasivos (útil para firewalls):
pasv_min_port=10000
pasv_max_port=10100
  • Restringir IPs con firewall (ufw/iptable)
  • Activar logs: /var/log/vsftpd.log

✅ Conclusión

Ahora ya tienes un servidor FTP seguro funcionando en tu máquina Linux. Es ideal para transferencias internas, backups o acceso remoto con control total.





codigo fuente gratis