Security

如何確保執行簽名的未修改 RPM 包的完整性和安全性?

  • April 18, 2016

有一種方法可以根據原始 RPM 內容驗證與特定包相關的文件:

# Verify `vsftpd` package.
rpm -V vsftpd

如何完成鏈並驗證rpm命令本身沒有更改?

如果我用rpm一個總是成功的腳本替換,這種類型的驗證將永遠不會失敗。

如果您將自己限制在要驗證的單個系統中,這將是一個相當困難的問題。

幸運的是,我們生活在現實世界中,那裡有不止一台電腦!

驗證二進製文件的一些可能性包括:

  • 使用安裝了相同軟體包版本的 RPM 的另一個參考系統,獲取二進製文件的雜湊值並在每個系統上進行比較。

為了增加保證,在進行比較之前,請從參考系統的儲存庫中重新安裝簽名包。

例子:

# yum reinstall rpm
...
Complete!

# rpm -q rpm
rpm-4.11.3-17.el7.x86_64

# sha256sum /usr/bin/rpm
743810f3c3a9e5eea8ba9bc87351db6b4e8c6393018b9bb56beb873a64ae5431  /usr/bin/rpm
  • 使用基於主機的入侵檢測系統(例如 OSSEC 或 Tripwire)來檢測文件系統的意外更改。當然,這並不能保證您的二進製文件不會被更改,但如果處理得當,它可以警告您正在進行攻擊。

請注意,如果正在使用預連結,這兩種方法都會失敗,這就是為什麼在最近的系統上通常不再預設啟用它的原因之一。

引用自:https://serverfault.com/questions/771071