rkhunter 警告 inode 更改但没有文件修改日期更改

Nic*_*ell 8 centos yum rkhunter

我有几个系统运行 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
Run Code Online (Sandbox Code Playgroud)

据我了解,rkhunter 通常会向扫描文件报告更改的哈希和/或修改日期,所以这让我认为没有真正的变化。

我的问题:机器上是否还有其他活动可以更改 inode(运行 ext4),或者这是否真的yum对这些文件进行了定期(~每周一次)更改,作为正常安全更新的一部分?

kas*_*erd 8

更新文件通常是通过在同一目录中写入一个新文件,然后在旧文件的顶部重命名该文件来完成的。此方法通常适用于通过包管理器安装的所有内容,但也适用于对可执行文件和库执行的任何更新,即使由于其他原因进行了更新。

这种更新文件的方式确保打开文件的任何进程都将获得旧文件或新文件,并且看不到它们打开的文件中的任何更改。这确实意味着每次更新时,您实际上都会有一个同名的新文件,因此 inode 编号已更改。

我想这就是这些文件具有新 inode 编号的原因。

安全更新可能是一个原因。但还有另一种可能性,我首先在 Fedora Core 1 上观察到,这很可能在某个时候进入 Centos。

可执行文件和库被预先链接,以便它们可以更快地启动并使用更少的内存。在此过程中,加载地址被随机化,从而使利用安全漏洞变得更加困难。cron 作业会定期使用新的随机地址重复该过程,从而导致所有预链接的可执行文件和库得到更新。

  • 是的,预链接似乎是这里最可能的解释。 (2认同)