我在 RHEL 6 服务器上运行 OSSEC HIDS 软件版本 2.8.3。我们一直在实验室中使用 DNS 服务器对此进行测试,以跟踪进入我们的 RPZ 和恶意软件区域的查询。DNS 服务器已安装 OSSEC 代理。为了让它工作,我们必须使用一个定制的书面解码器。除了那些“开箱即用”安装的解码器之外,还有其他人对 OSSEC 和自定义解码器有任何经验吗?我主要是想获得关于其他系统管理员正在使用 OSSEC 做什么的创造性想法,这些想法在我们的生产环境中也可能有用。
例如,有没有人成功编写/使用自定义解码器来检测 Linux 的 USB 存储?
更新:我一直在研究自定义解码器和检测 USB 设备何时插入服务器的规则。这是我想要匹配的日志行:
Feb 3 10:23:08 testsys kernel: usb 1-1.2: New USB device found, idVendor=0781, idProduct=5575
我在 OSSCE 中的解码器规则:
<decoder name="usb-storage">
<program_name>kernel</program_name>
</decoder>
<decoder name="usb-storage-attached">
<parent>usb-storage</parent>
<regex offset="after_parent">^USB \S+: New</regex>
<order>extra_data</order>
</decoder>
我在 OSSEC 的规则:
<group name="syslog,">
<!-- USB Storage Detection Log Types -->
<!-- level=0 for not generating alerts by default -->
<rule id="310201" level="0">
<decoded_as>usb-storage</decoded_as>
<description>Looking for unknown USB attached storage</description>
</rule>
<!-- USB Storage Detection Event Chains -->
<!-- Fire an alert (level=8) if the log line contains "New USB device found" -->
<rule id="310202" level="8">
<if_sid>310201</if_sid>
<match>^New USB device found</match>
<description>Attached USB Storage</description>
</rule>
</group>
iptables使用内核作为program_name:
我们可以使用iptables作为父级(而不是内核)。此外,id字段用于方便创建规则。所以,你需要这个解码器:
规则可以是:
现在,您可以将规则 310201 用于与 USB 相关的所有内容。规则 310202 就是您想要的规则:
我刚刚添加到我们的规则集存储库:解码器和规则。
您可以尝试我们的 OSSEC 规则集。它使用新的解码器和规则定期更新。
在这里能找到它:
https://github.com/wazuh/ossec-rules
说明在这里(包括一个自动运行更新的脚本):
http://documentation.wazuh.com/en/latest/ossec_ruleset.html
关于 USB 存储检测,我在 Windows 上做了,配置如下:
和这样的规则:
对于Linux,我认为它会更容易。您有日志消息的示例吗?很可能您只需要为其创建规则。