find /proc/\*/exe -exec readlink {} + | xargs rpm -qf | xargs rpm -V
find /proc/\*/exe -exec readlink {} + | xargs dpkg -S | cut -d: -f1 | xargs dpkg -V
校验所有包文件
另一件需要检查确认的事是即所有属于包的二进制文件都没有被修改。这个过程可能需要一段时间才能完成,但这是值得。我们可以设置一个cron jobs,以在指定时间来运行它。
校验所有包文件
rpm -Va
dpkg -V
输出结果
输出应该显示属于包的任何二进制文件,计算二进制文件的哈希值,并将其与包安装或更新时保存的值进行比较。以下是基于Redhat系统的输出。使用dpkg的Debian系统不校验其中的大部分,因此如果修改了二进制文件,只显示“5”。
S 文件大小不同
M 模式不同(包括权限和文件类型)
5 摘要(以前的MD5 sum)不同
D 设备主/次要号不匹配
L readLink(2)路径不匹配
U 用户所有权不同
G 组的所有权不同
T mTime不同
P caPabilities不同
检查RAW套接字
我们经常能