📦如何检查是否已添加或修改了任何RPM文件
问题:在某些情况下,怀疑安装rpm后系统上的文件已被修改或篡改。
例如,系统受到攻击,并且ssh二进制文件被篡改。
自安装以来进行比较,如何检查是否已对其进行更改?
要检查自安装以来在系统上使用rpm或yum安装的文件是否已更改,请使用以下命令:
# rpm -V [PACKAGE_NAME]
如果自安装以来在rpm中修改了任何文件,则将在上述命令的输出中列出该文件。 每行将以指示更改的特定标志开始。 每个标志的含义如下表所示:
小号 | 文件大小不同 |
中号 | 模式不同(包括权限和文件类型) |
五 | MD5数量不同 |
d | 主要/次要设备号不匹配 |
大号 | readLink(2)路径不匹配 |
ü | 用户所有权不同 |
G | 小组所有权不同 |
Ť | 时差 |
例
1.怀疑SSH服务器已被黑客入侵。
因此,让我们首先检查文件分发的rpm:
# yum provides */sshd openssh-server
因此,openssh-server是在我们的系统上提供ssh二进制文件的rpm。
2.然后检查openssh-server rpm提供的文件中的更改:
# rpm -V openssh-server
如果任何文件已被修改,它将在上面命令的输出中列出。 像这样:
S.5....T. /usr/sbin/sshd
此处的标志表示SSH服务器二进制文件已被修改:
S Размер файла отличается 5 Сумма MD5 отличается T Разница во времени
该文件的大小,MD5校验和和修改时间戳不同于RPM分发的文件。
3.现在,我们可以尝试使用yum重新安装软件包,以从存储库中获取原始可再发行文件:
# yum reinstall openssh-server
特别地,例如。 您需要重新启动SSH服务器。
# service sshd restart
对于基于systemd的发行版,请使用systemctl重新启动服务:
# systemctl restart sshd