我们一直在寻找一种可以在应用程序级别工作的 CentOS/Linux 上的简单文件完整性监控解决方案。我们不寻找操作系统/网络级别的 IDS,因为 OSSEC 和其他产品在这方面做得很好。
我们研究了集中式(OSSEC)和非集中式(Tripwire Open Source),但是它们在文件限制和递归监控数千个文件/目录方面都有各自的局限性。
本质上,我们有成千上万个 php/cgi/pl 文件,我们希望监控这些文件是否有更改/注入。问题是它们都位于可能包含其他文件类型和其他更改内容的目录中。目录完整性检查不是一种选择,因为目录可能会更改,但我们感兴趣的监控文件不会更改。
是否有一个软件可以使用“查找”命令来获取文件列表,将此文件列表放在数据库中,并对每个文件进行 md5 校验,然后在下次运行时逐个文件匹配文件列表,并提醒对 md5 校验和和新文件的任何更改?
答案1
也许你可以尝试 AIDE (http://aide.sourceforge.net/),并创建一条仅监控*php/cgi/pl文件的规则。
答案2
您可以使用 auditd(用户空间) - 根据您的需要创建规则、集中消息和过滤事件日志。它不会检查完整性,但会监视更改。如果您正在运行自定义服务,那么编写完整性检查实用程序并不难。
顺便说一句。OSSEC 不支持使用文件名的正则表达式规则来检查文件完整性?O_o
答案3
最多文件完整性监控系统应该能够做到这一点,创建一个“已知良好”的基线快照,稍后可以根据该快照检查文件。
你已经提到了开源系统操作系统安全评估中心和 Tripwire,但也有一些商业选项 - 通常具有更好的用户界面,更容易配置,并带有中央管理控制台。其中一个选项是威瑞系统公司,它将允许您指定要包含和排除的文件的模式。用户指南中的一些信息这里。
答案4
查看穆格西。您可以监控特定目录,但排除某些模式。它会在本地和 elasticsearch 中记录。