Web 伺服器使用者 - 最佳實踐
我想知道當幾個開發人員/管理員需要訪問同一個 Web 伺服器時,什麼被認為是最佳實踐。
是否應該有一個具有安全使用者名和密碼的非 root 使用者與每個人都登錄的 Web 伺服器不匹配,或者每個人都應該有一個使用者名。
我傾向於為每個人設置一個使用者名以幫助進行日誌記錄等,但是同一使用者是否在多個伺服器上保留相同的憑據,或者至少他們的密碼是否應該根據他們所在的伺服器而更改?
是否應該將系統的任何非 root 使用者添加到 sudoers 文件中,或者最好讓每個人都離開它,只讓 root 執行某些任務?
任何幫助將不勝感激。
- 最佳實踐:對所有特權操作具有可追溯性。這意味著在正常情況下不會以 root 身份登錄;人們使用自己的 ID 和權限登錄。他們採取的行動是可追溯的。如果特定帳戶被盜用,可以在不影響其他帳戶或整個系統的情況下進行修復。
- 最佳實踐:最小權限。人員和應用程序獲得執行授權活動所需的權限,但僅此而已。
遵循這兩個原則就是您問題的答案。究竟如何跟隨他們取決於你。這取決於您的站點策略建議、伺服器設置的複雜性、連續性計劃等。請注意,遵循這些原則會使您的系統受到惡意攻擊的危害更加困難,但更重要的是,它限制了善意的後果錯誤。
對於諸如 Web 伺服器維護之類的事情,可以通過適當的使用者/組所有權和權限啟用大多數功能,而無需 root 訪問(注意原始問題有 linux/unix 標籤)。例如,Web 伺服器配置文件可以由“wserver”、組“wsgroup”擁有並獲得 664 權限。這將允許任何使用者讀取配置和“wsgroup”中的任何人來編輯文件(不一定是你想要的) . Web 內容可以在不同的組中,只要 Web 伺服器程序具有讀取或執行權限,就可以提供內容。這將允許不同的(可能是重疊的)組來維護 Web 伺服器和內容。
您還可以為給定使用者設置
sudo
以特定使用者身份執行特定命令。為獲得最佳實踐,您應該將 root 訪問權限限制為實際需要 root 權限的少數項目(例如,啟動偵聽特權埠的程序)。根據需要設置其餘部分,授予盡可能少的權限——這有助於限制錯誤的後果。例如,如果您想允許一個組編輯 Web 伺服器配置文件,允許他們以配置文件的所有者身份執行 {vim, emacs, gedit}。