文章目录
- 一、Linux RPM 包校验
- 二、Linux RPM 数字证书验证
- (一)使用数字证书验证 RPM 包的步骤
- (二)安装/卸载数字证书
为了能够及时发现文件误删、误修改文件数据、恶意篡改文件内容等问题,Linux 提供了以下两种检测方式:
- RPM 包校验:其实就是将已安装文件和
/var/lib/rpm/
目录下的数据库内容进行比较,确定文件内容是否有改动。 - RPM 包数字证书校验:用来校验 RPM 包本身是否被修改。
一、Linux RPM 包校验
RPM 包校验可用来判断已安装的软件包的相关文件是否被修改,具体详见《精通 RPM 之校验篇》
二、Linux RPM 数字证书验证
第一种校验方式只能用来校验已安装的RPM软件包的相关文件,如果 RPM 包本身就被篡改过,使用该方法就无法有效校验了,因此需要使用第二种方法:RPM 数字证书验证方法。
数字证书,又称数字签名,由软件商直接发布。Linux 系统安装数字证书后,若 RPM 包做了修改,此包携带的数字证书也会改变,将无法与系统成功匹配,软件无法安装。
(一)使用数字证书验证 RPM 包的步骤
- 必须找到原厂的公钥文件,也就是原厂证书文件,在要安装软件包的主机先安装原厂证书;
- 安装好原厂证书后,再安装 RPM 软件包,在安装软件包前,系统会先提取 RPM 软件包中的证书信息,和本机安装的原厂证书进行验证。如果验证通过,则允许安装;如果验证不通过,则不允许安装并发出警告。
数字证书默认会放到系统中 /etc/pki/rpm-gpg/
位置:
(二)安装/卸载数字证书
安装数字证书:
$ rpm --import RPM-GPG-KEY-centos*
数字证书安装完成后,可使用如下命令进行验证:
$ rpm -qa|grep gpg-pubkey
可以看到,数字证书已成功安装。在装有数字证书的系统上安装 RPM 包时,系统会自动验证包的数字证书,验证通过则可以安装,反之将无法安装。
既然可以按照证书,同样也能卸载数字证书,因为数字证书本身也是一个RPM包,因此可以使用 rpm -e
卸载:
$ rpm -e gpg-pubkey-5ba5fa8d-5ccc6012