Linux
如何使 AWS CLI 在我的伺服器中更安全?
我是 AWS CLI 的新手,但讓我有點困擾的是,我需要將我的憑證儲存在一個文件中。我在 S3 上有幾個
buckets
,我為我的應用程序創建了一個帳戶,該帳戶只能訪問此儲存桶。但是,如果我的伺服器被黑客入侵,攻擊者可以輕鬆讀取我的.aws/credentials
文件並破壞我儲存桶中的所有內容。然後,我的公司就會遇到很大的問題,因為我們非常依賴 AWS!有什麼建議可以提高這種場景的安全性嗎?我完全可以理解,如果我的伺服器被黑了,並且有 sudo 訪問權限,我的機會很小,但是,我想盡可能地提高難度以防止任何損壞。
問題一:
是我需要將憑據儲存在文件中的事實
如果您的伺服器是 EC2 實例,那麼您不必將憑證儲存在文件中。
相反,將 IAM 角色和實例配置文件用於您的 EC2 實例。執行此操作時,請勿為 AWS CLI 配置憑證。當您使用 CLI 執行命令時,CLI 將在伺服器外收集臨時憑證並使用它們。
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html
如果您這樣做,那麼如果有人未經授權訪問伺服器,將不會有任何憑據文件可供他們帶走。要造成任何損害,他們必須直接在伺服器上進行。
問題 2:
為防止損壞儲存桶,請啟用儲存桶版本控制。通過這樣做,如果有人刪除和/或更改對象,您就可以訪問舊版本。
此外,如果您確實需要刪除對象,請啟用 MFA 刪除。啟用後,當需要刪除對象時必須使用 MFA。不使用 MFA 設備,禁止刪除對象。
對於訪問儲存桶的任何人,請授予他們最低權限。小心一味放任
s3:*
。如果他們只需要讀取對象,只需給他們s3:GetObject
.