Protege tus apps caseras con CrowdSec
Bloquea de forma automática las IP que intentan forzar tu SSH o tus servicios web, con inteligencia de amenazas de la comunidad.
CrowdSec lee tus registros, detecta ataques como adivinar contraseñas o escaneos y le dice a un bouncer que bloquee al atacante en el firewall. También comparte señales anónimas para que todos se beneficien de una lista de bloqueo comunitaria.
No te quedes afuera: mantén acceso local con teclado y pantalla mientras pruebas y asegúrate de que los rangos de tu red sigan en la lista blanca. Exponer menos servicios (usa una VPN) sigue siendo la mejor protección.
Pasos de la misión
Instala CrowdSec
Agrega el repositorio oficial de paquetes de CrowdSec como indica su documentación e instala crowdsec. Detecta solo servicios como SSH.
Agrega un bouncer
Instala el bouncer de firewall para nftables (o iptables). Convierte las decisiones de CrowdSec en bloqueos reales del firewall.
Agrega colecciones
Instala colecciones para los servicios que expones, como sshd o nginx, y recarga CrowdSec.
Lee los registros de Docker
Si tus apps corren en contenedores, agrega sus archivos de registro o la fuente Docker a la configuración de adquisición.
Verifica que funciona
Usa cscli metrics, alerts y decisions para ver qué se leyó y a quién se bloqueó. Prueba con un bloqueo temporal a una dirección de prueba.
Código
sudo apt install crowdsec
sudo apt install crowdsec-firewall-bouncer-nftables
sudo cscli collections install crowdsecurity/sshd crowdsecurity/nginx
sudo systemctl reload crowdsec
sudo cscli metrics
sudo cscli alerts list
sudo cscli decisions list
# test: ban a documentation-only address for 2 minutes, then remove it
sudo cscli decisions add --ip 192.0.2.10 --duration 2m
sudo cscli decisions delete --ip 192.0.2.10Code comments are in English, like most libraries and docs — a good habit for makers.
Preguntas
¿CrowdSec o Fail2ban?
Ambos bloquean atacantes según los registros. CrowdSec agrega una lista de bloqueo comunitaria, escenarios listos y una herramienta central (cscli); Fail2ban es más simple y totalmente local.