OSSEC 的另一个吸引人的地方,就是active-response,可以针对规则进行自动处理。不过最好慎用这个功能,否则,干掉了不该干掉的东西,那后果非常严重,所以,用这个东西,自动进行报警,还是不错的选择。
这里还是先给出一个标准配置,进行说明:
<command>
<name>test</name> //这个command 的名字,active-response 之后调用的
<executable>test.sh</executable> //脚本的名字,需要把这个脚本放到 /var/ossec/active-response/bin下 而且需要有执行权限,属于ossec 这个组 -r-xr-x— 1 root ossec 445 11-09 16:15 test.sh
<timeout_allowed>no</timeout_allowed> //超时设置 比如多长时间失效等等
<expect></expect> //例外,一般不设置
</command>
<active-response> //这儿需要放到 <command> 下面,否则 就会出现找不到command
<command>test</command> // 响应的command 的名字,就是上面定义的那个
<location>server</location> //响应的位置,server 就是服务器响应,比如执行一个脚本,agent 就是客户端响应
<level>1</level> //响应的级别。 就是1 级以上就响应
</active-response>
最后,再来看脚本文件,这个脚本就是添加一个用户。
文件名 :test.sh
useradd lion
ACTION=$1
USER=$2
IP=$3
LOCAL=`dirname $0`;
cd $LOCAL
cd ../
PWD=`pwd`
# Logging the call
echo “`date` $0 $1 $2 $3 $4 $5″ >> ${PWD}/../logs/active-responses.log