8.1 命令内容监控
wazuh命令监控功能是wazuh执行系统命令或者脚本,对执行之后输出的结果发送到wazuh管理端进行规则识别,获取到监控信息进而告警这么一个功能。
查看代理端的配置文件,可以发现官方预先定义的三个命令监控指令,其中包括磁盘大小监控、端口开放情况监控以及用户最近登录信息监控。
其中日志收集格式log_format对于命令内容收集有两种:command和full_command,他们区别是前者收集命令执行后单行内容是,后者是收集命令执行后多行命令内容。
<!-- Log analysis -->
<localfile>
<log_format>command</log_format>
<command>df -P</command>
<frequency>360</frequency>
</localfile>
<localfile>
<log_format>full_command</log_format>
<command>netstat -tulpn | sed 's/\([[:alnum:]]\+\)\ \+[[:digit:]]\+\ \+[[:digit:]]\+\ \+\(.*\):\([[:digit:]]*\)\ \+\([0-9\.\:\*]\+\).\+\ \([[:digit:]]*\/[[:alnum:]\-]*\).*/\1 \2 == \3 == \4 \5/' | sort -k 4 -g | sed 's/ == \(.*\) ==/:\1/' | sed 1,2d</command>
<alias>netstat listening ports</alias>
<frequency>360</frequency>
</localfile>
<localfile>
<log_format>full_command</log_format>
<command>last -n 20</command>
<frequency>360</frequency>
</localfile>command标签内的内容就是shell命令,把端口开放情况监控命令在shell界面执行一下,看到输出内容有通信协议、监听端口和端口服务,wazuh就会把这些内容丢到管理端进行规则处理,这个规则需要自定义编写识别内容。
wazuh管理端收到该日志并进入处理之后,变成了一条ID号533告警日志

通过告警日志有规则ID号,去找到对应的识别规则。关于规则内容在规则那一章节说明,先不细说。
使用这个功能的话,有两种使用方式,一种是直接修改代理端配置文件,新增命令监控内容,不过这种我是不推荐这种,改起来很复杂;另一种就是通过管理端下发配置文件,这种需要代理端开启远程命令内容收集权限。
设置共享配置文件
我们先不对ps aux内容做规则和告警处理,单纯查看代理端是否执行这个命令,并且是否将日志发送到管理端。
开启记录全部日志,并且重启管理端服务。
等一分钟时间,就可以看到/var/ossec/logs/archives/archives.log文件已经收到日志。

现在看到是原始日志,后面在规则自定义章节进行对日志的处理。
最后更新于
这有帮助吗?