我希望Samhain监视文件,例如/root/somefile
。该文件当前不存在,但是如果要在任何时候创建该文件,我希望得到通知。
我将此添加到samhainrc
:
[ReadOnly]
file = /root/somefile
这导致Samhain发出以下日志条目:
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] interface=<lstat>, msg=<No such file or directory>, userid=<0>, path=</root/somefile>
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT : [2018-10-18T22:54:04+0000] msg=<POLICY MISSING>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: INFO : [2018-10-18T22:54:19+0000] msg=<Checking [ReadOnly]>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: NOTICE : [2018-10-18T22:54:19+0000] msg=<Check failed>, path=</root/somefile>
而且,如果我使用创建该文件echo test > /root/somefile
,则不会记录任何违反政策的行为-该文件的添加未被注意到。
如果创建了以前不存在的感兴趣文件,我如何配置Samhain通知我?
该IgnoreMissing
配置选项会出现在乍看之下是有用的,但事实并非如此。使用IgnoreMissing = /root/somefile
in samhainrc
,行为不会改变。看来,此选项用于预期以后会丢失的文件-如果文件曾经存在,但现在不存在,例如,如果自动化过程删除了过时的文件,它将取消警报。
尽管/root/somefile
显然是在这种情况下弥补的,但一个不存在的文件突然开始存在的示例是:如果该文件/home/someuser/.ssh/authorized_keys
先前不存在但突然存在了-这可能是恶意用户利用某些东西丢弃了后门程序,他们以外壳程序用户身份登录。这是我想提醒的事情。
可以使用它dir = /home/someuser/.ssh
来监视用户文件夹中的所有更改.ssh
,但这无济于事:如果用户在其帐户中使用SSH是正常的,则他们的.ssh/known_hosts
文件可能会更改,他们可能会更改其ssh_config
等等,而我不想被那些提醒。因此,除了某些列入白名单的文件,我不想监视整个目录。除了特定的关键文件之外,我想不监控目录。
authorized_keys
可以正常工作。