7.5 Linux RPM包驗證和數字證書

      網友投稿 833 2025-03-31

      執行 rpm -qa 命令可以看到,linux 系統中裝有大量的 RPM 包,且每個包都含有大量的安裝文件。因此,為了能夠及時發現文件誤刪、誤修改文件數據、惡意篡改文件內容等問題,linux 提供了以下兩種監控(檢測)方式:


      RPM 包校驗:其實就是將已安裝文件和 /var/lib/rpm/ 目錄下的數據庫內容進行比較,確定文件內容是否被修改。

      RPM 包數字證書校驗:用來校驗 RPM 包本身是否被修改。

      Linux RPM 包校驗

      RPM 包校驗可用來判斷已安裝的軟件包(或文件)是否被修改,此方式可使用的命令格式分為以下 3 種。

      [root@localhost ~]# rpm -Va

      -Va 選項表示校驗系統中已安裝的所有軟件包。

      [root@localhost ~]# rpm -V 已安裝的包名

      -V 選項表示校驗指定 RPM 包中的文件,是 verity 的首字母。

      [root@localhost ~]# rpm -Vf 系統文件名

      -Vf 選項表示校驗某個系統文件是否被修改。

      例如我們校驗 apache 軟件包中所有的安裝文件是否被修改,可執行如下命令:

      [root@localhost -]# rpm -V httpd

      可以看到,執行后無任何提示信息,表明所有用 apache 軟件包安裝的文件均未改動過,還和從原軟件包安裝的文件一樣。

      接下來嘗試對 apache 的配置文件 /etc/httpd/conf/httpd.conf 做適當修改,修改格式如下:

      [root@localhost ~]#vim /etc/httpd/conf/httpd.conf ...省略部分內容... Directorylndex index.html index.html.var index.php \#這句話是定義apache可以識別的默認網頁文件名。在后面加入了index.php \#這句話大概有400行左右 …省略部分內容...

      由于我們還未學習如何配置 apache,為防止其崩潰,這里僅嘗試修改 apache 的默認網頁文件。按照以上格式對文件進行修改后保存退出,再次使用 rpm -V 命令對 apache 軟件包進行驗證:

      [root@localhost ~]# rpm -V httpd S.5....T. c /etc/httpd/conf/httpd.conf

      可以看到,結果顯示了文件被修改的信息。該信息可分為以下 3 部分:

      最前面的 8 個字符(S.5…T)都屬于驗證信息,各字符的具體含義如下:

      S:文件大小是否改變。

      M:文件的類型或文件的權限(rwx)是否改變。

      5:文件MD5校驗和是否改變(可以看成文件內容是否改變)。

      D:設備的主從代碼是否改變。

      L:文件路徑是否改變。

      U:文件的屬主(所有者)是否改變。

      G:文件的屬組是否改變。

      T:文件的修改時間是否改變。

      .:若相關項沒發生改變,用 . 表示。

      被修改文件類型,大致可分為以下幾類:

      c:配置文件(configuration file)。

      7.5 Linux RPM包驗證和數字證書

      d:普通文檔(documentation)。

      g:"鬼"文件(ghost file),很少見,就是該文件不應該被這個 RPM 包包含。

      l:授權文件(license file)。

      r:描述文件(read me)。

      被修改文件所在絕對路徑(包含文件名)。

      由此,S.5…T. c S.5…T. c /etc/httpd/conf/httpd.conf 表達的完整含義是:配置文件 httpd.conf 的大小、內容、修改時間被人為修改過。

      注意,并非所有對文件做修改的行為都是惡意的。通常情況下,對配置文件做修改是正常的,比如說配置 apache 就要修改其配置文件,而如果驗證信息提示對二進制文件做了修改,這就需要小心,除非是自己故意修改的。

      Linux RPM數字證書驗證

      RPM 包校驗方法只能用來校驗已安裝的 RPM 包及其安裝文件,如果 RPM 包本身就被動過手腳,此方法將無法解決問題,需要使用 RPM 數字證書驗證方法。

      簡單的理解,RPM 包校驗其實就是將現有安裝文件與最初使用 RPM 包安裝時的初始文件進行對比,如果有改動則提示給用戶,因此這種方式無法驗證 RPM 包本身被修改的情況。

      數字證書,又稱數字簽名,由軟件開發商直接發布。Linux 系統安裝數字證書后,若 RPM 包做了修改,此包攜帶的數字證書也會改變,將無法與系統成功匹配,軟件無法安裝。

      可以將數字證書想象成自己的簽名,是不能被模仿的(廠商的數字證書是唯一的),只有我認可的文件才會簽名(只要是廠商發布的軟件,都符合數字證書驗證);如果我的文件被人修改了,那么我的簽名就會變得不同(如果軟件改變,數字證書就會改變,從而通不過驗證。當然,現實中人的手工簽名不會直接改變,所以數字證書比手工簽名還要可靠)。

      使用數字證書驗證 RPM 包的方法具有如下 2 個特點:

      必須找到原廠的公鑰文件,然后才能進行安裝。

      安裝 RPM 包會提取 RPM 包中的證書信息,然后和本機安裝的原廠證書進行驗證。如果驗證通過,則允許安裝;如果驗證不通過,則不允許安裝并發出警告。

      數字證書默認會放到系統中/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6位置處,通過以下命令也可驗證:

      \#系統中的數字證書位置 [root@localhost ~]# ll /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 -rw-r--r--.1 root root 1706 6 月 26 17:29 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

      安裝數字證書的命令如下:

      [root@localhost ~]# rpm --import /efc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 --import表示導入數字證書

      數字證書安裝完成后,可使用如下命令進行驗證:

      [root@localhost ~]# rpm -qa|grep gpg-pubkey gpg-pubkey-c105b9de-4e0fd3a3

      可以看到,數字證書已成功安裝。在裝有數字證書的系統上安裝 RPM 包時,系統會自動驗證包的數字證書,驗證通過則可以安裝,反之將無法安裝(系統會報錯)。

      數字證書本身也是一個 RPM 包,因此可以用 rpm 命令查詢數字證書的詳細信息,也可以將其卸載。查詢數字證書詳細信息的命令如下:

      [root@localhost ~]# rpm -qi gpg-pubkey-c105b9de-4e0fd3a3 \#查詢數字證書包的詳細信息 Name : gpg-pubkey Relocations: (not relocatable) Version : c105b9de Vendor: (none) Release : 4e0fd3a3 Build Date: 2012年11月12日 星期一 23時05分20秒 Install Date: 2012年11月12日星期一23時05分20秒 Build Host: local host Group : Public Keys Source RPM: (none) Size : 0 License: pubkey …省略部分輸出… -----END PGP PUBLIC KEY BLOCK----

      卸載數字證書可以使用 -e 選項,命令如下:

      [root@localhost ~]# rpm -e gpg-pubkey-c105b9de-4ead3a3

      雖然數字證書可以手動卸載,但不推薦大家將其卸載。

      Linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:表格中創建目錄后如何取消表格返回目錄(表格怎么刪除返回目錄)
      下一篇:2007版excel表格如何對比(電子表格2016與2007哪個好)
      相關文章
      youjizz亚洲| 亚洲综合一区二区国产精品| 亚洲电影免费在线观看| 亚洲综合国产成人丁香五月激情| 亚洲中文字幕不卡无码| 亚洲中文字幕无码久久2020| 久久久久亚洲精品无码系列| 亚洲人成网亚洲欧洲无码久久| 久久亚洲国产成人影院网站| 亚洲日韩中文在线精品第一 | 亚洲国产天堂在线观看| 在线亚洲v日韩v| 久久精品国产亚洲av天美18 | 亚洲国产aⅴ成人精品无吗| 久久精品国产亚洲AV电影| 亚洲第一精品在线视频| 亚洲综合一区二区精品导航| 久久久久亚洲精品天堂久久久久久| 久久狠狠爱亚洲综合影院| 亚洲欧洲日产国码久在线观看| 久久精品视频亚洲| 精品亚洲成α人无码成α在线观看 | 夜夜春亚洲嫩草影院| 亚洲av无码片vr一区二区三区| 亚洲精品久久无码| 国产综合成人亚洲区| 亚洲精品成人区在线观看| 亚洲人成色4444在线观看| 亚洲国产成人综合精品| 亚洲国产精品综合久久久| 亚洲a视频在线观看| 亚洲日本VA午夜在线电影| 国产精品自拍亚洲| 亚洲中文字幕无码日韩| 亚洲AV乱码一区二区三区林ゆな| 一区二区三区亚洲| 亚洲国产综合精品中文第一| 久久精品亚洲精品国产色婷 | 亚洲国产91精品无码专区| 2022中文字字幕久亚洲| 老司机亚洲精品影院在线观看|