Monitoring Wazuh agentov v Zabbixe cez REST API

Monitoring Wazuh agentov v Zabbixe cez REST API

Obsah

Wazuh je populárny open-source SIEM/XDR: agenti na serveroch a pracovných staniciach zbierajú logy, udalosti o integrite súborov a údaje o zraniteľnostiach a posielajú ich na Wazuh manager. Funguje to dobre — pokiaľ sú agenti naozaj pripojení.

Háčik je v tom, že keď agent prestane posielať údaje, Wazuh o tom veľmi nekričí. Server jednoducho prestane posielať udalosti a nikto si to nevšimne, kým tie udalosti niekto nepotrebuje. Host, ktorý vo vašom SIEM mlčí, je slepé miesto — a presne také miesta majú útočníci radi.

Väčšina tímov už servery monitoruje Zabbixom. Takže namiesto toho, aby ste sa každé ráno pozerali do Wazuh dashboardu, nechajte Zabbix kontrolovať každého agenta a vyvolať upozornenie ako pri akomkoľvek inom probléme.

Template: custom-zabbix-templates/wazuh-agent — Zabbix 6.4 a novší, bez externých skriptov.

Ako to funguje

Template sa pripája k tomu istému Zabbix hostu ako server, na ktorom beží Wazuh agent. Každých 10 minút Zabbix položka typu Script (JavaScript bežiaci na Zabbix serveri alebo proxy):

  1. sa autentifikuje voči Wazuh API cez basic auth a získa token;
  2. pošle požiadavku GET /agents?name=<názov hosta> — teda na agenta, ktorého meno sa zhoduje s názvom hosta v Zabbixe;
  3. vráti údaje agenta ako JSON.

Dve závislé položky z nich vytiahnu to podstatné:

Položka Hodnoty
Stav agenta active, disconnected, pending, never_connected (alebo unavailable, ak sa agent nenájde)
Stav konfigurácie skupiny agenta synced / not synced

A triggery sa spustia, keď je niečo zle:

Trigger Závažnosť
Wazuh Agent Disconnected Average
Wazuh Agent Unavailable (agent sa vo Wazuhu nenašiel) Average
Wazuh Agent Pending Warning
Wazuh Agent Never Connected Warning
Wazuh Agent Config Not Synced Warning
Wazuh Agent No Data (samotná kontrola API prestala fungovať) Warning

Triggery stavu vyžadujú dve po sebe idúce zlé hodnoty, takže krátky reštart agenta nikoho nezobudí.

Nastavenie

  1. Vytvorte vo Wazuhu API používateľa s prístupom k agentom iba na čítanie. Nepoužívajte admin účet — heslo sa ukladá do Zabbix makra.

  2. Importujte template v Zabbixe: Data collection → Templates → Import a vyberte zabbix-wazuh-agent.json.

  3. Nastavte makrá — ideálne raz na skupine hostov alebo globálne, nie na každom hoste:

    Makro Príklad
    {$WAZUH.API.URL} https://wazuh.example.local:55000
    {$WAZUH.USER} zabbix-ro
    {$WAZUH.PASSWORD} (tajné makro)
    {$WAZUH.HTTP.PROXY} voliteľné, napr. http://proxy:3128
    {$WAZUH.DATA.TIMEOUT} 10 (sekúnd)

    Makro {$WAZUH.PASSWORD} označte ako secret text, aby sa nezobrazovalo v rozhraní.

  4. Pripojte template k hostom, na ktorých beží Wazuh agent.

Warning

Agent sa vyhľadáva podľa viditeľného názvu Zabbix hosta. Ak je agent vo Wazuhu zaregistrovaný ako web01, ale Zabbix host sa volá web01.example.local, vyhľadávanie nič nevráti a dostanete „Wazuh Agent Unavailable“. Držte názvy jednotné — alebo upravte viditeľný názov hosta v Zabbixe.

Zabbix server (alebo proxy, ktorá hosta monitoruje) potrebuje sieťový prístup k Wazuh API, predvolene na TCP 55000. Ak sa tam dostane iba cez proxy, nastavte {$WAZUH.HTTP.PROXY}.

Prečo sú „never_connected“ a „pending“ dôležité

  • never_connected zvyčajne znamená, že agent bol zaregistrovaný (často automatizovaným nasadením), ale nikdy sa nespustil alebo sa nikdy nespojil s managerom — host, o ktorom si myslíte, že je chránený, no nie je.
  • pending znamená, že agent sa zaregistroval, ale handshake sa nedokončil — typicky problém s firewallom alebo certifikátom.
  • not synced znamená, že agent nedostal konfiguráciu svojej skupiny, takže môže bežať so zastaranými pravidlami.

Všetky tri sa vo Wazuh rozhraní ľahko prehliadnu a v zozname problémov Zabbixu sú hneď zrejmé.

Zhrnutie

  • Jeden template pripojený k hostom, ktoré už monitorujete; žiadne skripty na hostoch.
  • Upozornenia, keď sa agent odpojí, nikdy sa nepripojil, zasekol sa v stave pending alebo nie je synchronizovaný.
  • Používajte Wazuh API účet iba na čítanie a tajné makro pre jeho heslo.
  • Držte názvy hostov v Zabbixe a mená agentov vo Wazuhu zosúladené.

Budujete alebo ladíte bezpečnostný monitoring s Wazuhom a Zabbixom? Ozvite sa nám.

comments powered by Disqus

Súvisiace články

Ako monitorovať domáce internetové pripojenie — a dokázať to poskytovateľovi

Ako monitorovať domáce internetové pripojenie — a dokázať to poskytovateľovi

Videohovor zamrzne, hra laguje, obchodný terminál sa znova pripája. Speedtest o päť minút neskôr ukáže 500 Mbit/s a všetko vyzerá v poriadku. Zavoláte poskytovateľovi, ten „na linke nevidí žiadny problém“ a odporučí reštartovať router.

Čítať ďalej
gWebTail: tail -f v prehliadači pre tímy bez SSH prístupu

gWebTail: tail -f v prehliadači pre tímy bez SSH prístupu

Známa situácia: na testovací server sa nasadí nový build a vývojár sa pýta „môžeš mi poslať log?“. Niekto so SSH prístupom sa prihlási, spustí tail -f, skopíruje kus do chatu — a o desať minút znova.

Čítať ďalej
Priebežné testovanie pravidiel firewallu v Zabbixe: čo má — a čo nemá — byť dostupné

Priebežné testovanie pravidiel firewallu v Zabbixe: čo má — a čo nemá — byť dostupné

Segmentácia siete vyzerá na diagrame skvele: DMZ sa nedostane do VLAN s databázami, kancelárske stanice sa nedostanú k management rozhraniam serverov, zálohy sú dostupné iba zo zálohovacieho servera. Potom prejde rok. Niekto pridá dočasné pravidlo „any-any“, aby odladil problém. Migrácia firewallu prevedie politiky trochu inak. Nová VLAN vznikne skopírovaním starej.

Čítať ďalej