mSin resumen de edición
m Cambios en el itemizado, mal formateado.
 
Línea 3: Línea 3:
=== 1. Crear un bot de Telegram ===
=== 1. Crear un bot de Telegram ===


# En la app de Telegram, buscar '''@BotFather'''.
* En la app de Telegram, buscar '''@BotFather'''.
  [[Archivo:Telegram-wazuh-1.png|centro|miniaturadeimagen]]
  [[Archivo:Telegram-wazuh-1.png|centro|miniaturadeimagen]]
# Iniciar un chat con BotFather y escribir el comando: <code>/newbot</code>
* Iniciar un chat con BotFather y escribir el comando: <code>/newbot</code>
  [[Archivo:Telegram-wazuh-2.png|centro|miniaturadeimagen]]
  [[Archivo:Telegram-wazuh-2.png|centro|miniaturadeimagen]]
# Elegir el nombre del bot.
* Elegir el nombre del bot.


[[Archivo:Telegram-wazuh-3.png|centro|miniaturadeimagen]]
[[Archivo:Telegram-wazuh-3.png|centro|miniaturadeimagen]]


# Elegir el nombre de usuario para el bot.
* Elegir el nombre de usuario para el bot.


[[Archivo:Telegram-wazuh-4.png|centro|miniaturadeimagen]]
[[Archivo:Telegram-wazuh-4.png|centro|miniaturadeimagen]]


# BotFather proporciona una clave API que se usará para la integración.
* BotFather proporciona una clave API que se usará para la integración.


Ejemplo de URL:  <code>https://api.telegram.org/bot<nowiki/>:&#x3C;API_KEY&#x3E;/sendMessage</code>
Ejemplo de URL:  <code>https://api.telegram.org/bot<nowiki/>:&#x3C;API_KEY&#x3E;/sendMessage</code>
Línea 21: Línea 21:


=== 2. Crear un script para enviar mensajes a Telegram ===
=== 2. Crear un script para enviar mensajes a Telegram ===
En el servidor donde está instalado Wazuh, crear el archivo:<pre>
 
* En el servidor donde está instalado Wazuh, crear el archivo:
<pre>
nano /var/ossec/integrations/custom-telegram.py
nano /var/ossec/integrations/custom-telegram.py
</pre>Agregar el siguiente contenido:
</pre>
 
* Agregar el siguiente contenido:
 
  #!/bin/sh
  #!/bin/sh
   
   
Línea 47: Línea 52:
   
   
  ${WAZUH_PATH}/${WPYTHON_BIN} ${PYTHON_SCRIPT} "$@"
  ${WAZUH_PATH}/${WPYTHON_BIN} ${PYTHON_SCRIPT} "$@"
Luego, crear o editar el archivo Python:<pre>
 
* Luego, crear o editar el archivo Python:
<pre>
nano /var/ossec/integrations/custom-telegram.py
nano /var/ossec/integrations/custom-telegram.py
</pre>Agregar el siguiente contenido:
</pre>Agregar el siguiente contenido:
Línea 94: Línea 101:


=== 4. Configurar la integración en Wazuh ===
=== 4. Configurar la integración en Wazuh ===
Editar el archivo de configuración de Wazuh:<pre>
 
* Editar el archivo de configuración de Wazuh:
<pre>
nano /var/ossec/etc/ossec.conf
nano /var/ossec/etc/ossec.conf
</pre>Agregar dentro de la sección adecuada:<pre>
</pre>Agregar dentro de la sección adecuada:<pre>
Línea 106: Línea 115:


=== 5. Modificar en el Dashboard ===
=== 5. Modificar en el Dashboard ===
Ingresar al Dashboard de Wazuh, ir a:
 
* Ingresar al Dashboard de Wazuh, ir a:


'''Explore > Notifications'''
'''Explore > Notifications'''
[[Archivo:Telegram-wazuh-6.png|centro|miniaturadeimagen]]
[[Archivo:Telegram-wazuh-6.png|centro|miniaturadeimagen]]


Agregar un nuevo canal y configurarlo con los siguientes datos:
* Agregar un nuevo canal y configurarlo con los siguientes datos:
 
