← Volver al listado de tecnologías

Capítulo 7: Detección de Intrusos - PSAD y CrowdSec

Por: SiempreListo
linuxseguridadidspsadcrowdsecintrusos

Capítulo 7: Detección de Intrusos - PSAD y CrowdSec

PSAD - Port Scan Attack Detector

PSAD analiza los logs de iptables/UFW para detectar escaneos de puertos y otros ataques de red.

Instalación

sudo apt update
sudo apt install psad

Configuración de UFW para PSAD

PSAD necesita que UFW registre el tráfico bloqueado.

Edita /etc/ufw/before.rules, antes de COMMIT:

# Log all blocked incoming
-A ufw-before-input -j LOG --log-prefix "[UFW BLOCK] " --log-level 4

# Log all blocked outgoing
-A ufw-before-output -j LOG --log-prefix "[UFW BLOCK] " --log-level 4

Edita /etc/ufw/before6.rules de igual manera para IPv6.

Recarga UFW:

sudo ufw reload

Configuración de PSAD

sudo nano /etc/psad/psad.conf

Configuraciones importantes:

EMAIL_ADDRESSES     [email protected];
HOSTNAME            tu-servidor;
ENABLE_AUTO_IDS     Y;
AUTO_IDS_DANGER_LEVEL    3;
AUTO_BLOCK_TIMEOUT      3600;

Iniciar PSAD

sudo psad --sig-update
sudo systemctl start psad
sudo systemctl enable psad

Verificar Estado

sudo psad --Status

CrowdSec - Seguridad Colaborativa

CrowdSec es una herramienta moderna que comparte inteligencia de amenazas con la comunidad.

Instalación

curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash
sudo apt install crowdsec

Instalar Bouncer para Firewall

El bouncer aplica las decisiones de bloqueo:

sudo apt install crowdsec-firewall-bouncer-iptables

Configuración Básica

CrowdSec funciona con colecciones (conjuntos de parsers y escenarios):

# Ver colecciones instaladas
sudo cscli collections list

# Instalar colección para SSH
sudo cscli collections install crowdsecurity/sshd

# Instalar colección para Nginx
sudo cscli collections install crowdsecurity/nginx

Gestión de Decisiones

# Ver decisiones activas (IPs baneadas)
sudo cscli decisions list

# Banear IP manualmente
sudo cscli decisions add --ip 1.2.3.4 --duration 24h --reason "manual ban"

# Desbanear IP
sudo cscli decisions delete --ip 1.2.3.4

Alertas

# Ver alertas recientes
sudo cscli alerts list

# Detalles de una alerta
sudo cscli alerts inspect ID_ALERTA

Console CrowdSec (Opcional)

Registra tu instancia en la consola web para visualización:

sudo cscli console enroll TU_TOKEN

Obtén el token en app.crowdsec.net

Comparación: PSAD vs Fail2Ban vs CrowdSec

CaracterísticaPSADFail2BanCrowdSec
Escaneo puertos
Fuerza bruta
Inteligencia compartida
ConfiguraciónMediaFácilFácil
RecursosBajoBajoMedio

Recomendación: Usa CrowdSec + Fail2Ban para mejor cobertura.

Verificación

PSAD

# Estado detallado
sudo psad --Status

# Logs
sudo tail -f /var/log/psad/psad.log

CrowdSec

# Estado del servicio
sudo systemctl status crowdsec

# Métricas
sudo cscli metrics

# Estado del bouncer
sudo systemctl status crowdsec-firewall-bouncer

Troubleshooting

PSAD no detecta nada

Verifica que UFW esté logueando:

sudo tail /var/log/ufw.log

Si está vacío, revisa la configuración de logging de UFW.

CrowdSec no banea

Verifica que el bouncer esté corriendo:

sudo systemctl status crowdsec-firewall-bouncer

Verifica la configuración del bouncer:

cat /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml

Demasiados falsos positivos

Agrega IPs a la whitelist:

# CrowdSec
sudo cscli decisions delete --ip TU_IP
sudo cscli parsers install crowdsecurity/whitelists

Edita /etc/crowdsec/parsers/s02-enrich/whitelists.yaml para agregar tus IPs.