Capítulo 1: Introducción y Principios de Seguridad
Capítulo 1: Introducción y Principios de Seguridad
¿Por qué asegurar un servidor Linux?
Un servidor Linux expuesto a internet es un objetivo constante de ataques automatizados. En cuestión de minutos después de conectarse, los bots comenzarán a:
- Intentar conexiones SSH con credenciales comunes
- Escanear puertos en busca de servicios vulnerables
- Buscar aplicaciones web con vulnerabilidades conocidas
- Intentar exploits automáticos contra servicios detectados
Principio de Defensa en Profundidad
La seguridad efectiva no depende de una sola medida, sino de múltiples capas:
┌─────────────────────────────────────┐
│ Firewall (UFW) │ ← Primera línea
├─────────────────────────────────────┤
│ Detección de Intrusos (PSAD) │ ← Monitoreo activo
├─────────────────────────────────────┤
│ Protección Brute Force (Fail2Ban)│ ← Bloqueo automático
├─────────────────────────────────────┤
│ SSH Hardening (Keys + 2FA) │ ← Autenticación fuerte
├─────────────────────────────────────┤
│ Control de Acceso (sudo) │ ← Mínimo privilegio
├─────────────────────────────────────┤
│ Auditoría (Lynis, logs) │ ← Visibilidad
└─────────────────────────────────────┘
Principios Fundamentales
1. Mínimo Privilegio
Cada usuario y proceso debe tener solo los permisos estrictamente necesarios para realizar su función.
2. Superficie de Ataque Reducida
- Deshabilitar servicios innecesarios
- Cerrar puertos no utilizados
- Eliminar software no requerido
3. Actualizaciones Constantes
Las vulnerabilidades se descubren constantemente. Mantener el sistema actualizado es crítico.
4. Monitoreo y Auditoría
Lo que no se mide, no se puede mejorar. Los logs son tu mejor aliado.
Antes de Empezar
Regla de Oro: Dos Sesiones SSH
Siempre mantén dos terminales SSH abiertas cuando modifiques:
- Configuración de SSH (
/etc/ssh/sshd_config) - Reglas de firewall
- Configuración de PAM
Si algo sale mal, tendrás una sesión de respaldo para corregir.
Haz Backups
Antes de cualquier cambio:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Conoce tu Sistema
Antes de comenzar, familiarízate con tu servidor:
# Información del sistema
uname -a
cat /etc/os-release
# Usuarios existentes
cat /etc/passwd | grep -v nologin
# Servicios activos
systemctl list-units --type=service --state=running
# Puertos abiertos
ss -tulpn
Estructura de esta Guía
Cada capítulo sigue un formato consistente:
- Por qué - La justificación de seguridad
- Cómo funciona - Explicación técnica breve
- Pasos - Instrucciones detalladas
- Verificación - Cómo confirmar que funciona
- Troubleshooting - Solución de problemas comunes
Siguiente Paso
En el próximo capítulo configuraremos SSH con autenticación por claves, el primer paso fundamental para asegurar el acceso a tu servidor.