Esquema de capas de seguridad para servidores Linux VPS y hardening del kernel
Infraestructura 19 de febrero de 2026 3 min de lectura

Hardening de Servidores VPS Linux: Guía Profesional de Fortificación

Manual operativo para la protección de servidores Linux (Ubuntu/Debian/RHEL). Configuración estricta de OpenSSH, llaves Ed25519, cortafuegos UFW, políticas de sudoers, Fail2ban y auditoría del sistema.

Puntos Clave / TL;DR (Respuesta Rápida)
  • Regla de oro: Deshabilitar inmediatamente el acceso directo de root y la autenticación por contraseña en OpenSSH (/etc/ssh/sshd_config.d/).
  • Criptografía recomendada: Utilizar exclusivamente llaves públicas Ed25519 (ssh-keygen -t ed25519) en lugar de RSA de longitud insuficiente.
  • Cortafuegos por defecto: Establecer política default deny en UFW (ufw default deny incoming) y abrir únicamente los puertos indispensables (SSH, 80, 443).
  • Defensa activa contra fuerza bruta: Implementar Fail2ban con jails dedicados para SSH y Nginx con periodos de baneo progresivos.

Un servidor recién desplegado recibe miles de intentos de escaneo y fuerza bruta por minuto. Aplicar un perfil de fortificación inicial reduce drásticamente el riesgo de intrusión. Para complementar con mitigación de red, consulta nuestra guía de Mitigación de Ataques DDoS en Linux.

1. Niveles de Seguridad y Vulnerabilidades Mitigadas

La siguiente tabla resume las fases críticas del hardening de un VPS y su impacto en la seguridad del sistema:

Tabla 1: Fases de Hardening de VPS Linux y Superficie Mitigada

Fase de HardeningHerramienta / ArchivoAcción PrincipalVulnerabilidad Mitigada
Gestión de Identidadsudo / /etc/sudoersCrear usuario sin root y exigir sudo para comandos privilegiadosEscalamiento accidental o ejecución no auditada
Servicio OpenSSH/etc/ssh/sshd_config.d/hardening.confPasswordAuthentication no & PermitRootLogin noAtaques de fuerza bruta y diccionarios automatizados
Filtrado PerimetralUFW / iptablesPolítica Default Deny entranteEscaneo de puertos y servicios internos expuestos
Defensa ReactivaFail2ban (/etc/fail2ban/jail.local)Bloqueo automático tras 3 intentos fallidosAgotamiento de sockets y fuerza bruta distribuida

2. Creación de Usuario no Privilegiado y Configuración de Sudo

El primer paso consiste en deshabilitar el inicio de sesión interactivo de root y operar mediante un usuario dedicado asignado al grupo con privilegios administrativos (sudo o wheel).

terminal.shbash
# Crear usuario de administración
adduser sysadmin_jorge

# Asignar al grupo sudo (en Debian/Ubuntu) o wheel (en RHEL/Rocky)
usermod -aG sudo sysadmin_jorge

# Copiar clave pública SSH autorizada
mkdir -p /home/sysadmin_jorge/.ssh
chmod 700 /home/sysadmin_jorge/.ssh
cp /root/.ssh/authorized_keys /home/sysadmin_jorge/.ssh/
chown -R sysadmin_jorge:sysadmin_jorge /home/sysadmin_jorge/.ssh
chmod 600 /home/sysadmin_jorge/.ssh/authorized_keys

3. Hardening del Servicio OpenSSH (/etc/ssh/sshd_config)

El demonio OpenSSH debe ser configurado de forma estricta para restringir cifrados débiles y exigir autenticación basada exclusivamente en pares de claves criptográficas (Ed25519 o RSA 4096).

/etc/ssh/sshd_config.d/hardening.confini
# Cambiar el puerto por defecto (opcional para reducir ruido en logs)
Port 2222

# Deshabilitar acceso directo de root
PermitRootLogin no

# Exigir autenticación por claves públicas y deshabilitar contraseñas
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes

# Limitar intentos máximos de autenticación por conexión
MaxAuthTries 3
MaxSessions 2

# Desactivar reenvío de X11 y agentes no requeridos
X11Forwarding no
AllowTcpForwarding no

4. Cortafuegos Perimetral con UFW (Uncomplicated Firewall)

Una política de denegación por defecto garantiza que cualquier servicio secundario en ejecución en la máquina quede aislado del tráfico público:

ufw-setup.shbash
# 1. Reglas por defecto: denegar entrada, permitir salida
ufw default deny incoming
ufw default allow outgoing

# 2. Permitir el puerto SSH configurado antes de habilitar el firewall
ufw allow 2222/tcp comment 'Custom SSH Port'

# 3. Permitir tráfico web HTTP y HTTPS
ufw allow 80/tcp comment 'HTTP'
ufw allow 443/tcp comment 'HTTPS'

# 4. Habilitar el firewall
ufw enable

5. Siguiente Paso en el Cluster de Seguridad

Una vez protegido el sistema operativo base, el siguiente paso indispensable es fortificar el servidor web que recibe las conexiones externas. Revisa nuestro manual de Hardening en Nginx y SSL/TLS para implementar cifrado seguro TLS 1.3.

Artículos Relacionados del Cluster de Seguridad