Introducción
Cada día se reportan miles de ataques a servidores Linux. Los atacantes buscan sistemas mal configurados, contraseñas débiles y servicios expuestos. En esta guía aprenderás a proteger tus servidores Linux como un profesional con años de experiencia en infraestructura IT.
¿Qué es el Hardening?
Hardening es el proceso de asegurar un sistema reduciendo su superficie de ataque. Cada servicio, puerto y configuración que no es estrictamente necesario representa un riesgo potencial. El objetivo es crear múltiples capas de defensa que protejan tu infraestructura.
Paso a Paso: Hardening de un Servidor Ubuntu
1. Actualización Inicial
Antes de cualquier configuración, asegúrate de que todos los paquetes estén actualizados:
# Actualizar todos los paquetes
sudo apt update && sudo apt upgrade -y
# Instalar herramientas de seguridad
sudo apt install -y fail2ban ufw unattended-upgrades
2. Configuración de SSH
Edita /etc/ssh/sshd_config para hardenear el acceso SSH:
Port 2222 # Puerto no estándar
PermitRootLogin no # No login como root
PasswordAuthentication no # Solo llaves SSH
X11Forwarding no # Desactivar si no se necesita
MaxAuthTries 3 # Limitar intentos fallidos
ClientAliveInterval 300 # Timeout de sesión inactiva
Reinicia el servicio SSH para aplicar los cambios:
sudo systemctl restart sshd
3. Firewall con UFW
Configura un firewall restrictivo que permita solo el tráfico necesario:
# Configuración básica
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # SSH en puerto personalizado
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
4. Protección contra ataques de fuerza bruta
fail2ban bloquea automáticamente IPs que intentan acceder repetidamente:
# Configurar fail2ban en /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3
[sshd]
enabled = true
port = 2222
5. Gestión de Usuarios y Permisos
# Crear usuario con privilegios sudo
sudo adduser nuevoadmin
sudo usermod -aG sudo nuevoadmin
# Configurar acceso SSH solo para ese usuario
mkdir /home/nuevoadmin/.ssh
chmod 700 /home/nuevoadmin/.ssh
6. Auditoría de Seguridad con Lynis
Lynis analiza tu sistema y te da recomendaciones de seguridad:
# Instalar y ejecutar Lynis
sudo apt install lynis -y
sudo lynis audit system
Checklist de Hardening
- ✅ Sistema actualizado con últimos parches
- ✅ SSH en puerto no estándar
- ✅ Login root deshabilitado
- ✅ Autenticación por llaves SSH
- ✅ Firewall configurado y activo
- ✅ fail2ban protegiendo contra brute force
- ✅ Usuarios limitados con privilegios mínimos
- ✅ Auditoría programada regularmente
Conclusión
El hardening no es un evento único sino un proceso continuo. Programa auditorías mensuales y mantén registro de los cambios realizados. La seguridad de tus servidores depende de la constancia en estas prácticas.