m Confección de pasos para la integración.
m cambios en el itemizado.
Etiqueta: editor de código 2017
Línea 4: Línea 4:


# 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.



Revisión del 16:16 23 may 2025

Integración de Wazuh con Telegram mediante un bot

1. Crear un bot de Telegram

  1. En la app de Telegram, buscar @BotFather.
  1. Iniciar un chat con BotFather y escribir el comando: /newbot
  1. Elegir el nombre del bot.
  1. Elegir el nombre de usuario para el bot.
  1. 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

Agregar el siguiente contenido:

  1. !/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