[[Archivo:Telegram-wazuh-7.png|centro|miniaturadeimagen|745x745px|[[Archivo:Telegram-wazuh-8.png|centro|miniaturadeimagen|705x705px]]]]
[[Archivo:Telegram-wazuh-7.png|centro|miniaturadeimagen|745x745px|[[Archivo:Telegram-wazuh-8.png|centro|miniaturadeimagen|705x705px]]]]



Revisión actual - 16:21 23 may 2025

Integración de Wazuh con Telegram mediante un bot

1. Crear un bot de Telegram

  • En la app de Telegram, buscar @BotFather.
  • Iniciar un chat con BotFather y escribir el comando: /newbot
  • Elegir el nombre del bot.
  • Elegir el nombre de usuario para el bot.
  • BotFather proporciona una clave API que se usará para la integración.

Ejemplo de URL: https://api.telegram.org/bot:<API_KEY>/sendMessage

2. Crear un script para enviar mensajes a Telegram

  • En el servidor donde está instalado Wazuh, crear el archivo:
nano /var/ossec/integrations/custom-telegram.py
  • Agregar el siguiente contenido:
#!/bin/sh

WPYTHON_BIN="framework/python/bin/python3"
SCRIPT_PATH_NAME="$0"
DIR_NAME="$(cd $(dirname ${SCRIPT_PATH_NAME}); pwd -P)"
SCRIPT_NAME="$(basename ${SCRIPT_PATH_NAME})"

case ${DIR_NAME} in
    */active-response/bin | */wodles*)
        [ -z "${WAZUH_PATH}" ] && WAZUH_PATH="$(cd ${DIR_NAME}/../..; pwd)"
        PYTHON_SCRIPT="${DIR_NAME}/${SCRIPT_NAME}.py"
        ;;
    */bin)
        [ -z "${WAZUH_PATH}" ] && WAZUH_PATH="$(cd ${DIR_NAME}/..; pwd)"
        PYTHON_SCRIPT="${WAZUH_PATH}/framework/scripts/${SCRIPT_NAME}.py"
        ;;
    */integrations)
        [ -z "${WAZUH_PATH}" ] && WAZUH_PATH="$(cd ${DIR_NAME}/..; pwd)"
        PYTHON_SCRIPT="${DIR_NAME}/${SCRIPT_NAME}.py"
        ;;
esac

${WAZUH_PATH}/${WPYTHON_BIN} ${PYTHON_SCRIPT} "$@"
  • Luego, crear o editar el archivo Python:
nano /var/ossec/integrations/custom-telegram.py

Agregar el siguiente contenido:

#!/usr/bin/env python

import sys
import json
import requests

CHAT_ID = "CHAT_ID"
# Reemplazar "CHAT_ID" por el ID del chat con el bot.
# Obtenerlo accediendo a:
# https://api.telegram.org/botTOKEN/getUpdates

# Leer parámetros de entrada
alert_file = open(sys.argv[1])
hook_url = sys.argv[3]

# Leer archivo de alerta
alert_json = json.loads(alert_file.read())
alert_file.close()

# Extraer información
alert_level = alert_json['rule'].get('level', "N/A")
description = alert_json['rule'].get('description', "N/A")
agent = alert_json['agent'].get('name', "N/A")

# Construir mensaje
msg_data = {
    'chat_id': CHAT_ID,
    'text': f"Nivel de alerta: {alert_level}\nAgente: {agent}\nDescripción: {description}"
}

headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8'}

# Enviar mensaje
requests.post(hook_url, headers=headers, data=json.dumps(msg_data))

sys.exit(0)

3. Dar permisos a los archivos

chown root:ossec /var/ossec/integrations/custom-telegram*
chmod 750 /var/ossec/integrations/custom-telegram*

4. Configurar la integración en Wazuh

  • Editar el archivo de configuración de Wazuh:
nano /var/ossec/etc/ossec.conf

Agregar dentro de la sección adecuada:

<integration>

   <name>custom-telegram</name>
   <level>3</level>
   <hook_url>https://api.telegram.org/bot:"APIKEY"/sendMessage</hook_url>
   <alert_format>json</alert_format>

</integration>

(Reemplazar "APIKEY" por el token obtenido del bot).

5. Modificar en el Dashboard

  • Ingresar al Dashboard de Wazuh, ir a:

Explore > Notifications

  • Agregar un nuevo canal y configurarlo con los siguientes datos:

6. Reiniciar Wazuh Manager

systemctl restart wazuh-manager