![ossec 实时文件监控仅报告第一次更改,但后续更改仅由计划的后续扫描报告](https://linux22.com/image/697650/ossec%20%E5%AE%9E%E6%97%B6%E6%96%87%E4%BB%B6%E7%9B%91%E6%8E%A7%E4%BB%85%E6%8A%A5%E5%91%8A%E7%AC%AC%E4%B8%80%E6%AC%A1%E6%9B%B4%E6%94%B9%EF%BC%8C%E4%BD%86%E5%90%8E%E7%BB%AD%E6%9B%B4%E6%94%B9%E4%BB%85%E7%94%B1%E8%AE%A1%E5%88%92%E7%9A%84%E5%90%8E%E7%BB%AD%E6%89%AB%E6%8F%8F%E6%8A%A5%E5%91%8A.png)
我们目前在 Windows 上运行了一些 ossec 代理,并对激活的文件进行了实时监控 - 代理站点上的配置如下:
<syscheck>
<!-- Frequency that syscheck is executed - default to every 2 hours -->
<frequency>7200</frequency>
<directories check_all="yes" realtime="yes">D:\path1</directories>
<directories check_all="yes" realtime="yes">D:\path2</directories>
<disabled>no</disabled>
<auto_ignore>no</auto_ignore>
</syscheck>
这基本上是有效的 - 除了只实时报告文件的第一次编辑。同一文件的任何后续更改仅每 7200 秒通过计划扫描报告一次,但第一次编辑后不会触发实时通知。
如果我编辑另一个以前未修改过的文件 - 它会在第一次更改时再次起作用,但之后则不会起作用。
是否有其他设置可以检查/更改/设置,以便可靠地收到文件更改通知?可以查看哪些内容来识别问题?
这有点令人费解...非常感谢您的任何意见。
答案1
答案是:存在某种导致错误的默认值:
- 您必须在代理端请求实时监控作为额外的标志
- 您必须在服务器端禁用 auto_ignore,因为默认为是 -> 意味着忽略初始更新之后来自代理的进一步更新
在调试级别 2 中运行代理时,可以看到所有文件都受到监控,检测到更改并将数据发送到服务器。但服务器默认忽略它们。即使以这种方式记录,这也有点令人困惑/误导!应该注意,在实时标志上也必须更改服务器端 - 这两个设置的相互依赖性并不明显!
令人困惑的是:第一次更改有效,但同一文件的第二次更改无效!就是这样!
答案2
也许是显而易见的,或者是愚蠢的疏忽,但是在代理端添加 path2 后 OSSEC 是否重新启动了?
如果是,ossec.log 是否反映它正在正确监视 path2 目录,即
2017/02/08 00:58:31 ossec-syscheckd: INFO: Directory set for real time monitoring: '/etc'.
2017/02/08 00:58:31 ossec-syscheckd: INFO: Directory set for real time monitoring: '/usr/bin'.
日志可能会提供一些线索或额外的见解。