Recibir alertas de Crowdsec en Telegram Este apunte documenta cómo enviar notificaciones automáticas por Telegram cuando CrowdSec bloquea una IP, usando el plugin http de notificaciones. Es altamente recomendable tener previamente configurada la integración de logs de Caddy con CrowdSec: Lectura de logs de Caddy con CrowdSec Requisitos previos Tener CrowdSec instalado y funcionando correctamente. Haber registrado la instancia en la consola de CrowdSec (opcional, pero recomendable). Tener ya bloqueos activos o simulables para hacer pruebas. Se asume que tenemos un bot de Telegram ya creado y listo. Activar permisos para el plugin HTTP Edita el archivo /etc/crowdsec/config.yaml de CrowdSec. Aquí es donde CrowdSec define los usuarios y permisos bajo los que se ejecutan los distintos plugins, incluyendo el de notificaciones. Si los permisos son demasiado restrictivos (como es el caso por defecto), algunos plugins no podrán escribir en disco ni acceder a los sockets necesarios para operar correctamente. Este es un fallo habitual que puede bloquear la funcionalidad de alertas, especialmente en entornos donde se espera que el plugin HTTP se comunique con servicios externos como Telegram. plugin_config: user: root group: root Por defecto viene como nobody, pero eso genera errores de permisos al validar la config del plugin HTTP. Configurar el plugin HTTP para Telegram Edita o crea el archivo /etc/crowdsec/notifications/http.yaml. Si quieres usar una plantilla con formato limpio para Telegram, puedes partir de la siguiente: http.yaml de ejemplo en Gitea Este archivo incluye el formato del mensaje y los datos necesarios para enviarlo (token, chat_id, etc.). Activar la notificación en profiles.yaml Edita /etc/crowdsec/profiles.yaml y asegúrate de habilitar la notificación en ambos perfiles ( default_ip_remediation y default_range_remediation). Busca y modifica esta sección: notifications: - http_default Asegúrate de que coincida con el nombre definido en el http.yaml. Si has cambiado el nombre por otro, usa ese. Validar y probar que todo funciona Verifica la configuración: sudo crowdsec -t Prueba manualmente la notificación: sudo cscli notifications test http_default Si todo está correcto, deberías recibir el mensaje en tu bot, canal o grupo de Telegram. Comprobarlo con un ataque real Puedes simular un ataque desde otro dispositivo (por ejemplo con Termux + VPN y dirb) para generar un baneo real. En cuanto se active el baneo, deberías recibir la alerta en Telegram con un formato como este: 🚨 CrowdSec Alert 🌐 IP: 66.232.126.83 🏳️ País: US 🏢 ISP: AS29802 - HVC-AS 🧠 Motivo: crowdsecurity/http-probing 🕰️ Duración: 4h 📅 Hora: 2025-07-25T20:03:05Z 📍 Host: TuEquipo 🗞 Máquina: TuMaquina 🔗 CrowdSec CTI (https://app.crowdsec.net/cti/66.232.126.83) Errores comunes o decisiones importantes Permisos insuficientes: si dejas nobody, el plugin HTTP no podrá ejecutarse. Nombre del perfil mal escrito: el nombre http_default debe coincidir en http.yaml y profiles.yaml. Validar siempre con crowdsec -t antes de probar con ataques reales. Resumen breve Cambiar nobody por root en config.yaml. Configurar /etc/crowdsec/notifications/http.yaml para Telegram. Activar http_default en ambos perfiles de profiles.yaml. Validar con sudo crowdsec -t y testear con cscli notifications test. Probar con un ataque real para verificar que todo llega correctamente. Enlaces de interés Forzar instalación de CrowdSec 1.6.x en Ubuntu saltando la versión antigua Reducir el tamaño de los logs de Caddy con log_skip para CrowdSec Lectura de logs de Caddy con CrowdSec Documentación oficial de CrowdSec - Telegram plugin