我有几个系统运行Centos 6并安装了rkhunter.我有一个日常的cron运行rkhunter并通过电子邮件报告.
我经常得到如下报告:
---------------------- Start Rootkit Hunter Scan ---------------------- Warning: The file properties have changed: File: /sbin/fsck Current inode: 6029384 Stored inode: 6029326 Warning: The file properties have changed: File: /sbin/ip Current inode: 6029506 Stored inode: 6029343 Warning: The file properties have changed: File: /sbin/nologin Current inode: 6029443 Stored inode: 6029531 Warning: The file properties have changed: File: /bin/dmesg Current inode: 13369362 Stored inode: 13369366
根据我的理解,rkhunter通常会在扫描的文件中报告更改的哈希和/或修改日期,因此这使我认为没有真正的变化.
我的问题:机器上是否还有其他一些活动可以使inode发生变化(运行ext4),或者这是否真的会定期(每周一次)对这些文件进行更改,这是正常安全更新的一部分?
更新文件通常是通过在同一目录中写入新文件,然后在旧文件的顶部重命名文件来完成的.此方法通常应用于通过包管理器安装的所有内容,但也适用于对可执行文件和库执行的任何更新,即使由于其他原因而更新.
这种更新文件的方式可确保打开文件的任何进程都将获得旧文件或新文件,并且不会在文件中看到任何已更改的文件.它确实意味着每次更新时,您实际上都会有一个具有相同名称的新文件,因此inode编号已更改.
我想这就是这些文件有一个新的inode号的原因.
安全更新可能是一个原因.但是还有另一种可能性,我首先在Fedora Core 1上观察到,并且很可能在某些时候进入Centos.
可执行文件和库正在预先链接,以便它们可以更快地启动并使用更少的内存.在此过程中,加载地址随机化,以便更加困难地利用安全漏洞. cron作业会定期使用新的随机地址重复该过程,从而导致所有预链接的可执行文件和库得到更新.