【RHCA+】RPM包验证和数字证书

" 目录: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 \~#

相关推荐
yunfengzhineng1 小时前
天津立体库货架配套厂家
大数据·运维·人工智能·python
erzong2311 小时前
Linux操作系统:线程概念与控制
linux·算法
星恒随风1 小时前
Linux线程概念详解:从分页存储、页表、MMU与TLB,深入理解线程和进程的区别与联系
linux·运维·笔记·学习·状态模式
小范的技术工坊1 小时前
Linux应用开发(文件IO)
linux·stm32·单片机
救救孩子把1 小时前
AI面试八股文-13_12-AI 框架与运维面试题
运维·人工智能·面试
小范的技术工坊1 小时前
Linux应用开发(文件属性)
linux·运维·服务器
wuminyu2 小时前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
古法老登瞎折腾2 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
开开心心就好2 小时前
多份文档怎么批量打印?支持多种格式
java·服务器·开发语言·pdf·ocr·散列表·启发式算法