什麼樣的 Linux 可以像 debsums(Debian) 一樣驗證其所有檔案/套件,甚至更多?

什麼樣的 Linux 可以像 debsums(Debian) 一樣驗證其所有檔案/套件,甚至更多?
# debsums -a, --all  check configuration files (normally excluded)

然而,不僅在 tmp-dir 中,到處都有大量的臨時輔助檔案。

python的大約4000個二進位.pyc文件,預設無法停用:

# cat /etc/python/debian_config  
# standard, optimize 
byte-compile = standard

ETC...

是否有任何 Linux 發行版具有線上儲存庫,能夠安全地驗證我的電腦上安裝的每個檔案?

我說的是套件管理器例如基於主機的入侵偵測系統,具有現代加密技術,能夠預防/偵測任何感染。

答案1

基於 RPM 的系統有rpm -q --verify,它做類似的事情。

然而,我認為這些功能都不是 IDS 的合適替代品。關鍵問題是校驗和位於有問題的機器上,因此如果它已洩露,您就不能信任本地校驗和。

也許您可以從互聯網存儲庫中獲取新的校驗和,但我仍然認為您使用包校驗和的方式是錯誤的。

更好的選擇是使用專用的文件完整性檢查器,例如助理或者絆線。一旦系統進入已知良好狀態,這些工具就可以讓您計算系統的校驗和,然後將它們儲存在可移動唯讀媒體(例如 CD-R)上以供以後比較。

包校驗和方法的另一個問題是,不能期望它檢查/etc文件之類的內容,因為已知它們會故意更改庫存內容。使用 AIDE 之類的工具,您可以計算校驗和您對這些文件的庫存版本進行更改,因此您可以自信地說更改是否是預期的。

這並不是說包校驗和驗證沒有用。只是它並不是為了檢測惡意修改。它用於檢測意外更改,以便修復它們。例如,某人可能做了一個笨手笨腳的chmod -R命令,然後Ctrl-C在意識到自己的錯誤後很長時間才運行,因此您驗證包以找出哪些包的文件權限被破壞。

答案2

我更喜歡 Warren 的解決方案(AIDE),但如果您真的想監視您的系統,請使用 CFEngine 或衍生產品(Puppet、Chef、saltstack 等)來管理檔案系統的全部內容。使用套件管理器來安裝文件,使用設定管理系統來管理所有設定檔的內容,並在設定係統外部發生任何變更時發出警報(以及可能將內容變更回來)。不過,你走得越深入,解決方案就越複雜。完全管理系統及其上的所有文件是一項非常艱鉅的任務。如果您不關心文件內容而只是在事情發生變化時收到通知,CFEngine 可以學習文件的校驗和並為您監視它們。其他人可能有類似的功能,但速度會慢一些。我可以告訴你,你真的不想用 Puppet 進行頻繁的遞歸檔案系統監控。話又說回來,不同工具的學習曲線是不同的。 AIDE 很容易上手,CFEngine 可能是一個小挑戰。

相關內容