Security
如何確保執行簽名的未修改 RPM 包的完整性和安全性?
有一種方法可以根據原始 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)來檢測文件系統的意外更改。當然,這並不能保證您的二進製文件不會被更改,但如果處理得當,它可以警告您正在進行攻擊。
請注意,如果正在使用預連結,這兩種方法都會失敗,這就是為什麼在最近的系統上通常不再預設啟用它的原因之一。