Avisar utilizado un webhook, en este caso de Discord, cuándo Clamav detecte un archivo infectado

Tiempo de lectura: 2 minutos

Para configurar notificaciones a través de Discord cuando ClamAV encuentra un virus, puedes seguir estos pasos generales.

Ten en cuenta que estos pasos son una guía y pueden requerir ajustes según tu entorno y preferencias específicas.

1. Crear un Webhook en Discord:

  1. Abre tu servidor de Discord y selecciona el canal en el que deseas recibir las notificaciones.
  2. Haz clic en el ícono del engranaje para acceder a la configuración del servidor.
  3. Selecciona «Integraciones» en el menú lateral izquierdo.
  4. Haz clic en «Crear una integración» y selecciona «Webhook».
  5. Dale un nombre al webhook, elige un canal y carga una imagen si lo deseas.
  6. Copia el URL del webhook generado. Lo usarás para enviar las notificaciones desde ClamAV.

2. Modificar el Comando de ClamAV para Enviar Notificaciones:

Deberás modificar el comando de ClamAV para que envíe notificaciones al webhook de Discord cuando encuentre un virus. Aquí hay un ejemplo básico usando curl para enviar una solicitud POST al webhook:

docker exec clamav clamscan --infected --recursive /data/html /data/html2 \
  && curl -H "Content-Type: application/json" -X POST -d '{"content": "¡Se ha detectado un virus con ClamAV!"}' <WEBHOOK_URL>

Reemplaza <WEBHOOK_URL> con el URL del webhook que obtuviste en el paso anterior.

Este comando realiza el escaneo con ClamAV y, si no se encuentran virus, no hace nada más. Pero si se encuentra un virus, después de realizar el escaneo, se enviará una notificación al webhook de Discord.

Con este comando puedes hacer que se envie la notificación independientemente de si encuentra o no un virus:

docker exec clamav clamscan --infected --recursive /data/html /data/html2 ; \
curl -H "Content-Type: application/json" -X POST -d '{"content": "¡Se ha ejecutado un escaneo con ClamAV!"}' <WEBHOOK_URL>

Para sacar el resultado del escaneo por consola:

docker exec clamav clamscan --infected --recursive /data/html data/html2 2>&1 | \
  tr -d '\r' | \
  curl -X POST -d "content=$(</dev/stdin)" <WEBHOOK_URL>

3. Automatizar y Programar las Notificaciones:

Puedes automatizar y programar este comando para que se ejecute periódicamente. Puedes usar cron jobs, tareas programadas, o cualquier otra herramienta de automatización que prefieras.

Notas Importantes:

  • Asegúrate de tener permisos adecuados para ejecutar los comandos y acceder a las configuraciones necesarias.
  • Puedes personalizar el contenido y formato de las notificaciones según tus preferencias.

Recuerda que esta es solo una manera de integrar notificaciones en Discord, y hay varias formas de lograrlo. Dependiendo de tu entorno y preferencias, podrías explorar otras herramientas y métodos. Además, ten en cuenta las implicaciones de seguridad y privacidad al trabajar con notificaciones y webhooks.

Deja un comentario