Configuration
Basic usage
An active response is configured in the ossec.conf file in the Active Response and Command sections.
In this example, the restart-ossec command is configured to use the restart-ossec.sh script with no data element.  The active response is configured to initiate the restart-ossec command on the local host when the rule with ID 10005 fires.  This is a Stateless response as no timeout parameter is defined.
Command:
<command>
  <name>restart-ossec</name>
  <executable>restart-ossec.sh</executable>
  <expect></expect>
</command>
Active response:
<active-response>
  <command>restart-ossec</command>
  <location>local</location>
  <rules_id>10005</rules_id>
</active-response>
Windows automatic remediation
In this example, the win_rout-null command is configured to use the route-null.cmd script using the data element srcip.  The active response is configured to initiate the win_rout-null command on the local host when the rule has a higher alert level than 7.  This is a Stateful response with a timeout set at 900 seconds.
Command:
<command>
  <name>win_route-null</name>
  <executable>route-null.cmd</executable>
  <expect>srcip</expect>
  <timeout_allowed>yes</timeout_allowed>
</command>
Active response:
<active-response>
  <command>win_route-null</command>
  <location>local</location>
  <level>8</level>
  <timeout>900</timeout>
</active-response>
Block an IP with PF
In this example, the pf-block command is configured to use the pf.sh script using the data element scrip.  The active response is configured to initiate the pf-block command on agent 001 when a rule in either the "authentication_failed" or "authentication_failures" rule group fires.  This is a Stateless response as no timeout parameter is defined.
Command:
<command>
  <name>pf-block</name>
  <executable>pf.sh</executable>
  <expect>srcip</expect>
</command>
Active response:
<active-response>
  <command>pf-block</command>
  <location>defined-agent</location>
  <agent_id>001</agent_id>
  <rules_group>authentication_failed,authentication_failures</rules_group>
</active-response>
Add an IP to the iptables deny list
In this example, the firewall-drop command is configured to use the firewall-drop.sh script using the data element scrip.  The active response is configured to initiate the firewall-drop command on all systems when a rule in either the "authentication_failed" or "authentication_failures" rule group fires.  This is a Stateful response with a timeout of 700 seconds.  The <repeated_offenders> tag increases the timeout period for each subsequent offense by a specific IP address.
Note
This parameter is specified in minutes rather than seconds.
Command:
<command>
  <name>firewall-drop</command>
  <executable>firewall-drop.sh</executable>
  <expect>srcip</expect>
</command>
Active response:
<active-response>
  <command>firewall-drop</command>
  <location>all</location>
  <rules_group>authentication_failed,authentication_failures</rules_group>
  <timeout>700</timeout>
  <repeated_offenders>30,60,120</repeated_offenders>
</active-response>
Active response for a specified period of time
The action of a stateful response continues for a specified period of time.
In this example, the host-deny command is configured to use the host-deny.sh script using the data element scrip.  The active response is configured to initiate the host-deny command on the local host when a rule with a higher alert level than 6 is fired.
Command:
<command>
  <name>host-deny</name>
  <executable>host-deny.sh</executable>
  <expect>srcip</expect>
  <timeout_allowed>yes</timeout_allowed>
</command>
Active response:
<active-response>
  <command>host-deny</command>
  <location>local</location>
  <level>7</level>
  <timeout>600</timeout>
</active-response>
More information: command
Active response that will not be undone
The action of a stateless command is a one-time action that will not be undone.
In this example, the mail-test command is configured to use the mail-test.sh script with no data element.  The active response is configured to initiate the mail-test command on the server when the rule with ID 1002 fires.
Command:
<command>
  <name>mail-test</name>
  <executable>mail-test.sh</executable>
  <timeout_allowed>no</timeout_allowed>
  <expect></expect>
</command>
Active response:
<active-response>
    <command>mail-test</command>
    <location>server</location>
    <rules_id>1002</rules_id>
 </active-response>