Security
如何防止 sudoer 更改 LUKS 主密鑰?
有一個我擔心的場景,我不確定是否可以歸檔。我有一台具有此設置的機器:
- LUKS 加密的主系統分區。
- 具有 sudo 訪問權限的使用者(添加到 sudoers 列表)。
- sudoer 不能以 root 身份登錄(因為他不知道密碼),而且 - 不能執行“sudo su”。
- 作為系統管理員,我獲得了 root 訪問權限。
問題是:我能否以某種方式阻止或拒絕 sudoer 使用者更改 LUKS 主密鑰?
我可以拒絕他執行 dm-setup 或 cryptsetup,但他總是可以移動和重命名文件,或者他可以下載一些庫並為自己編寫一個應用程序來更改 MK。我不知道是否有什麼阻止他從核心級別執行 linux 操作,dm-setup/cryptsetup 介面。
那麼,如果我向使用者授予 sudoer 訪問權限,有沒有辦法保持 LUKS 主密鑰不變?
您在“以 root 身份登錄”和“具有 sudo 訪問權限”之間進行了錯誤的二分法。這些不應該被認為是不同的事情。如果您不信任具有 root 訪問權限的使用者,請不要讓他們使用 sudo!無論如何,僅阻止命令
sudo su
是無稽之談,有一個sudo -s
獲取 root shell 或者你可以sudo bash
。或者還有一百萬種其他方式。基本上,您不能創建 sudo 使用者不能做的事情的黑名單。你會失敗,因為它不應該那樣工作。一旦您可以訪問一些 PID 1 的東西,系統就是您的了。
您可以做的是將特定程序列入白名單。確保這些程序也不是使用者可寫的,並確保它們不會以允許任意命令執行的方式接受使用者輸入或參數。請注意,許多常見的 unix 工具允許以一種或另一種方式執行任意命令。如果他們只需要 sudo 訪問權限來執行一項任務,那麼一個好方法是創建一個僅執行該任務並且不接受任何參數並允許使用者以 root 身份執行該腳本的包裝腳本。