CyberHat · Kennisbank

Wazuh Active Response

Omdat Wazuh een HIDS (Host-based Intrusion Detection System) is, kunt u er meer uit halen dan alleen logging en het versturen van alerts. U kunt gebruikmaken van Active Response wanneer er een alert wordt gegenereerd: op een actie volgt dan automatisch een reactie.

Het Wazuh-dashboard met security events
Afb. 1 · Het Wazuh-dashboard

Active Response als voorbeeld

Active Response wordt aan de agentzijde ingesteld in het bestand ossec.conf. Als voorbeeld nemen wij een Linux-server met SSH, waarbij het source-IP-adres na herhaalde inlogpogingen voor een bepaalde periode wordt geblokkeerd.

Hoe werkt Active Response?

Flow van alert naar active response tussen agent en manager
Afb. 2 · Flow van alert naar active response

Active responses zijn stateful of stateless. Stateful responses maken de actie na een bepaalde tijd weer ongedaan; stateless responses zijn eenmalige acties.

Elke active response legt vast waar het bijbehorende commando wordt uitgevoerd: op de agent die de alert heeft veroorzaakt, op de manager, op een andere opgegeven agent of op alle agents, inclusief de manager(s).

Het bestand ossec.conf

Op de Linux-agent hebben we in /var/ossec/etc/ossec.conf het volgende aangepast, zodat Active Response in werking treedt:

<active-response>
  <command>host-deny</command>
  <location>local</location>
  <level>10</level>
  <rules_id>2501, 5710, 5712</rules_id>
  <timeout>600</timeout>
  <repeated_offenders>600,2400,18800,86400,172800</repeated_offenders>
</active-response>

Bij een alert van level 10 op basis van rules_id 2501, 5710 of 5712 wordt het script host-deny.sh uitgevoerd. Dit is een voorgedefinieerd script, te vinden in /var/ossec/active-response/bin.

Voorgedefinieerde active-response-scripts
Afb. 3 · Voorgedefinieerde scripts in /var/ossec/active-response/bin

Het script host-deny.sh blokkeert de verbinding tussen het betreffende source-IP-adres en de server voor een periode van 600 seconden. Daarna wordt het source-IP weer van de blocklist gehaald. Probeert hetzelfde source-IP daarna opnieuw in te loggen, dan wordt gekeken naar repeated_offenders: een timeoutmechanisme zorgt ervoor dat de blokkade dan langer duurt.

Het logbestand active-response.log

In het bestand active-response.log (in /var/ossec/logs/) op de agent ziet u hoe Active Response het script host-deny.sh heeft uitgevoerd.

active-response.log met host-deny-acties
Afb. 4 · active-response.log: toevoegen en vrijgeven van source-IP’s

Bovenstaande log laat zien dat een source-IP-adres aan de blocklist is toegevoegd of eruit is verwijderd, getriggerd door rule-ID 5710.

Rule-ID 5710

Detail van rule 5710
Afb. 5 · Rule 5710: sshd invalid login

Whitelist voor Active Response

Om te voorkomen dat Active Response in werking treedt bij geoorloofde beheeractiviteiten vanaf bepaalde source-IP-adressen, zet u die IP- of netwerkadressen op de whitelist van de Wazuh Manager. De Wazuh Manager (server) stuurt dan géén actie naar de agent om het script uit te voeren.

De whitelist staat in de ossec.conf van de Wazuh Manager, bijvoorbeeld:

<ossec_config>
  <global>
    <jsonout_output>yes</jsonout_output>
    <email_notification>no</email_notification>
    <logall>yes</logall>
    <white_list>10.0.0.6</white_list>
  </global>

De host met IP-adres 10.0.0.6 wordt hiermee uitgesloten van Active Response.