OSSEC配置放置问题:如何通过服务端配置实现agent端crontab变更监控
你混淆了OSSEC两类配置的生效范围,官方文档提到的「无需修改agent配置」特指规则、解码器这类服务端侧的告警逻辑配置,而你添加的<localfile>命令采集配置属于agent侧的运行逻辑,默认不会从服务端本地的ossec.conf同步。
具体原因说明
- 你写在服务端
/var/ossec/etc/ossec.conf里的<localfile>配置仅作用于服务端自身的监控采集,所以只有服务端改crontab能触发告警,和agent完全无关。 - 原生OSSEC支持集中推送agent配置,不需要逐个登录agent修改,但配置要写在指定的集中配置路径里,不是服务端本地的
ossec.conf。
正确操作步骤
- 确认所有agent已配置允许执行远程命令
agent侧/var/ossec/etc/local_internal_options.conf必须包含以下配置,该配置为安全限制选项,必须在agent本地配置(可以装机预写或者用批量运维工具推送):logcollector.remote_commands=1 - 在服务端编写集中采集配置
打开服务端默认分组的集中配置文件/var/ossec/etc/shared/default/agent.conf,添加你的crontab采集配置:<localfile> <log_format>full_command</log_format> <command>crontab -u root -l</command> <frequency>30</frequency> </localfile> - 验证配置合法性,避免错误配置导致agent拉取失败
服务端执行命令:/var/ossec/bin/verify-agent-conf - 等待agent同步配置
不需要重启服务端或agent,agent默认每10分钟会向服务端拉取一次最新的集中配置,拉取成功后会自动启动crontab检查任务,可在agent的/var/ossec/logs/ossec.log中看到对应执行日志。 - 规则不需要修改,你写在服务端
/var/ossec/rules/local_rules.xml的规则完全符合要求,无需同步到agent。
补充说明
官方文档的描述没有问题,规则、解码器、告警触发逻辑全部运行在服务端,agent只负责采集数据上传,不需要做任何规则相关配置。仅采集类配置需要通过集中配置功能推送,不需要逐个手动修改agent配置。
内容的提问来源于stack exchange,提问作者Dantel35
相关产品推荐
相关产品推荐

