☰
【RHCA+】RPM包验证和数字证书
2026/10/18 1:42:52 网站建设 项目流程

“ 目录:RHCA+ -> 6 软件仓库 -> 23 RPM包验证和数字证书 ”

为发现误删或恶意篡改文件内容时使用

一、RPM包校验

将已安装文件和/var/lib/rpm/目录下的数据库内容进行比较,判断已安装的软件包(或文件)是否被修改;语法格式为:rpm 参数 对象

对配置文件修改一般是配置时操作的;而二进制相关文件一般不会改,所以要格外注意

参数

作用

-V 已安装的包名

校验指定 RPM 包中的文件,verity的首字母

-f 系统文件名

校验某个系统文件是否被修改

[root@wuzuniao ~]# rpm -V time #执行后无任何信息,表示和原文件一样,未被改动过

[root@wuzuniao ~]# rpm -V time #手动修改后重新查询,已列出修改后的文件信息

S.5....T. d /usr/share/doc/time-1.7/README #说明文件README的大小、内容、修改时间被人为修改过

1、前面8个字符(S.5....T)属于验证信息,含义如下:

S:文件大小是否改变

M:文件的类型或文件的权限(rwx)是否改变

5:文件MD5校验和是否改变(可以看成文件内容是否改变)

D:设备的主从代码是否改变

L:文件路径是否改变

U:文件的属主(所有者)是否改变

G:文件的属组是否改变

T:文件的修改时间是否改变

.:若相关项没发生改变,用 . 表示

2、被修改文件类型,含义如下:

c:配置文件(configuration file)

d:普通文档(documentation)

g:"鬼"文件(ghost file),很少见,该文件不应该被RPM包包含

l:授权文件(license file)

r:描述文件(read me)

?:不可读文件

3、被修改文件所在绝对路径(包含文件名)

[root@wuzuniao ~]#

二、RPM包数字证书校验

校验RPM包本身是否被修改

数字证书默认放在/etc/pki/rpm-gpg/目录,本身也是一个RPM包

数字证书,又称数字签名,由软件开发商直接发布。系统安装数字证书后,若RPM包被修改,包的数字证书也会改变,将导致校验不过无法安装

1、必须要原厂的公钥文件,然后才能本机安装

2、安装RPM包会提取包中的证书信息和本机安装的原厂证书进行验证。验证通过,则允许安装;验证不通过,则不允许安装并发出警告

参数

作用

--import

导入数字证书,密钥文件

-K

验证签名,判断来源是否合法、完整性

dsa,gpg:验证来源合法性,也即验证签名;可使用--nosignature跳过

sha1,md5:验证软件包完整性;可使用--nodigest跳过

1、导入签名

