centos(linux): rpm -V 驗證rpm包安裝程式的安全

刘宏缔的架构森林發表於2024-08-16

一,作用

rpm -Va: 校驗所有的RPM軟體包,通常用來檢查系統檔案是否被植入後門或rootkit

二,例子

# -V: 校驗軟體包,此校驗功能可以用來確認檔案是否被修改或覆蓋

# -a: RPM 校驗系統中所有已安裝的軟體包

[root@blog ~]# rpm -Va > rpmva.txt

返回結果:

[root@blog ~]# more rpmva.txt
....L....  c /etc/pam.d/fingerprint-auth
....L....  c /etc/pam.d/password-auth
....L....  c /etc/pam.d/postlogin
....L....  c /etc/pam.d/smartcard-auth
....L....  c /etc/pam.d/system-auth
.M.......  g /var/log/dmesg
.M.......  g /var/log/dmesg.old
.......T.  c /etc/selinux/targeted/contexts/customizable_types
S.5....T.  c /etc/sysconfig/authconfig
.M.......  g /etc/pki/ca-trust/extracted/java/cacerts
.M.......  g /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
.M.......  g /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
.M.......  g /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
.M.......  g /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
.M.......  g /boot/initramfs-3.10.0-957.el7.x86_64.img

結果說明:

S 表示檔案長度發生了變化
M 表示檔案的訪問許可權或檔案型別發生了變化
5 表示MD5校驗和發生了變化
D 表示裝置節點的屬性發生了變化
L 表示檔案的符號連結發生了變化
U 表示檔案/子目錄/ 裝置節點的owner 發生了變化
G 表示檔案/子目錄/ 裝置節點的group 發生了變化
T 表示檔案最後一次的修改時間是發生了變化

型別說明:

c:配置檔案(config file)
d:普通文件(documentation)
g:“鬼”檔案(ghostfile),很少見,就是該檔案不應該被這個RPM包包含(說明這個rpm包出現了異常)。
l:授權檔案(license file)
r:描述檔案(read me)

三,其他用法:

1, 校驗指定的包:

[root@blog ~]# rpm -V rkhunter
.M.......  g /var/lib/rkhunter/db/backdoorports.dat
.M.......  g /var/lib/rkhunter/db/mirrors.dat
.M.......  g /var/lib/rkhunter/db/programs_bad.dat

2, 校驗包含指定檔案的軟體包是否被修改

# -f: 選項 -f 或者 --file 校驗含有指定檔案的軟體包。
如果使用者僅知道某個檔案,但忘了它所在的軟體包,又想校驗這個包時,可用此選項

[root@blog ~]# rpm -Vf /var/lib/rkhunter/db/mirrors.dat
.M.......  g /var/lib/rkhunter/db/backdoorports.dat
.M.......  g /var/lib/rkhunter/db/mirrors.dat
.M.......  g /var/lib/rkhunter/db/programs_bad.dat

相關文章