Debian
在 /boot 分區上設置不可變位有什麼影響
從安全的角度來看,在 /boot 分區上設置不可變位有什麼影響。是否建議將不可變位 (
-i
) 設置為 /boot 下的所有內容?它會增強還是降低系統安全性?我想更進一步,對其他“珍貴”文件(如
/etc/bind/named.conf
等)做同樣的事情。
TL; 博士
除非您有特殊的審計要求,否則不要這樣做。它通常比它的價值更麻煩。
解釋
應該對 /boot 具有寫入權限的唯一帳戶是 root。如果你有 root 權限,你可以取消設置不可變位,並且幾乎可以做你想做的事。
以只讀方式掛載 /boot、設置不可變位或任何類似的主要缺點是,每次更新核心或引導載入程序時都需要撤消這些設置。與提供有意義的安全性相比,這更有可能使您絆倒。
備擇方案
根據您真正想做的事情,您可能有一些選擇。例如:
- 如果您擔心文件系統損壞,確保 /boot 位於很少寫入的單獨分區上是一個好主意。
- 使用Tripwire或debsums定期驗證 /boot 的內容,尤其是在與儲存在單獨的只讀媒體上的雜湊值進行比較時,如果您擔心被篡改,這是一個很好的安全措施。
- 以只讀方式掛載 /boot,然後讓包管理器在更新期間以讀寫方式掛載它,可能會很有用。
在 Apt 更新期間重新掛載只讀分區
作為最後一個替代方案的範例,您可以在 /etc/fstab 中將 /boot 配置為只讀,然後在基於 Debian 的系統上將類似於以下內容添加到 /etc/apt/apt.conf 中:
DPkg { Pre-Invoke { "mount -o remount,rw /boot"; }; Post-Invoke { "test ${NO_APT_REMOUNT:-no} = yes || mount -o remount,ro /boot || true"; }; };
這將使 /boot 保持只讀狀態,更新期間除外。顯然,如果您不使用 apt 包管理器,或者上述方法由於某些其他原因不起作用,您將需要做一些不同的事情。