1. 程式人生 > >Root Security Introduction on Linux

Root Security Introduction on Linux

root是Unix/Linux的超級使用者,擁有絕對的權力。擁有root許可權,你儘可以隨心所欲而不逾 矩:你既是”矩”的制定者,也是”矩”的擁護者,當然稍有不慎,你也可能是”矩”的破壞者、 毀滅者,因為若被濫用,則會引發異常崩潰,甚至導致絕對的腐敗。

所以很多Unix/Linux教程都花了很大篇幅講解系統許可權,並強烈建議慎用root,而代之以普 通使用者,如anybody。這樣當anybody試圖做某些逾矩的操作時,會提示Permission Denied 並無法執行,此時root制定的規則已經生效,並得到遵守,不管你是情願,還是被迫。當 然,若有需要,anybody也可以切換為root身份,前提是需要知道root的口令。

根據以上資訊,我們至少可以從三個方面增強root安全。

1. 高強度口令

為root使用者設定一個高強度的口令,大小寫字母 + 數字 + 特殊字元,而且還要保證有足夠 的位數。

去年國內幾大網站相繼出現明文口令洩露事件, 有很多可供引以為戒。但我相信,很多使用者依然還沒有引起重視,不信可以去測試下你的密 碼強度:How Security Is My Password

2. 建立普通使用者

使用root登入,新增使用者anybody,併為anybody設定一定強度的密碼。

useradd anybody
passwd anybody

注:建立修改使用者需要root許可權。

3. 限制su/sudo

在Unix/Linux系統中,要獲取其他使用者的許可權有兩種方式,一是使用su(switch user),切 換成為某使用者,這樣就擁有了該使用者的所有許可權,直到退出該使用者;另外一種是sudo (do as another user),以另外一個使用者的身份執行某些操作,此時在短時間內你獲取該用 戶的許可權,直到超時。

當然,su/sudo的細節可以由root進行控制。

限制只有wheel組的使用者可以使用su

編輯/etc/pam.d/su檔案,啟用使用者組認證:

# Uncomment the following line to require a user to be in the "wheel" group.

auth            required        pam_wheel.so use_uid

將普通使用者anybody新增到wheel組,wheel的gid為10

usermod -G 10 anybody

這樣就只有該使用者和root可以使用su。

限制普通使用者使用sudo

sudo主要配置在/etc/sudoers,新增加的使用者預設沒有新增到sudoers中,若有需要,可以 參照配置中說明更改。

比較通用的做法是定製一些可以執行或禁止執行的命令集,而允許執行的命令集足以完成系 統的日常維護工作,禁止執行的命令集可能會使系統暴露不夠安全,然後將這些命令集授權 給該使用者,這樣既分配適當許可權,又作特殊限制。

當然,root涉及到系統安全遠不止這些,以上僅是本站使用的一些策略,更詳細的資訊有待 進一步理解和實踐。

延伸閱讀

blog comments powered by Disqus