¿Estás a punto de lanzar tu servidor Linux a producción? Asegurarlo correctamente es esencial para evitar vulnerabilidades y ataques. En esta guía te compartimos las mejores prácticas para mantener tu servidor seguro, eficiente y protegido contra amenazas externas.
🔒 1. Mantén el Sistema Actualizado
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo yum update -y
Las actualizaciones corrigen vulnerabilidades y aseguran el rendimiento óptimo del sistema.
👤 2. Desactiva el Usuario Root para Acceso SSH
Edita el archivo /etc/ssh/sshd_config:
PermitRootLogin no
Luego reinicia el servicio:
sudo systemctl restart ssh
Esto obliga a los usuarios a autenticarse con cuentas específicas, dificultando el acceso no autorizado.
🔑 3. Usa Autenticación por Clave Pública
Genera un par de claves en tu máquina local:
ssh-keygen -t rsa -b 4096
Copia la clave pública al servidor:
ssh-copy-id usuario@ip-del-servidor
Desactiva las contraseñas en /etc/ssh/sshd_config:
PasswordAuthentication no
🧱 4. Instala y Configura un Firewall
Instala UFW y habilita sólo los puertos necesarios:
sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
🕵️ 5. Usa Fail2Ban para Bloquear Fuerza Bruta
sudo apt install fail2ban
sudo systemctl enable fail2ban
Fail2Ban analiza los logs y bloquea IPs maliciosas automáticamente.
🔍 6. Monitoriza y Audita tu Servidor
Instala herramientas como:
logwatchpara informes de logs.auditdpara auditorías de seguridad.htopyglancespara monitoreo de recursos.
🗂️ 7. Minimiza los Servicios y Paquetes
Elimina servicios innecesarios:
sudo systemctl list-unit-files --type=service
sudo systemctl disable nombre-servicio
Y desinstala paquetes que no uses.
🔐 8. Configura SELinux o AppArmor
Estos sistemas de control de acceso restringen procesos y evitan daños mayores en caso de intrusión.
🧪 9. Haz Backups Automáticos
Programa respaldos con rsync, tar, o herramientas como Duplicity o BorgBackup.
Ejemplo:
rsync -a /home/usuario/ /mnt/backup/servidor/
🧰 10. Usa HTTPS en Todos los Servicios Web
Instala Let’s Encrypt:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
Automatiza la renovación con cron.
📌 Conclusión
Asegurar un servidor Linux no es una tarea que se hace una vez y se olvida. Es un proceso continuo que debe adaptarse a las nuevas amenazas y necesidades. Sigue estas prácticas y realiza auditorías periódicas para mantener tu infraestructura protegida.