有人可以解释主动响应配置中的 ossec 代理如何检测或响应事件(例如,扫描网络服务器 404 状态代码的尝试)。
我知道服务器上的以下 xml 块最终会启动代理端的响应。但是所有规则都保存在 /root 目录中,而不是代理的通常安装目录中。除了监控 apache 访问日志之外,它没有脚本或正则表达式告诉我们要检查什么状态代码。
它是使用 udp 端口 1514 在客户端和服务器之间动态共享的东西吗?请帮助我理解它。
!-- Active response to block http scanning -->
<active-response>
<command>route-null</command>
<location>local</location>
<!-- Multiple web server 400 error codes from same source IP -->
<rules_id>31151</rules_id>
<timeout>600</timeout>
</active-response>
这正是 Ossec 的工作原理。引用Ossec 文档:
所以 Ossec 代理在某种程度上是“愚蠢的”,他们不会自己决定阻止/解除阻止。它们将来自指定日志源(在 中定义
etc/shared/agent.conf
)的所有数据提供给管理服务器(在 中定义etc/ossec.conf
)。管理服务器解析日志条目并根据定义的规则采取行动rules/
,如果需要,命令代理采取预定义的行动(通常阻止/取消阻止 IP 地址)。要监控 ossec 管理服务器日志解析,你可以,例如,做一个
tail -f logs/alerts/alerts.log
.如果你想忽略 http 日志中的所有 400 错误,你可以将以下内容添加到你
rules/local_rules.xml
的 Ossec 服务器上。您应该始终在文件中进行自定义,并单独
local_rules.xml
保留提供的解码器(例如)。web_rules.xml
您还应该将本地规则的规则 ID 保持在 100000-119999 之间,因为它们是专门为该用途保留的。