ossec - 在哪里放置 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
在代理上添加命令配置,它确实有效。
解决方案
为了从管理器向代理提供配置,您必须使用集中式代理配置,您可以通过将配置添加到agent.conf
每个组的代理组来将配置附加到代理组。
除非另有说明,否则所有代理最初都是该default
组的一部分,因此您必须将其添加到/var/ossec/etc/shared/default/agent.conf
管理器上,以便代理使用它。
向管理器添加配置时,/var/ossec/etc/ossec.conf
这只会影响管理器的操作。
推荐阅读
- javascript - Current Date converted to 10 days before and 10 days after
- python - Google colab:在子进程中打印
- python - 带有带引号的可选值的 argparse “--options --for --other --cmd”
- django - Elasticsearch 文档字段类型索引自动更改
- html - text/html 404 notFound 当需要在角度中使用图像背景时
- r - 如何在 R 中将多维 data.frame 转换为一维 data.frame
- botframework - 电子邮件技能:Microsoft.Graph.ServiceException
- r - 创建分位数摘要时出错,平均值
- docker - 在 Swarm 的 docker 容器上编辑文件
- java - 应用离线工作时如何在spring中加载XSD文件