首页 > 解决方案 > 在哪里放置 OSSEC 配置 - 监控 crontab

问题描述

我正在评估(香草)OSSEC+(不是 Wazuh)。如果我正确理解文档,所有特定于规则的配置都必须在服务器上完成,这听起来很合理,因为我不想更改每个代理的配置,并且可能的攻击者将无法操纵它。

之后,我希望服务器上所述配置的更改会以某种方式反映在代理上。但在我的情况下,这似乎不会发生。

对于一个测试,我想实现一个 crontab 检查。因此,如果 root 用户的 crontab 发生更改,我想收到有关此的通知。

根据文档,我 /var/ossec/etc/ossec.conf 在服务器上添加了以下内容:

<localfile>
    <log_format>full_command</log_format>
    <command>crontab -u root -l</command>
    <frequency>30</frequency>
</localfile>

以及以下内容/var/ossec/rules/local_rules.xml(也在服务器上)

<rule id="500002" level="7">
    <if_sid>530</if_sid>
    <match>ossec: output: 'crontab</match>
    <check_diff />
    <description>Crontab for user has changed!.</description>
 </rule>

之后,我重新启动了服务器和代理。

现在因为服务器也在监视自己,所以我可以验证此配置在原则上是否正常工作,因为如果我更改服务器上的 crontab,我确实会收到所需的通知。

但这不会发生在代理身上。在stackoverflow上的其他问题/答案之后,我尝试添加

logcollector.remote_commands=1

/var/ossec/etc/local_internal_options.conf(在代理上)

并多次重新启动代理。

当我查看 (agent) 时,我可以看到代理正在做某事, /var/ossec/logs/ossec.log并且确实看到它执行了一些其他命令,但不是我配置的命令。

我究竟做错了什么?尽管文档告诉我,我是否必须将每个配置添加到服务器和每个代理?

PS。如果我/var/ossec/etc/ossec.conf在代理上添加命令配置,它确实有效。

标签: ossec

解决方案


为了从管理器向代理提供配置,您必须使用集中式代理配置,您可以通过将配置添加到agent.conf每个组的代理组来将配置附加到代理组。

除非另有说明,否则所有代理最初都是该default组的一部分,因此您必须将其添加到/var/ossec/etc/shared/default/agent.conf管理器上,以便代理使用它。

向管理器添加配置时,/var/ossec/etc/ossec.conf这只会影响管理器的操作。


推荐阅读