大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
走近OSSIM传感器(Sensor)插件
在陆丰等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站建设 网站设计制作按需制作网站,公司网站建设,企业网站建设,品牌网站设计,网络营销推广,外贸营销网站建设,陆丰网站建设费用合理。在上一篇博文介绍完OSSIM架构何组成,接着要介绍它“神秘”的插件,阅读插件前提示您熟练掌握正则表达式。
Sensor启用插件列表,管理它们非常简单:
下面看看插件全局配置文件
[plugins]
apache=/etc/ossim/agent/plugins/apache.cfg
nmap-monitor=/etc/ossim/agent/plugins/nmap-monitor.cfg
ossec-single-line=/etc/ossim/agent/plugins/ossec-single-line.cfg
ossim-monitor=/etc/ossim/agent/plugins/ossim-monitor.cfg
pam_unix=/etc/ossim/agent/plugins/pam_unix.cfg
ping-monitor=/etc/ossim/agent/plugins/ping-monitor.cfg
prads_eth0=/etc/ossim/agent/plugins/prads_eth0.cfg
ssh=/etc/ossim/agent/plugins/ssh.cfg
sudo=/etc/ossim/agent/plugins/sudo.cfg
suricata=/etc/ossim/agent/plugins/suricata.cfg
whois-monitor=/etc/ossim/agent/plugins/whois-monitor.cfg
wmi-monitor=/etc/ossim/agent/plugins/wmi-monitor.cfg
Sensor插件将预处理数据发往Server,定义如下
[output-server]
enable=True
ip=192.168.91.228
port=40001
send_events=True
1. Apache日志处理插件
下面已Apache插件为例,看看插件中的正则表达式:
[0001 - apache-access] 访问日志
event_type=event
regexp=((?P\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(:(?P\d{1,5}))? )?(?P\S+) (?P\S+) (?P\S+) \[(?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={resolv($src)}
dst_ip={resolv($dst)}
dst_port={$port}
date={normalize_date($date)}
plugin_sid={$code}
username={$user}
userdata1={$request}
userdata2={$size}
userdata3={$referer_uri}
userdata4={$useragent}
filename={$id}
[0002 - apache-error] 错误日志
event_type=event
regexp=\[(?P\w{3} \w{3} \d{2} \d{2}:\d{2}:\d{2} \d{4})\] \[(?P(emerg|alert|crit|error|warn|notice|info|debug))\] (\[client (?P\S+)\] )?(?P.*)
date={normalize_date($date)}
plugin_sid={translate($type)}
src_ip={resolv($src)}
userdata1={$data}
如果您对Apache日志基本格式不太了解请参看《Unix/Linux网络日志分析与流量监控》一书。
如果您是通过syslog转发apache日志,那么正则该这样写:
[0001 - apache-syslog-access]
event_type=event
regexp=^\w{3}\s+\d{1,2} \d\d:\d\d:\d\d (?P\S+) \S+: ((?P\S+)(:(?P\d{1,5}))? )?(?P\S+) (?P\S+) (?P\S+) \[(?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={resolv($src)}
dst_ip={resolv($dst)}
dst_port={$port}
device={resolv($device)}
date={normalize_date($date)}
plugin_sid={$code}
username={$user}
userdata1={$request}
userdata2={$size}
userdata3={$referer_uri}
userdata4={$useragent}
filename={$id}
[0002 - apache-syslog-error]
event_type=event
regexp=^(?P\w{3}\s+\d{1,2} \d\d:\d\d:\d\d) (?P\S+) \S+: \[(?P(emerg|alert|crit|error|warn|notice|info|debug))\] (\[client (?P\S+)\] )?(?P.*)
date={normalize_date($date)}
dst_ip={resolv($device)}
device={resolv($device)}
date={normalize_date($date)}
plugin_sid={translate($type)}
src_ip={resolv($src)}
userdata1={$data}
下面看看Apache插件有啥能耐?
这就是对Apache日志的归一化处理的效果,每类插件对应了一个插件ID,大家在使用SIEM事件分析时要牢记该ID号(看多了就懂了)。
2. SSH日志处理插件
Apache日志比较简单,下面介绍的SSH日志就复杂多啦
由上面第一条正则处理的归一化事件如下图所示。
接着我们看看第二条正则在处理“无效用户”是如何生成归一化事件的
接着看一条SSH日志插件正则表达式
经过处理后生成对应的归一化事件,如下图所示。
当使用SSH或SFTP连接某个host时,会有一系列的检查以保证你能够连接到你想连接的机器。其中一项是 “reverse lookup on the IP address”检查机器名称和你要连接的机器名称一致。否则,你会得到这样一个错误信息:”reverse mapping checking getaddrinfo for … POSSIBLE BREAK-IN ATTEMPT!”.这是告诉我们,尽管我们在连接example.com ,但是实际上该server的IP 地址对应到a.b.c.d.adsl-pool.jx.chinaunicom.com 。但这个发生的时候,就是因为server 上的reverse DNS 没有设置好。
下回有时间再讲讲Cisco-ASA插件。
看完这些事例,有人感觉到一个问题,归一化之后的事件内容,比原始日志富含的信息多了,为什么?若大家想详细了解这种基于插件的日志采集处理方式,请参考《开源安全运维平台-OSSIM最佳实践》一书。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。