[root@wuzuniao ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta #安装数字证书

[root@wuzuniao ~]# rpm -qa | grep gpg-pubkey #验证已安装的数字证书

gpg-pubkey-897da07a-3c979a7f

gpg-pubkey-f21541eb-4a5233e7

[root@wuzuniao ~]# rpm -qi gpg-pubkey-f21541eb-4a5233e7 #查询数字证书包的详细信息

Name : gpg-pubkey

Version : f21541eb

Release : 4a5233e7

Architecture: (none)

Install Date: Sun 02 Apr 2023 09:04:16 PM CST

Group : Public Keys

Size : 0

License : pubkey

Signature : (none)

Source RPM : (none)

Build Date : Tue 07 Jul 2009 01:27:03 AM CST

Build Host : localhost

Relocations : (not relocatable)

Packager : Red Hat, Inc. (beta key 2) security@redhat.com

Summary : gpg(Red Hat, Inc. (beta key 2) security@redhat.com)

Description :

-----BEGIN PGP PUBLIC KEY BLOCK-----

Version: rpm-4.11.1 (NSS-3)

mQINBEmkAzABEAC2/c7bP1lHQ3XScxbIk0LQWe1YOiibQBRLwf8Si5PktgtuPibT

kKpZjw8p4D+fM7jD1WUzUE0X7tXg2l/eUlMM4dw6XJAQ1AmEOtlwSg7rrMtTvM0A

BEtI7Km6fC6sU6RtBMdcqD1cH/6dbsfh8muznVA7UlX+PRBHVzdWzj6y8h84dBjo

gzcbYu9Hezqgj/lLzicqsSZPz9UdXiRTRAIhp8V30BD8uRaaa0KDDnD6IzJv3D9P

xQWbFM4Z12GN9LyeZqmD7bpKzZmXG/3drvfXVisXaXp3M07t3NlBa3Dt8NFIKZ0D

FRXBz5bvzxRVmdH6DtkDWXDPOt+Wdm1rZrCOrySFpBZQRpHw12eo1M1lirANIov7

Z+V1Qh/aBxj5EUu32u9ZpjAPPNtQF6F/KjaoHHHmEQAuj4DLex4LY646Hv1rcv2i

QFuCdvLKQGSiFBrfZH0j/IX3/0JXQlZzb3MuMFPxLXGAoAV9UP/Sw/WTmAuTzFVm

G13UYFeMwrToOiqcX2VcK0aC1FCcTP2z4JW3PsWvU8rUDRUYfoXovc7eg4Vn5wHt

0NBYsNhYiAAf320AUIHzQZYi38JgVwuJfFu43tJZE4Vig++RQq6tsEx9Ftz3EwRR

fJ9z9mEvEiieZm+vbOvMvIuimFVPSCmLH+bI649K8eZlVRWsx3EXCVb0nQARAQAB

tDBSZWQgSGF0LCBJbmMuIChiZXRhIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0LmNv

bT6JAjYEEwECACAFAkpSM+cCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCT

ioDK8hVB6/9tEAC0+KmzeKceXQ/GTUoU6jy9vtkFCFrmv+c7ol4XpdTt0QhqBOwy

6m2mKWwmm8KfYfy0cADQ4y/EcoXl7FtFBwYmkCuEQGXhTDn9DvVjhooIq59LEMBQ

OW879RwwzRIZ8ebbjMUjDPF5MfPQqP2LBu9N4KvXlZp4voykwuuaJ+cbsKZR6pZ6

0RQKPHKP+NgUFC0fff7XY9cuOZZWFAeKRhLN2K7bnRHKxp+kELWb6R9ZfrYwZjWc

MIPbTd1khE53L4NTfpWfAnJRtkPSDOKEGVlVLtLq4HEAxQt07kbslqISRWyXER3u

QOJj64D1ZiIMz6t6uZ424VE4ry9rBR0Jz55cMMx5O/ni9x3xzFUgH8Su2yM0r3jE

Rf24+tbOaPf7tebyx4OKe+JW95hNVstWUDyGbs6K9qGfI/pICuO1nMMFTo6GqzQ6

DwLZvJ9QdXo7ujEtySZnfu42aycaQ9ZLC2DOCQCUBY350Hx6FLW3O546TAvpTfk0

B6x+DV7mJQH7MGmRXQsE7TLBJKjq28Cn4tVp04PmybQyTxZdGA/8zY6pPl6xyVMH

V68hSBKEVT/rlouOHuxfdmZva1DhVvUC6Xj7+iTMTVJUAq/4Uyn31P1OJmA2a0PT

CAqWkbJSgKFccsjPoTbLyxhuMSNkEZFHvlZrSK9vnPzmfiRH0Orx3wYpMQ==

=21pb

-----END PGP PUBLIC KEY BLOCK-----

[root@wuzuniao ~]# rpm -e gpg-pubkey-f21541eb-4a5233e7 #卸载数字证书,不推荐手动卸载

[root@wuzuniao ~]# rpm -qa | grep gpg-pubkey #再次查看数字证书已经少了个

gpg-pubkey-897da07a-3c979a7f

[root@wuzuniao ~]#

2、验证合法性

[root@wuzuniao ~]# rpm -K /media/cdrom/Packages/httpd-2.4.6-17.el7.x86_64.rpm #验证签名,判断来源是否合法、完整性

/media/cdrom/Packages/httpd-2.4.6-17.el7.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51)

[root@wuzuniao ~]# rpm -K /media/cdrom/Packages/httpcomponents-core-4.2.4-6.el7.noarch.rpm --nosignature #不验证签名,只验证软件包完整性

/media/cdrom/Packages/httpcomponents-core-4.2.4-6.el7.noarch.rpm: sha1 md5 OK

[root@wuzuniao ~]#

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询