Detección y prevención de intrusiones
Configure sistemas de detección de intrusiones (IDS) como Fail2Ban y comprenda los principios de los sistemas de prevención de intrusiones (IPS) para defender activamente su servidor.
Detección y prevención de intrusiones es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
Más allá de los firewalls: defensa activa
¡Bienvenido a la lección final sobre seguridad de servidores! Hemos visto los firewalls y las auditorías, que son fundamentales para la prevención. Pero ¿qué ocurre si un atacante decidido intenta eludir esas defensas?
En esta lección se presentan los Intrusion Detection Systems (IDS) y los Intrusion Prevention Systems (IPS). Estas herramientas proporcionan una capa adicional de defensa activa que le ayuda a detectar y detener actividades maliciosas en su servidor.
¿Qué es un IDS?
Un Intrusion Detection System (IDS) es como un guardia de seguridad que vigila constantemente en busca de actividades sospechosas. Supervisa el tráfico de red del servidor o los registros del sistema para detectar patrones que indiquen un ataque.
- Supervisión pasiva: un IDS detecta las amenazas y le avisa.
- Sin bloqueo: no bloquea ni impide activamente la intrusión. Su función se limita a notificarla.
- Ejemplos: herramientas como Snort o Suricata pueden actuar como IDS basados en red y analizar los datos entrantes y salientes.
¿Qué es un IPS?
Un Intrusion Prevention System (IPS) lleva el concepto de IDS un paso más allá. En lugar de limitarse a enviar alertas, un IPS interviene activamente para detener las amenazas detectadas.
- Protección activa: puede bloquear automáticamente direcciones IP maliciosas, terminar conexiones sospechosas o descartar paquetes dañinos.
- Enfoque preventivo: el objetivo es impedir que la intrusión tenga éxito en tiempo real.
- Fail2Ban: es un ejemplo popular de IPS basado en host en el que nos centraremos hoy.
Presentación de Fail2Ban
Fail2Ban es un potente IPS de código abierto basado en host. Funciona analizando archivos de registro, como los de SSH, servidores web o servidores de correo, en busca de repetidos intentos fallidos de inicio de sesión u otros patrones sospechosos.
Cuando detecta demasiados intentos fallidos desde una misma dirección IP dentro de un periodo determinado, Fail2Ban actualiza automáticamente las reglas del firewall del servidor para prohibir temporal o permanentemente esa dirección IP.
Cómo funciona Fail2Ban
Fail2Ban funciona con tres conceptos fundamentales:
- Filtros: son expresiones regulares que definen los patrones que se deben buscar en los archivos de registro (por ejemplo, 'failed password for root').
- Jails: una jail combina un filtro con una acción. Especifica qué archivo de registro se debe supervisar, qué filtro se debe utilizar y qué acción se debe ejecutar cuando se cumplen las condiciones del filtro.
- Acciones: son los comandos que se ejecutan cuando se bloquea una IP y que normalmente modifican las reglas del firewall (como
iptablesoufw) para bloquear la IP de origen.
Instalación de Fail2Ban
Fail2Ban está disponible en los repositorios predeterminados de la mayoría de las distribuciones de Linux. Vamos a instalarlo en un sistema basado en Debian (como Ubuntu).
Primero, actualice la lista de paquetes y, después, instale el paquete fail2ban:
sudo apt update
sudo apt install fail2banConfiguración básica: jail.local
El archivo de configuración principal de Fail2Ban es /etc/fail2ban/jail.conf. Sin embargo, nunca debe editar este archivo directamente, ya que podría sobrescribirse durante las actualizaciones.
En su lugar, cree una copia llamada /etc/fail2ban/jail.local y realice allí los cambios. Este archivo sobrescribe la configuración de jail.conf.
Estas son algunas opciones globales importantes que puede configurar en jail.local:
bantime: tiempo durante el que se bloquea una IP (por ejemplo,10mpara 10 minutos).findtime: intervalo durante el que se cuentan los intentos fallidos (por ejemplo,10m).maxretry: número de intentos fallidos antes de bloquear una IP (por ejemplo,5).
Activación de la protección de SSH
Uno de los usos más comunes de Fail2Ban es proteger SSH contra ataques de fuerza bruta. En el archivo /etc/fail2ban/jail.local encontrará secciones para distintos servicios, denominadas «jails».
Para activar la jail de SSH, normalmente solo tiene que establecer enabled = true en la sección [sshd]. También puede personalizar los valores de bantime, findtime y maxretry.
Después de editar el archivo, reinicie Fail2Ban para que los cambios surtan efecto:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h
sudo systemctl restart fail2banSupervisión de Fail2Ban
Después de configurar e iniciar Fail2Ban, querrá comprobar su estado y verificar si está bloqueando IP activamente. Para ello puede utilizar el comando fail2ban-client.
Para comprobar el estado general de Fail2Ban:
sudo systemctl status fail2banComprobación rápida: configuración de Fail2Ban
Ha configurado Fail2Ban para proteger su servicio SSH. Ha establecido maxretry = 3 y bantime = 1h.
Un atacante intenta iniciar sesión mediante SSH:
- Inicio de sesión fallido a las 10:00:00
- Inicio de sesión fallido a las 10:00:30
- Inicio de sesión fallido a las 10:01:00
- Inicio de sesión fallido a las 10:01:30
Si findtime está establecido en 10 minutos, ¿qué ocurre con la dirección IP del atacante?
Repaso: IDS, IPS y Fail2Ban
¡Buen trabajo! Ha aprendido a añadir una capa activa de defensa a su servidor:
- IDS (Intrusion Detection System) detecta actividades sospechosas y genera alertas.
- IPS (Intrusion Prevention System) detecta y alerta sobre las amenazas, y además las bloquea activamente.
- Fail2Ban es un IPS basado en host que analiza los registros en busca de patrones maliciosos y bloquea las direcciones IP infractoras actualizando las reglas del firewall.
- Ha aprendido a instalar Fail2Ban, configurar opciones globales en
jail.local, activar jails específicas (como SSH) y supervisar su estado.
La implementación de Fail2Ban mejora significativamente la resistencia de su servidor frente a ataques de fuerza bruta y otras amenazas automatizadas. ¡Siga practicando estas habilidades para crear sistemas realmente sólidos y seguros!
Aprende Linux Server Deployment & SSH Mastery con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 12
- Lecciones
- 48
Preguntas frecuentes
¿La lección «Detección y prevención de intrusiones» es gratis?
Sí — el texto completo de «Detección y prevención de intrusiones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Detección y prevención de intrusiones»?
Configure sistemas de detección de intrusiones (IDS) como Fail2Ban y comprenda los principios de los sistemas de prevención de intrusiones (IPS) para defender activamente su servidor. Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?
No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Detección y prevención de intrusiones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?
Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Auditoría de seguridad del servidor
- Reglas avanzadas de firewall (IPTables)
- Detección y prevención de intrusiones
- Registro centralizado e integración con SIEM