我正在嘗試使用鑰匙鏈在 Debian 最新穩定版上有一些困難。在網上搜尋時,我找不到解決方案,但認為在這種情況下,不同的方法或不同的工具可能會更好。
我想要實現一些相當直接的目標:
- 重新啟動後以 root 身分登入伺服器時,系統會提示使用者輸入主密碼 一次。
- 該密碼被載入到記憶體中並用於解鎖兩個都the
ssh private key
(用於從遠端 git 儲存庫提取程式碼、遠端身份驗證等)和 agpg private key
(用於解密也來自 git 的一些設定參數)。
這樣,只有能夠存取 root 帳戶或能夠轉儲記憶體才能提取密碼。一旦伺服器重新啟動,密碼就會被清除。我沒有 HSM 或任何更複雜的東西的預算/資源。我想要一些簡單、便宜、工作可靠、安全的東西。
鑰匙圈似乎是一個不錯的選擇,但我無法讓它正常工作來滿足這兩個要求。也就是說,它要求密碼兩次,並且當嘗試使用 gpg 解密某些內容時,它會第三次要求密碼...有沒有辦法使用鑰匙串或任何其他工具或 shell 腳本安全地實現此目的?
[ps 不確定這是否屬於 ServerFault 還是這裡]
答案1
使用單獨的加密檔案系統(實際上可以儲存在常規檔案中並透過 dm 掛載)。從安全角度來看,檔案系統存取權限將執行與將其保存在正在運行的進程的虛擬記憶體中相同的技巧- 兩者都可以由root 存取(除非您採取一些額外的措施來防止這種情況) 。實際上,與將密碼緩存在代理助理中的情況相比,密碼最終出現在交換中的可能性應該更小;但如果安全性是您主要關心的問題,您無論如何都應該對交換區進行加密(或完全停用)。