Integração do AlienVault OTX com o Wazuh (Guia Completo)

Integração do AlienVault OTX com o Wazuh (Guia Completo)

22/10/2025

Versão em Português

Visão Geral

Este guia detalhado explica passo a passo como integrar o AlienVault OTX (Open Threat Exchange) com o Wazuh, permitindo que seu ambiente de monitoramento detecte automaticamente domínios e endereços IP maliciosos conhecidos. A integração faz uso de scripts Python e regras customizadas no Wazuh para consultar a API do OTX sempre que eventos específicos forem detectados.

A integração é especialmente útil para equipes de segurança que desejam automatizar a correlação de eventos e inteligência de ameaças (Threat Intelligence), melhorando a visibilidade e a resposta a incidentes.


Pré-requisitos

Antes de iniciar, verifique se o seu ambiente possui:

  • Wazuh Manager instalado (versão 4.x ou superior)
  • Python e o módulo OTXv2 instalados no ambiente do Wazuh
  • Acesso root ou permissões administrativas
  • Uma API Key válida do OTX, obtida gratuitamente no portal do AlienVault (https://otx.alienvault.com)

Para instalar o módulo necessário, execute:

sudo /var/ossec/framework/python/bin/python3 -m pip install OTXv2

Arquivos Necessários

Para simplificar o processo, os principais arquivos já estão disponíveis para download direto do repositório GitHub:

Além desses, é necessário baixar o arquivo get_malicious.py diretamente do repositório oficial do OTX SDK:

Após baixar os arquivos, mova todos eles para o diretório:

/var/ossec/integrations/

Permissões e Propriedade

Para garantir que o Wazuh consiga executar os scripts corretamente, defina as permissões adequadas:

chown root:wazuh custom-alienvault custom-alienvault.py get_malicious.py
chmod 750 custom-alienvault custom-alienvault.py get_malicious.py

Configuração da API Key

Abra o arquivo custom-alienvault.py e substitua a linha:

API_KEY = 'APIKEY'

Pela sua chave de API válida do OTX. Exemplo:

API_KEY = 'yor_api_key_aqui'

Essa chave será usada para autenticar as consultas à API do AlienVault.


Configurando o Wazuh (ossec.conf)

Abra o arquivo de configuração do Wazuh:

sudo nano /var/ossec/etc/ossec.conf

E adicione a seguinte integração dentro da tag <ossec_config>:

<integration>
    <name>custom-alienvault</name>
    <group>sysmon_event_22</group>
    <alert_format>json</alert_format>
</integration>

Essa configuração indica que o Wazuh deve acionar o script custom-alienvault.py sempre que for gerado um alerta do grupo sysmon_event_22 (como eventos de consultas DNS).


Adicionando Regras no Wazuh

Copie o arquivo de regras alienOTX.xml para o diretório:

sudo cp alienOTX.xml /var/ossec/etc/rules/

O conteúdo básico do arquivo é:

<group name="alienvault_alert,">
  <rule id="100010" level="12">
    <field name="integration">alienvault</field>
    <description>AlienVault - OTX DOMAIN Found</description>
    <options>no_full_log</options>
  </rule>
</group>

Essas regras definem o comportamento do Wazuh ao identificar um domínio presente na base de dados do OTX.


Reiniciando o Wazuh

Após todas as alterações, reinicie o serviço para aplicar as configurações:

sudo systemctl restart wazuh-manager

Testando a Integração

Para testar, crie um arquivo de alerta de exemplo:

cat >/tmp/test_alert.json <<'JSON'
{
  "agent": { "id": "001", "name": "test-agent", "ip": "127.0.0.1" },
  "data": {
    "win": {
      "eventdata": {
        "queryName": "fact-pendientes.com"
      }
    }
  }
}
JSON

Agora execute o script manualmente:

sudo /var/ossec/integrations/custom-alienvault /tmp/test_alert.json

Se o domínio estiver listado no OTX, você verá a mensagem:

Identified as potentially malicious

Caso contrário:

Unknown or not identified as malicious

Verificando os Logs

Os logs da integração podem ser verificados no arquivo:

/var/ossec/logs/integrations.log

Procure por entradas contendo alienvault ou OTX para confirmar que os eventos estão sendo processados corretamente.


Dicas e Soluções de Problemas

  • Se aparecer o erro Invalid API Key, gere uma nova chave no portal do OTX.
  • Verifique se o módulo OTXv2 está instalado dentro do ambiente Python do Wazuh (/var/ossec/framework/python/bin/python3).
  • Use systemctl status wazuh-manager para verificar se o serviço está em execução.

English Version

Overview

This complete guide explains step-by-step how to integrate AlienVault OTX (Open Threat Exchange) with Wazuh, allowing your monitoring environment to automatically detect known malicious domains and IP addresses. The integration leverages Python scripts and custom Wazuh rules to query the OTX API whenever specific events are triggered.

This setup is particularly useful for security teams that want to automate threat intelligence correlation and event detection, improving both visibility and response time.


Requirements

Before starting, make sure you have:

  • Wazuh Manager (version 4.x or higher)
  • Python and OTXv2 module installed
  • Root or administrative privileges
  • A valid OTX API Key, available for free from https://otx.alienvault.com

To install the required module:

sudo /var/ossec/framework/python/bin/python3 -m pip install OTXv2

Required Files

Download the main integration files from the GitHub repository:

Additionally, download the get_malicious.py script from the official OTX SDK:

Move all these files to:

/var/ossec/integrations/

Setting Permissions

chown root:wazuh custom-alienvault custom-alienvault.py get_malicious.py
chmod 750 custom-alienvault custom-alienvault.py get_malicious.py

Configuring the API Key

Edit custom-alienvault.py and replace:

API_KEY = 'APIKEY'

with your actual API key, for example:

API_KEY = 'yor_api_key_here'

This key is required for authentication with the OTX API.


Editing the Wazuh Configuration

In /var/ossec/etc/ossec.conf, add:

<integration>
    <name>custom-alienvault</name>
    <group>sysmon_event_22</group>
    <alert_format>json</alert_format>
</integration>

Adding Rules

Copy the alienOTX.xml file to /var/ossec/etc/rules/.


Restarting Wazuh

sudo systemctl restart wazuh-manager

Testing the Integration

cat >/tmp/test_alert.json <<'JSON'
{
  "agent": { "id": "001", "name": "test-agent", "ip": "127.0.0.1" },
  "data": { "win": { "eventdata": { "queryName": "fact-pendientes.com" } } }
}
JSON

sudo /var/ossec/integrations/custom-alienvault /tmp/test_alert.json

If malicious → Identified as potentially malicious If safe → Unknown or not identified as malicious


Checking Logs

Check integration logs:

cat /var/ossec/logs/integrations.log | grep alienvault

Final Notes

If you receive an Invalid API Key error, verify your key or regenerate a new one at the OTX portal. Always ensure your Python environment inside Wazuh has the OTXv2 library installed.