,
在上一篇博文介绍完OSSIM架构何组成,接着要介绍它“神秘”的插件,阅读插件前提示您熟练掌握正则表达式。
传感器启用插件列表、管理它们非常简单:
下面看看插件全局配置文件
(插件)apache=/etc/OSSIM/代理/插件/apache.cfg
nmap-monitor=/etc/OSSIM/代理/插件/nmap-monitor.cfg
ossec-single-line=/etc/OSSIM/代理/插件/ossec-single-line.cfg
ossim-monitor=/etc/OSSIM/代理/插件/ossim-monitor.cfg
pam_unix=/etc/OSSIM/代理/插件/pam_unix.cfg
ping-monitor=/etc/OSSIM/代理/插件/ping-monitor.cfg
prads_eth0=/etc/OSSIM/代理/插件/prads_eth0.cfg
=/etc/ssh OSSIM/代理/插件/ssh.cfg
sudo=/etc/OSSIM/代理/插件/sudo.cfg
suricata=/etc/OSSIM/代理/插件/suricata.cfg
whois-monitor=/etc/OSSIM/代理/插件/whois-monitor.cfg
wmi-monitor=/etc/OSSIM/代理/插件/wmi-monitor。cfg
传感器插件将预处理数据发往服务器,定义如下
[output-server]
使=True ip=192.168.91.228
=40001港
send_events=True
,
<强> 1。Apache日志处理插件强>
下面已Apache插件为例,看看插件中的正则表达式:
<强>(0001年的Apache访问)强>访问日志
event_type=事件regexp=((? p \ d {1,3} \ \ d {1,3} \。\ d {1,3} \ \ d {1,3}) (: (? p \ d {1, 5})) ?) ? (? p \ S +) (\ S + p) (\ S + p) \ [(? p \ d {2} \/\ w {3} \/\ d {4}: \ d {2}: \ d {2}: \ d {2}) \ S + (+ -) \ d {4} \] \ " (? p [^ \] *) \”(? p <代码> \ d {3}) ((? p \ d +) | -) (\ " (? p [^ \] *) \ \”(? p[^ \] *) \”) ? $ 代码>
src_ip={决心(src)美元}
dst_ip={决心(dst)美元}
dst_port={$港口}
日期={normalize_date(日期)美元}
plugin_sid={$代码}
用户名={$ user}
userdata1={$请求}
userdata2={$大小}
userdata3={$ referer_uri}
userdata4={$ useragent}
文件名={$ id}
<强> [0002 - Apache错误]强>错误日志
event_type=事件regexp=\ [(?P {3} \ \ w w {3} \ d {2} \ d {2}: \ d {2}: \ d {2} \ d {4}) \] \ [(? P(紧急情况|警报|暴击| |错误警告| | |信息通知调试))\](\[客户(? \ S + P) \]) ? (? P . *)
日期={normalize_date(日期)美元}
plugin_sid={翻译(类型)美元}
src_ip={决心(src)美元}
userdata1={$ data}
如果您对Apache日志基本格式不太了解请参看《Unix/Linux网络日志分析与流量监控》一书。
,
如果您是通过syslog转发Apache日志,那么正则该这样写:
<强> [0001 - apache-syslog-access] 强>
event_type=事件
regexp=^ \ w {3} \ S + \ d {1,2} \ \ d: \ d \ d: \ \ d (\ S + P) \ S +: ((? P \ S +) (: (? P \ d {1, 5})) ?) ? (? P \ S +) (? P \ S +) (\ S + P) \ [(? P \ d {2} \/\ w {3} \/\ d {4}: \ d {2}: \ d {2}: \ d {2}) \ S + (+ -) \ d {4} \] \”(? P . *) \”(? P <代码> \ d {3}) ((? P \ d +) | -) (\”(? P . *) \“\”(P . *) \”) ?$
src_ip={决心(src)美元}
dst_ip={决心(dst)美元}
dst_port={$港口}
设备={决心(设备)美元}
日期={normalize_date(日期)美元}
plugin_sid={$代码}
用户名={$ user}
userdata1={$请求}
userdata2={$大小}
userdata3={$ referer_uri}
userdata4={$ useragent}
文件名={$ id} 代码>
,
<强> [0002 - apache-syslog-error] 强>
event_type=事件
regexp=^ (?P \ w {3} \ s + \ d {1,2} \ \ d: \ d \ d: \ \ d) (\ s + P) \ s +: \ [(? P(紧急情况|警报|暴击| |错误警告| | |信息通知调试))\](\[客户(? \ s + P) \]) ? (? P . *)
日期={normalize_date(日期)美元}
dst_ip={决心(设备)美元}
设备={决心(设备)美元}
日期={normalize_date(日期)美元}
plugin_sid={翻译(类型)美元}
src_ip={决心(src)美元}
userdata1={$ data}
下面看看Apache插件有啥能耐?
这就是对Apache日志的归一化处理的效果,每类插件对应了一个插件ID,大家在使用SIEM事件分析时要牢记该ID号(看多了就懂了)。
,
<强> 2。SSH日志处理插件强>
,
Apache日志比较简单、下面介绍的SSH日志就复杂多啦
由上面第一条正则处理的归一化事件如下图所示。