开发者社区 问答 正文

Linux 用 rpm 检查文件系统的完整性

如何用Linux的rpm命令检查文件系统的完整性?

展开
收起
开发者说 2019-07-16 16:23:24 1585 分享 版权
1 条回答
写回答
取消 提交回答
  • 检验文件属性是否发生变化是验证文件系统完整性最直接、最简单的方法。最直观的方法就是比较入侵系统的文件大小和正常系统相对应的文件的大小是否一致,但是这种方法比较麻烦,效率也不高。

    本文介绍借助 Linux 系统中的 rpm 工具来检验文件系统的方法:

    1. 比如这里以检验有关 ssh 的系统文件是否有被篡改。

    2. 第一步先查询和 ssh 相关联的 rpm 包:

       
    1. rpm qa|grep ssh

    2. 根据检查出来的关联 rpm 包用以下命令来检验其完整性:

       
    1. rpm Va openssh* 以及rpm Va libssh2来检验

     

    3. 这里校验失败才会有内容输出:

    • S 代表文件大小改变
    • 5 代表md5校验和改变,说明文件内容被修改了
    • T 代表修改时间发生了变化
    • 其他本例没有显示的关键字还有:
    • L 代表链接改变
    • D 代表设备改变
    • U 代表文件属主改变
    • G 代表文件属组改变
    • M 代表文件的访问权限或文件类型发生了改变

    如果在检验中有出现 M 的话,建议卸载这个 RPM 包再重新安装,因为对应的文件可能已经遭到篡改或者被替换了。

    不过这个命令也有一些局限性,不能检验其他非 RPM 安装的文件,如果 RPM 工具也被入侵者替换就不能正常使用了,此时需要从其他正常机器中进行拷贝一个 RPM 工具来检测。


    2019-07-22 11:21:36
    赞同 展开评论