共用方式為


身分識別與存取安全性建議

本文列出您可能會在 適用於雲端的 Microsoft Defender 中看到的所有身分識別和存取安全性建議。

您環境中顯示的建議是以您要保護的資源和自訂設定為基礎。

若要瞭解您可以採取以回應這些建議的動作,請參閱補救 適用於雲端的 Defender 中的建議。

提示

如果建議描述顯示 [沒有相關原則],通常是因為該建議相依於不同的建議。

例如,應該補救端點保護健康情況失敗的建議取決於檢查是否已安裝 Endpoint Protection 解決方案的建議(應安裝 Endpoint Protection 解決方案)。 基礎建議 確實 有原則。 將原則限制為僅限基礎建議可簡化原則管理。

Azure 身分識別和存取建議

應為訂用帳戶指定最多3個擁有者

描述:若要減少遭入侵擁有者帳戶入侵的可能性,建議將擁有者帳戶的數目限制為最多 3 個(相關原則: 應為您的訂用帳戶指定最多 3 個擁有者)。

嚴重性:高

Azure Cosmos DB 帳戶應使用 Azure Active Directory 作為唯一的驗證方法

描述:向 Azure 服務驗證的最佳方式是使用角色型 存取控制 (RBAC)。 RBAC 可讓您維持最低許可權原則,並支援在遭入侵時撤銷許可權作為有效回應方法的能力。 您可以設定 Azure Cosmos DB 帳戶,以強制執行 RBAC 作為唯一的驗證方法。 設定強制時,將會拒絕所有其他存取方法(主要/次要金鑰和存取令牌)。 (無相關政策)

嚴重性:中

具有 Azure 資源擁有者權限的已封鎖帳戶應移除

描述:已封鎖無法登入 Active Directory 的帳戶,應該從您的 Azure 資源中移除。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (無相關政策)

嚴重性:高

應移除具有 Azure 資源讀取和寫入許可權的封鎖帳戶

描述:已封鎖無法登入 Active Directory 的帳戶,應該從您的 Azure 資源中移除。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (無相關政策)

嚴重性:高

已淘汰的帳戶應該從訂用帳戶中移除

描述:已封鎖無法登入的用戶帳戶,應該從您的訂用帳戶中移除。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (相關原則: 已淘汰的帳戶應該從您的訂用帳戶中移除。

嚴重性:高

具有擁有者許可權的已淘汰帳戶應該從訂用帳戶中移除

描述:已封鎖無法登入的用戶帳戶,應該從您的訂用帳戶中移除。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (相關原則: 具有擁有者許可權的已淘汰帳戶應該從您的訂用帳戶中移除。

嚴重性:高

應啟用 金鑰保存庫 中的診斷記錄

描述:啟用記錄並保留最多一年。 這可讓您在發生安全性事件或網路遭到入侵時,重新建立活動線索以供調查之用。 (相關原則: 應啟用 金鑰保存庫 中的診斷記錄)。

嚴重性:低

應從訂用帳戶中移除具有擁有者許可權的外部帳戶

描述:具有不同功能變數名稱(外部帳戶)擁有者許可權的帳戶應該從您的訂用帳戶中移除。 這可防止未受監視的存取。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (相關原則: 應從您的訂用帳戶中移除具有擁有者許可權的外部帳戶。

嚴重性:高

應從訂用帳戶中移除具有讀取許可權的外部帳戶

描述:具有不同功能變數名稱(外部帳戶)讀取許可權的帳戶應該從您的訂用帳戶中移除。 這可防止未受監視的存取。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (相關原則: 應從您的訂用帳戶中移除具有讀取許可權的外部帳戶。

嚴重性:高

應從訂用帳戶中移除具有寫入許可權的外部帳戶

描述:具有不同功能變數名稱(外部帳戶)寫入許可權的帳戶應該從您的訂用帳戶中移除。 這可防止未受監視的存取。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (相關原則: 應從您的訂用帳戶中移除具有寫入許可權的外部帳戶。

嚴重性:高

防火牆應在 金鑰保存庫 上啟用

描述:金鑰保存庫的防火牆可防止未經授權的流量到達您的密鑰保存庫,併為秘密提供額外的保護層。 啟用防火牆,以確保只有來自允許網路的流量才能存取您的密鑰保存庫。 (相關原則: 防火牆應在 金鑰保存庫 上啟用)。

嚴重性:中

應移除具有 Azure 資源擁有者權限的來賓帳戶

描述:應從您的 Azure 資源中移除具有 Azure Active Directory 租使用者外部布建擁有者許可權的帳戶(不同的功能變數名稱)。 來賓帳戶不受與企業租使用者身分識別相同的標準管理。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (無相關政策)

嚴重性:高

具有 Azure 資源讀取權限的來賓帳戶應移除

描述:應從您的 Azure 資源中移除已布建在 Azure Active Directory 租使用者外部的讀取許可權帳戶(不同的功能變數名稱)。 來賓帳戶不受與企業租使用者身分識別相同的標準管理。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (無相關政策)

嚴重性:高

具有 Azure 資源寫入權限的來賓帳戶應移除

描述:應從 Azure 資源中移除已布建在 Azure Active Directory 租使用者外部的寫入許可權帳戶(不同的功能變數名稱)。 來賓帳戶不受與企業租使用者身分識別相同的標準管理。 這些帳戶可以是攻擊者的目標,他們想要尋找存取數據的方法,而不需注意。 (無相關政策)

嚴重性:高

Key Vault 金鑰應具有到期日

描述:密碼編譯密鑰應該有定義的到期日,而不是永久的。 永久有效的金鑰會讓潛在攻擊者有更多的時間來危害金鑰。 建議的安全性做法是設定密碼編譯密鑰的到期日。 (相關原則: 金鑰保存庫 金鑰應該有到期日)。

嚴重性:高

Key Vault 祕密應設定到期日

描述:秘密應該有定義的到期日,而不是永久的。 永久有效的祕密會讓潛在攻擊者有更多的時間來危害祕密。 建議的安全性做法是設定秘密的到期日。 (相關原則: 金鑰保存庫 秘密應該有到期日)。

嚴重性:高

金鑰保存庫應啟用清除保護

描述:惡意刪除金鑰保存庫可能會導致永久資料遺失。 您組織中可能有惡意的內部人員能夠刪除和清除金鑰保存庫。 清除保護可對虛刪除的金鑰保存庫強制執行必要的保留期間,以保護您免於遭受內部攻擊。 您的組織內部人員或 Microsoft 在虛刪除保留期間內都無法清除您的金鑰保存庫。 (相關原則: 金鑰保存庫應該已啟用清除保護)。

嚴重性:中

金鑰保存庫應已啟用虛刪除

描述:刪除未啟用虛刪除的密鑰保存庫會永久刪除儲存在金鑰保存庫中的所有秘密、金鑰和憑證。 意外刪除金鑰保存庫可能會導致永久的資料遺失。 虛刪除可讓您在可設定的保留期間內復原意外刪除的金鑰保存庫。 (相關原則: 金鑰保存庫應該已啟用虛刪除)。

嚴重性:高

應啟用適用於 金鑰保存庫 的 Microsoft Defender

描述:適用於雲端的 Microsoft Defender 包含適用於 金鑰保存庫 的Defender Microsoft,可提供額外的安全性情報層。 適用於 Key Vault 的 Microsoft Defender 會偵測是否有人試圖以不尋常且可能有害的方式存取或惡意探索 Key Vault 帳戶。

此方案的保護會依 [Defender 方案] 頁面上所示收費。 如果您沒有此訂用帳戶中的任何密鑰保存庫,則不會向您收費。 如果您稍後在此訂用帳戶上建立密鑰保存庫,系統會自動加以保護,並開始收費。 瞭解 每個區域的定價詳細數據。 深入瞭解適用於 金鑰保存庫 的 Microsoft Defender 簡介。 (相關原則: 應啟用適用於 金鑰保存庫的 Azure Defender)。

嚴重性:高

應撤銷 Azure 訂用帳戶中非作用中身分識別的許可權

描述:適用於雲端的 Microsoft Defender 探索到在過去 45 天內未對 Azure 訂用帳戶內的任何資源執行任何動作的身分識別。 建議您撤銷非使用中身分識別的許可權,以減少雲端環境的受攻擊面。

嚴重性:中

應針對 金鑰保存庫 設定私人端點

描述:私人連結可讓您將 金鑰保存庫 連線到您的 Azure 資源,而不需透過公用因特網傳送流量。 私人連結提供深層防禦保護,以防止資料外流。 (相關原則: 私人端點應設定為 金鑰保存庫)。

嚴重性:中

應不允許記憶體帳戶公用存取

描述:Azure 儲存體 中容器和 Blob 的匿名公用讀取許可權是共用數據的便利方式,但可能會造成安全性風險。 為了防止不想要的匿名存取所造成的資料缺口,Microsoft 建議除非您的案例需要,否則避免公開存取儲存體帳戶。 (相關原則: 應不允許記憶體帳戶公用存取。

嚴重性:中

應有一個以上的擁有者指派給訂用帳戶

描述:指定多個訂用帳戶擁有者,以擁有系統管理員存取備援。 (相關原則: 應有一個以上的擁有者指派給您的訂用帳戶

嚴重性:高

Azure 金鑰保存庫 中所儲存憑證的有效期間不應超過 12 個月

描述:請確定您的憑證沒有超過12個月的有效期間。 (相關原則: 憑證應具有指定的有效期間上限。

嚴重性:中

Azure 過度布建的身分識別應該只有必要的許可權 (預覽)

描述:過度布建的身分識別,或過度許可權的身分識別,不會使用其已授與的許多許可權。 定期正確調整這些身分識別的許可權大小,以降低許可權誤用的風險,無論是意外還是惡意。 此動作會在安全性事件期間減少潛在的影響半徑。

嚴重性:中

特殊權限角色不應該在訂用帳戶和資源群組層級擁有永久存取權

描述:適用於雲端的 Microsoft Defender 探索到在過去 45 天內未對 Azure 訂用帳戶內的任何資源執行任何動作的身分識別。 建議您撤銷非使用中身分識別的許可權,以減少雲端環境的受攻擊面。

嚴重性:高

服務主體不應在訂用帳戶和資源群組層級擁有系統管理角色

描述:適用於雲端的 Defender 資源群組或訂用帳戶層級上以特殊許可權角色指派的識別服務主體。 特殊許可權系統管理員角色是可在資源上執行敏感性作業的角色,例如擁有者、參與者或使用者存取管理員。 服務主體在有效率且安全地管理 Azure 資源方面扮演了重要角色,不需要人為介入。 請務必遵循 最低許可權原則,只授與指定服務主體執行其職責所需的最低存取層級。 系統管理員和特殊許可權存取是駭客的主要目標。 如需使用特殊權限系統管理員角色指派時的最佳做法,請參閱 Azure RBAC 的最佳做法Azure RBAC 的最佳做法。 如需 Azure RBAC 中可用角色的清單,請參閱 Azure 的內建角色

嚴重性:高

AWS 身分識別和存取建議

Amazon Elasticsearch Service 網域應該在一個VP中

描述:無法包含具有公用端點的網域。 這不會評估以判斷公用連線能力之URL子網路由組態。

嚴重性:高

應限制在貯體原則中授與其他 AWS 帳戶的 Amazon S3 許可權

描述:實作最低許可權存取是降低安全性風險和錯誤或惡意意圖影響的基礎。 如果 S3 貯體原則允許從外部帳戶存取,可能會導致內部威脅或攻擊者的數據外洩。 'blacklistedactionpatterns' 參數允許成功評估 S3 貯體的規則。 參數會針對未包含在 『blacklistedactionpatterns』 列表中的動作模式,授與外部帳戶的存取權。

嚴重性:高

避免使用「根」帳戶

描述:「根」帳戶對 AWS 帳戶中的所有資源具有不受限制的存取權。 強烈建議避免使用此帳戶。 「根」帳戶是最具許可權的 AWS 帳戶。 將此帳戶的使用降至最低,並採用存取管理最低許可權原則,將降低意外變更和意外洩漏高特殊許可權認證的風險。

嚴重性:高

AWS KMS 金鑰不應意外刪除

描述:此控件會檢查 KMS 金鑰是否已排程進行刪除。 如果已排程刪除 KMS 金鑰,控制件就會失敗。 一旦刪除 KMS 金鑰,就無法復原。 如果 KMS 金鑰遭到刪除,在 KMS 金鑰下加密的數據也會永久無法復原。 如果在排程刪除的 KMS 金鑰下加密有意義的數據,請考慮解密數據,或在新的 KMS 金鑰下重新加密數據,除非您刻意執行密碼編譯清除。 當 KMS 金鑰排程進行刪除時,強制等候期間會強制允許時間在錯誤中排程刪除時反轉刪除。 默認等候期間為 30 天,但當 KMS 金鑰排程刪除時,可以縮短為 7 天。 在等候期間,可以取消排程刪除,而且不會刪除 KMS 金鑰。 如需有關刪除 KMS 金鑰的詳細資訊,請參閱 AWS 金鑰管理服務 開發人員指南中的刪除 KMS 金鑰

嚴重性:高

AWS 過度佈建的身分識別應該只有必要的許可權 (預覽)

描述:過度布建的作用中身分識別是可存取他們尚未使用之許可權的身分識別。 過度布建的作用中身分識別,特別是針對已定義動作和責任的非人類帳戶,可能會增加使用者、金鑰或資源入侵時的高射半徑。 拿掉不需要的許可權,並建立檢閱程式以達到最低許可權。

嚴重性:中

AWS WAF 傳統全域 Web ACL 記錄應啟用

描述:此控件會檢查是否為 AWS WAF 全域 Web ACL 啟用記錄。 如果未針對 Web ACL 啟用記錄,此控制件就會失敗。 記錄是維護全球 AWS WAF 可靠性、可用性和效能的重要部分。 這是許多組織中的商務和合規性需求,可讓您針對應用程式行為進行疑難解答。 它也提供連結至 AWS WAF 之 Web ACL 所分析之流量的詳細資訊。

嚴重性:中

CloudFront 散發套件應已設定預設根物件

描述:此控件會檢查 Amazon CloudFront 散發套件是否已設定為傳回預設根物件的特定物件。 如果 CloudFront 散發沒有設定預設根物件,控件就會失敗。 用戶有時可能會要求散發根 URL,而不是散發中的物件。 發生這種情況時,指定預設根對象可協助您避免公開 Web 散發的內容。

嚴重性:高

CloudFront 散發套件應已啟用原始來源存取身分識別

描述:此控件會檢查 Amazon S3 Origin 類型的 Amazon CloudFront 散發是否已設定 Origin Access Identity (OAI)。 如果未設定 OAI,控制件就會失敗。 CloudFront OAI 可防止使用者直接存取 S3 貯體內容。 當使用者直接存取 S3 貯體時,他們實際上會略過 CloudFront 散發,以及套用至基礎 S3 貯體內容的任何許可權。

嚴重性:中

應啟用 CloudTrail 記錄檔驗證

描述:為了確保 CloudTrail 記錄的其他完整性檢查,建議您在所有 CloudTrails 上啟用檔案驗證。

嚴重性:低

應啟用 CloudTrail

描述:AWS CloudTrail 是一項 Web 服務,可記錄您帳戶的 AWS API 呼叫,並將記錄檔傳遞給您。 並非所有服務預設都會為所有 API 和事件啟用記錄。 您應該實作 CloudTrail 以外的任何其他稽核線索,並檢閱 CloudTrail 支援服務和整合中每個服務的檔。

嚴重性:高

CloudTrail 軌跡應該與 CloudWatch 記錄整合

描述:除了擷取指定 S3 貯體內的 CloudTrail 記錄以進行長期分析之外,還可以藉由設定 CloudTrail 將記錄傳送至 CloudWatch Logs 來執行即時分析。 針對帳戶中所有區域啟用的追蹤,CloudTrail 會將記錄檔從所有區域傳送至 CloudWatch Logs 記錄群組。 建議將 CloudTrail 記錄傳送至 CloudWatch 記錄,以確保 AWS 帳戶活動已擷取、監視及適當警示。 將 CloudTrail 記錄傳送至 CloudWatch 記錄有助於根據使用者、API、資源和 IP 位址進行即時和歷史活動記錄,並有機會建立異常或敏感度帳戶活動的警示和通知。

嚴重性:低

應啟用資料庫記錄

描述:此控件會檢查 Amazon RDS 的下列記錄是否已啟用並傳送至 CloudWatch Logs:

  • Oracle:(警示、稽核、追蹤、接聽程式)
  • PostgreSQL: (Postgresql, 升級)
  • MySQL: (Audit, Error, General, SlowQuery)
  • MariaDB: (Audit, Error, General, SlowQuery)
  • SQL Server: (錯誤,代理程式)
  • 極光:(稽核、錯誤、一般、慢查詢)
  • 極光-MySQL:(稽核、錯誤、一般、SlowQuery)
  • 極光-PostgreSQL:(Postgresql,升級)。 RDS 資料庫應該已啟用相關的記錄。 資料庫記錄提供對 RDS 提出要求的詳細記錄。 資料庫記錄可協助安全性和存取稽核,並有助於診斷可用性問題。

嚴重性:中

停用 Amazon Sage Maker 筆記本實例的直接因特網存取

描述:Sage Maker 筆記本實例應停用直接因特網存取。 這會檢查筆記本實例是否停用 『DirectInternetAccess』 字段。 您的實例應設定為使用網吧,而預設設定應該是 [停用 - 透過網吧存取因特網]。 若要啟用從筆記本定型或裝載模型的因特網存取,請確定您的 VPN 具有 NAT 閘道,且您的安全組允許輸出連線。 請確定對 Sage Maker 設定的存取僅限於授權的使用者,並限制使用者的 IAM 許可權來修改 Sage Maker 設定和資源。

嚴重性:高

請勿在初始使用者設定期間為具有控制台密碼的所有 IAM 用戶設定存取密鑰

描述:AWS 控制台預設為啟用建立存取金鑰的複選框。 這會導致產生許多不必要的存取金鑰。 除了不必要的認證之外,它也會在稽核和輪替這些密鑰時產生不必要的管理工作。 在使用者配置檔建立之後,要求使用者採取額外的步驟,將會更強烈地指出存取密鑰是其工作所需的 [a],並在存取密鑰建立於帳戶上,指出密鑰可能在組織某處使用。

嚴重性:中

請確定已建立支援角色,以使用 AWS 支援管理事件

描述:AWS 提供可用於事件通知和回應的支援中心,以及技術支援和客戶服務。 建立 IAM 角色,以允許授權的使用者使用 AWS 支援管理事件。 當您實作訪問控制的最低許可權時,IAM 角色需要適當的 IAM 原則,才能允許支援中心存取,才能使用 AWS 支援管理事件。

嚴重性:低

確保每隔 90 天或更少輪替存取金鑰

描述:存取金鑰是由存取金鑰標識碼和秘密存取金鑰所組成,用來簽署您在 AWS 中提出的程式設計要求。 AWS 使用者需要自己的存取密鑰,才能使用個別 AWS 服務的 API,從 AWS 命令行介面 (AWS CLI)、Windows PowerShell 工具、AWS SDK 或直接 HTTP 呼叫進行程式設計呼叫。 建議定期輪替所有存取密鑰。 輪替存取金鑰可減少與所要使用之遭入侵或終止帳戶相關聯的存取金鑰機會視窗。 應該輪替存取金鑰,以確保無法使用遺失、破解或遭竊的舊密鑰來存取數據。

嚴重性:中

確定所有區域中都已啟用 AWS 設定

描述:AWS Config 是一項 Web 服務,可對帳戶內支援的 AWS 資源執行組態管理,並將記錄檔傳遞給您。 記錄的資訊包括組態專案(AWS 資源)、組態專案之間的關聯性(AWS 資源)、資源之間的任何組態變更。 建議在所有區域中啟用 AWS 設定。

AWS 設定所擷取的 AWS 設定專案歷程記錄可讓您進行安全性分析、資源變更追蹤和合規性稽核。

嚴重性:中

確定所有區域中都已啟用 CloudTrail

描述:AWS CloudTrail 是一項 Web 服務,可記錄您帳戶的 AWS API 呼叫,並將記錄檔傳遞給您。 記錄的資訊包括 API 呼叫者的身分識別、API 呼叫的時間、API 呼叫者的來源 IP 位址、要求參數,以及 AWS 服務傳回的回應元素。 CloudTrail 提供帳戶 AWS API 呼叫的歷程記錄,包括透過管理控制台、SDK、命令行工具和更高階 AWS 服務進行的 API 呼叫(例如 CloudFormation)。 CloudTrail 所產生的 AWS API 呼叫歷程記錄可讓您進行安全性分析、資源變更追蹤和合規性稽核。 此外:

  • 檢查多區域追蹤是否存在,可確保偵測到其他未使用區域中發生的非預期活動。
  • 檢查有多個區域追蹤是否存在,可確保預設會針對追蹤啟用「全域服務記錄」,以擷取 AWS 全域服務上產生的事件記錄。
  • 針對多重區域追蹤,檢查是否已針對所有類型的讀取/寫入設定管理事件,可確保記錄在AWS 帳戶中所有資源上執行的管理作業。

嚴重性:高

請確定已停用 90 天或更新的未使用認證

描述:AWS IAM 使用者可以使用不同類型的認證來存取 AWS 資源,例如密碼或存取密鑰。 建議移除或停用 90 或更新天內未使用的所有認證。 停用或移除不必要的認證可減少與遭入侵或已放棄帳戶相關聯的認證使用的機會視窗。

嚴重性:中

確定 IAM 密碼原則會在 90 天內或少於 90 天內過期密碼

描述:IAM 密碼原則可能需要在指定天數之後輪替或過期密碼。 建議密碼原則在 90 天后過期密碼。 減少密碼存留期會增加針對暴力密碼破解登入嘗試的帳戶復原能力。 此外,在下列案例中需要一般密碼變更協助:

  • 有時候,密碼可能會遭竊或遭入侵,而不需要您的知識。 這可能會透過系統入侵、軟體弱點或內部威脅來發生。
  • 即使流量已加密,某些公司和政府 Web 篩選器或 Proxy 伺服器仍能夠攔截和記錄流量。
  • 許多人對許多系統使用相同的密碼,例如工作、電子郵件和個人。
  • 遭入侵的使用者工作站可能有擊鍵記錄器。

嚴重性:低

確定 IAM 密碼原則可防止重複使用密碼

描述:IAM 密碼原則可以防止相同使用者重複使用指定的密碼。 建議密碼原則防止重複使用密碼。 防止密碼重複使用會增加帳戶復原能力,以防止暴力密碼破解登入嘗試。

嚴重性:低

確定 IAM 密碼原則至少需要一個小寫字母

描述:密碼原則部分用來強制執行密碼複雜度需求。 IAM 密碼原則可用來確保密碼是由不同的字元集所組成。 建議密碼原則至少需要一個小寫字母。 設定密碼複雜度原則會增加帳戶復原能力,以防止暴力密碼破解登入嘗試。

嚴重性:中

確定 IAM 密碼原則至少需要一個數位

描述:密碼原則部分用來強制執行密碼複雜度需求。 IAM 密碼原則可用來確保密碼是由不同的字元集所組成。 建議密碼原則至少需要一個數位。 設定密碼複雜度原則會增加帳戶復原能力,以防止暴力密碼破解登入嘗試。

嚴重性:中

確定 IAM 密碼原則至少需要一個符號

描述:密碼原則部分用來強制執行密碼複雜度需求。 IAM 密碼原則可用來確保密碼是由不同的字元集所組成。 建議密碼原則至少需要一個符號。 設定密碼複雜度原則會增加帳戶復原能力,以防止暴力密碼破解登入嘗試。

嚴重性:中

確定 IAM 密碼原則至少需要一個大寫字母

描述:密碼原則部分用來強制執行密碼複雜度需求。 IAM 密碼原則可用來確保密碼是由不同的字元集所組成。 建議密碼原則至少需要一個大寫字母。 設定密碼複雜度原則會增加帳戶復原能力,以防止暴力密碼破解登入嘗試。

嚴重性:中

確定 IAM 密碼原則的長度下限為 14 或更高

描述:密碼原則部分用來強制執行密碼複雜度需求。 IAM 密碼原則可用來確保密碼至少為指定的長度。 建議密碼原則需要最小密碼長度 『14』。 設定密碼複雜度原則會增加帳戶復原能力,以防止暴力密碼破解登入嘗試。

嚴重性:中

確定已針對具有主控台密碼的所有 IAM 使用者開啟多重要素驗證 (MFA)

描述:多重要素驗證 (MFA) 會在使用者名稱和密碼之上新增額外的保護層。 啟用 MFA 時,當使用者登入 AWS 網站時,系統會提示他們輸入其使用者名稱和密碼,以及來自其 AWS MFA 裝置的驗證碼。 建議針對具有主控台密碼的所有帳戶啟用 MFA。 啟用 MFA 可為主控台存取提供更高的安全性,因為它需要驗證主體才能擁有發出時間敏感金鑰並具備認證知識的裝置。

嚴重性:中

應啟用 GuardDuty

描述:若要提供防止入侵的額外保護,您應該在 AWS 帳戶和區域上啟用 GuardDuty。

GuardDuty 可能不是每個環境的完整解決方案。

嚴重性:中

應針對「根」帳戶啟用硬體 MFA

描述:根帳戶是帳戶中最具特殊許可權的使用者。 MFA 會在使用者名稱和密碼之上新增額外的保護層。 啟用 MFA 時,當使用者登入 AWS 網站時,系統會提示他們輸入使用者名稱和密碼,以及從其 AWS MFA 裝置取得驗證碼。 針對層級 2,建議您使用硬體 MFA 保護根帳戶。 硬體 MFA 的受攻擊面比虛擬 MFA 小。 例如,硬體 MFA 不會遭受虛擬 MFA 所在行動智慧型手機所引進的攻擊面。 當您對許多 MFA 使用硬體時,許多帳戶可能會建立後勤裝置管理問題。 如果發生這種情況,請考慮選擇性地將此層級 2 建議實作到最高的安全性帳戶。 然後,您可以將層級 1 建議套用至其餘帳戶。

嚴重性:低

應針對 RDS 叢集設定 IAM 驗證

描述:此控件會檢查 RDS DB 叢集是否已啟用 IAM 資料庫驗證。 IAM 資料庫驗證允許對資料庫實例進行無密碼驗證。 驗證會使用驗證令牌。 來自資料庫的網路流量會使用 SSL 加密。 如需詳細資訊,請參閱 Amazon Aurora 使用者指南中的 IAM 資料庫驗證。

嚴重性:中

應為 RDS 實例設定 IAM 驗證

描述:此控件會檢查 RDS DB 實例是否已啟用 IAM 資料庫驗證。 IAM 資料庫驗證允許使用驗證令牌而非密碼向資料庫實例進行驗證。 來自資料庫的網路流量會使用 SSL 加密。 如需詳細資訊,請參閱 Amazon Aurora 使用者指南中的 IAM 資料庫驗證。

嚴重性:中

IAM 客戶管理的原則不應允許所有 KMS 金鑰的解密動作

描述:檢查預設版本的 IAM 客戶管理原則是否允許主體在所有資源上使用 AWS KMS 解密動作。 此控件會使用 自動化推理引擎 Zelkova 來驗證並警告您有關原則,這些原則可能會授與跨 AWS 帳戶廣泛存取秘密的許可權。 如果所有 KMS 金鑰都允許 「kms: Decrypt」 或 「kms: ReEncryptFrom」 動作,此控制件就會失敗。 控件會評估附加和未連結的客戶管理原則。 它不會檢查內嵌原則或 AWS 受控原則。 透過 AWS KMS,您可以控制誰可以使用您的 KMS 金鑰,並取得加密資料的存取權。 IAM 原則會定義身分識別(使用者、群組或角色)可以在哪些資源上執行的動作。 遵循安全性最佳做法,AWS 建議您允許最低許可權。 換句話說,您應該只授與身分識別 「kms:Decrypt」 或 「kms:ReEncryptFrom」 許可權,而且只授與執行工作所需的密鑰。 否則,使用者可能會使用不適合您數據的密鑰。 使用者不需要授與所有金鑰的許可權,而是決定使用者存取加密數據所需的最小密鑰集。 然後設計原則,允許使用者只使用這些密鑰。 例如,不允許所有 KMS 金鑰的「kms:解密」許可權。 相反地,請只針對您帳戶的特定區域中的密鑰允許「kms:解密」。 藉由採用最低許可權原則,您可以降低數據意外洩漏的風險。

嚴重性:中

您建立的 IAM 客戶管理原則不應允許服務的通配符動作

描述:此控件會檢查您建立的 IAM 身分識別型原則是否具有 Allow 語句,以使用 * 通配符來授與任何服務上所有動作的許可權。 如果有任何原則語句包含 『Effect』: 'Allow' 與 'Action': 'Service:*',控件就會失敗。 例如,原則中的下列語句會導致找不到失敗。

'Statement': [
{
  'Sid': 'EC2-Wildcard',
  'Effect': 'Allow',
  'Action': 'ec2:*',
  'Resource': '*'
}

如果您使用 'Effect': 'Allow' 搭配 'NotAction': 'service:',控件也會失敗。在此情況下,NotAction 元素會提供 AWS 服務中所有動作的存取權,但 NotAction 中指定的動作除外。此控制件僅適用於客戶管理的 IAM 原則。它不適用於 AWS 所管理的 IAM 原則。當您將許可權指派給 AWS 服務時,請務必在 IAM 原則中設定允許的 IAM 動作範圍。您應該只將 IAM 動作限制為所需的動作。這可協助您布建最低許可權許可權。如果原則附加至可能不需要許可權的 IAM 主體,過度寬鬆的原則可能會導致許可權提升。在某些情況下,您可能想要允許具有類似前置詞的 IAM 動作,例如 DescribeFlowLogs 和 DescribeAvailabilityZones。在這些授權的情況下,您可以將後綴通配符新增至通用前置詞。例如,ec2:Describe

如果您使用前置 IAM 動作搭配後綴通配符,則此控件會通過。 例如,原則中的下列語句會產生經過的尋找。

 'Statement': [
{
  'Sid': 'EC2-Wildcard',
  'Effect': 'Allow',
  'Action': 'ec2:Describe*',
  'Resource': '*'
}

當您以這種方式分組相關的 IAM 動作時,也可以避免超過 IAM 原則大小限制。

嚴重性:低

IAM 原則應僅附加至群組或角色

描述:根據預設,IAM 使用者、群組和角色無法存取 AWS 資源。 IAM 原則是授與使用者、群組或角色許可權的方法。 建議將 IAM 原則直接套用至群組和角色,但不會套用至使用者。 在群組或角色層級指派許可權可降低隨著用戶數目增加而降低存取管理的複雜性。 降低存取管理複雜度也可能降低主體不小心接收或保留過多許可權的機會。

嚴重性:低

不應建立允許完整 「」 系統管理許可權的 IAM 原則

描述:IAM 原則是授與使用者、群組或角色許可權的方法。 建議並考慮標準安全性建議,以授與最低許可權,也就是只授與執行工作所需的許可權。 判斷使用者需要執行的動作,然後為其製作原則,讓使用者只執行這些工作,而不是允許完整的系統管理許可權。 從最低許可權集開始,並視需要授與其他許可權,而不是從過於寬鬆的許可權開始,然後稍後嘗試收緊許可權,這更安全。 提供完整的系統管理許可權,而不是限制用戶必須執行的最低許可權集,以將資源公開給潛在的垃圾動作。 應移除具有 “Effect”: “Allow” 語句的 IAM 原則,其具有 “Action”: “” over “Resource”: “” 。

嚴重性:高

IAM 主體不應該有允許所有 KMS 金鑰的解密動作的 IAM 內嵌原則

描述:檢查內嵌在IAM身分識別中的內嵌原則(角色、使用者或群組)是否允許所有 KMS 密鑰上的 AWS KMS 解密動作。 此控件會使用 自動化推理引擎 Zelkova 來驗證並警告您有關原則,這些原則可能會授與跨 AWS 帳戶廣泛存取秘密的許可權。 如果 kms:Decrypt 內嵌原則中的所有 KMS 金鑰都允許或 kms:ReEncryptFrom 動作,則此控件會失敗。 透過 AWS KMS,您可以控制誰可以使用您的 KMS 金鑰,並取得加密資料的存取權。 IAM 原則會定義身分識別(使用者、群組或角色)可以在哪些資源上執行的動作。 遵循安全性最佳做法,AWS 建議您允許最低許可權。 換句話說,您應該只授與身分識別所需的許可權,以及執行工作所需的密鑰。 否則,使用者可能會使用不適合您數據的密鑰。 而不是授與所有金鑰的許可權,而是決定使用者存取加密數據所需的最小密鑰集。 然後設計原則,允許使用者只使用這些密鑰。 例如,不允許 kms:Decrypt 所有 KMS 金鑰的許可權。 相反地,請只在您帳戶的特定區域中的密鑰上允許它們。 藉由採用最低許可權原則,您可以降低數據意外洩漏的風險。

嚴重性:中

Lambda 函式應限制公用存取

描述:Lambda 函式資源型原則應限制公用存取。 此建議不會檢查內部主體的存取權。 請確定只有使用最低許可權資源型原則,才能存取函式的授權主體。

嚴重性:高

應為所有 IAM 用戶啟用 MFA

描述:所有 IAM 用戶都應該啟用多重要素驗證(MFA)。

嚴重性:中

應針對「根」帳戶啟用 MFA

描述:根帳戶是帳戶中最具特殊許可權的使用者。 MFA 會在使用者名稱和密碼之上新增額外的保護層。 啟用 MFA 時,當使用者登入 AWS 網站時,系統會提示他們輸入使用者名稱和密碼,以及從其 AWS MFA 裝置取得驗證碼。 當您針對根帳戶使用虛擬 MFA 時,建議使用的裝置不是個人裝置。 相反地,請使用您管理的專用行動裝置(平板電腦或手機),以保持收費和保護,不受任何個別個人裝置保護。 這會降低因裝置遺失、裝置取捨或公司不再僱用擁有裝置的個人而失去 MFA 存取權的風險。

嚴重性:低

IAM 使用者的密碼原則應具有強式設定

描述:檢查 IAM 使用者的帳戶密碼原則是否使用下列最低設定。

  • RequireUppercaseCharacters - 密碼中至少需要一個大寫字元。 (預設值 = true)
  • RequireLowercaseCharacters - 密碼中至少需要一個小寫字元。 (預設值 = true)
  • RequireNumbers - 密碼中至少需要一個數位。 (預設值 = true)
  • MinimumPasswordLength - 密碼長度下限。 (預設值 = 7 或更長)
  • PasswordReusePrevention - 允許重複使用之前的密碼數目。 (預設值 = 4)
  • MaxPasswordAge - 密碼到期前的天數。 (預設值 = 90)

嚴重性:中

應撤銷 AWS 帳戶中非作用中身分識別的許可權

描述:適用於雲端的 Microsoft Defender 探索到在過去 45 天內未對 AWS 帳戶內的任何資源執行任何動作的身分識別。 建議您撤銷非使用中身分識別的許可權,以減少雲端環境的受攻擊面。

嚴重性:中

根帳戶存取金鑰不應該存在

描述:根帳戶是 AWS 帳戶中最具特殊許可權的使用者。 AWS 存取金鑰會以程式設計方式存取指定的 AWS 帳戶。 建議移除與根帳戶相關聯的所有存取金鑰。 拿掉與根帳戶相關聯的存取金鑰會限制帳戶遭入侵的向量。 此外,移除根存取密鑰會鼓勵建立和使用最低許可權的角色型帳戶。

嚴重性:高

應啟用 S3 [封鎖公用存取] 設定

描述:為 S3 貯體啟用 [封鎖公用存取] 設定有助於防止敏感數據外泄,並保護您的貯體免於惡意動作。

嚴重性:中

S3 [封鎖公用存取] 設定應在貯體層級啟用

描述:此控件會檢查是否已套用 S3 貯體層級的公用存取區塊。 如果下列任何設定設為 false,此控制件就會失敗:

  • ignorePublicAcls
  • blockPublicPolicy
  • blockPublicAcls
  • restrictPublicBuckets 封鎖 S3 貯體層級的公用存取提供控件,以確保對象永遠不會有公用存取權。 公用存取權會透過訪問控制清單(ACL)、貯體原則或兩者授與貯體和物件。 除非您打算公開存取您的 S3 貯體,否則您應該設定貯體層級 Amazon S3 封鎖公用存取功能。

嚴重性:高

應移除 S3 貯體公用讀取許可權

描述:移除 S3 貯體的公用讀取許可權有助於保護您的數據,並防止數據外洩。

嚴重性:高

應移除 S3 貯體公用寫入許可權

描述:允許對 S3 貯體進行公用寫入存取,可能會讓您容易受到惡意動作的攻擊,例如以您的代價儲存數據、加密您的檔案進行贖金,或使用貯體操作惡意代碼。

嚴重性:高

秘密管理員秘密應該已啟用自動輪替

描述:此控件會檢查儲存在 AWS 秘密管理員中的秘密是否設定為自動輪替。 秘密管理員可協助您改善組織的安全性狀態。 秘密包括資料庫認證、密碼和第三方 API 金鑰。 您可以使用秘密管理員集中儲存秘密、自動加密秘密、控制秘密的存取,以及安全地自動輪替秘密。 秘密管理員可以輪替秘密。 您可以使用輪替,將長期秘密取代為短期秘密。 輪替您的秘密會限制未經授權的使用者可以使用遭入侵秘密的時間長度。 基於這個理由,您應該經常輪替秘密。 若要深入瞭解輪替,請參閱 AWS 秘密管理員使用者指南中的輪替 AWS 秘密管理員秘密

嚴重性:中

停止的 EC2 實例應該在指定的時間週期之後移除

描述:此控件會檢查是否已停止任何 EC2 實例超過允許的天數。 EC2 實例會失敗,此檢查是否已停止超過允許的最長時間週期,預設為 30 天。 失敗的發現表示 EC2 實例在長時間未執行。 這會建立安全性風險,因為 EC2 實例並未主動維護(分析、修補、更新)。 如果稍後啟動,缺少適當的維護可能會導致AWS環境中發生非預期的問題。 若要在一段時間內以非執行狀態安全地維護EC2實例,請定期啟動它以進行維護,然後在維護之後停止。 在理想情況下,這是自動化程式。

嚴重性:中

您的 AWS 環境中未使用的身分識別應移除 (預覽)

描述:非使用中的身分識別是過去90天內未對任何資源執行任何動作的人和非人類實體。 AWS 帳戶中具有高風險許可權的非作用中 IAM 身分識別,如果保持一般狀態,讓組織能夠存取認證誤用或惡意探索,可能會容易受到攻擊。 主動偵測和回應未使用的身分識別,可協助您防止未經授權的實體取得 AWS 資源的存取權。

嚴重性:中

GCP 身分識別和存取建議

密碼編譯金鑰不應該有三個以上的使用者

描述:此建議會評估密鑰通道的 IAM 原則, 項目和組織,並擷取具有角色的主體,允許他們使用雲端 KMS 密鑰加密、解密或簽署數據:roles/owner、roles/cloudkms.cryptoKeyEncrypterDecrypter、roles/cloudkms.cryptoKeyEncrypter、roles/cloudkms.signer 和 roles/cloudkms.signerVerifier。

嚴重性:中

確定不會為專案建立 API 金鑰

描述:金鑰不安全,因為它們可以公開檢視,例如從瀏覽器內檢視,或者可以在密鑰所在的裝置上存取。 建議改用標準驗證流程。

使用 API 金鑰所涉及的安全性風險如下所示:

  • API 金鑰是簡單的加密字串
  • API 金鑰不會識別提出 API 要求的使用者或應用程式
  • 用戶端通常會存取 API 金鑰,讓您輕鬆探索及竊取 API 金鑰

若要避免使用 API 金鑰的安全性風險,建議改用標準驗證流程。

嚴重性:高

確定 API 金鑰僅限於應用程式需要存取的 API

描述:API 金鑰不安全,因為它們可以公開檢視,例如從瀏覽器內檢視,或者可以在密鑰所在的裝置上存取它們。 建議限制 API 金鑰只使用應用程式所需的 API(呼叫)。

使用 API 金鑰所涉及的安全性風險如下:

  • API 金鑰是簡單的加密字串
  • API 金鑰不會識別提出 API 要求的使用者或應用程式
  • 用戶端通常會存取 API 金鑰,讓您輕鬆探索及竊取 API 金鑰

根據這些潛在風險,Google 建議使用標準驗證流程,而不是 API 金鑰。 不過,API 金鑰更適合的情況有限。 例如,如果有行動應用程式需要使用Google Cloud Translation API,但不需要後端伺服器,API 密鑰就是向該 API 進行驗證的最簡單方式。

為了藉由提供最低許可權來減少受攻擊面,API 金鑰只能限制使用應用程式所需的 API(呼叫)。

嚴重性:高

確定 API 金鑰僅限於指定的主機和應用程式使用

描述:不受限制的密鑰不安全,因為它們可以公開檢視,例如從瀏覽器內檢視,或者可以在密鑰所在的裝置上存取它們。 建議將 API 金鑰使用限制為受信任的主機、HTTP 查閱者和應用程式。

使用 API 金鑰所涉及的安全性風險如下所示:

  • API 金鑰是簡單的加密字串
  • API 金鑰不會識別提出 API 要求的使用者或應用程式
  • 用戶端通常會存取 API 金鑰,讓您輕鬆探索及竊取 API 金鑰

根據這些潛在風險,Google 建議使用標準驗證流程,而不是 API 金鑰。 不過,API 金鑰更適合的情況有限。 例如,如果有行動應用程式需要使用Google Cloud Translation API,但不需要後端伺服器,API 密鑰就是向該 API 進行驗證的最簡單方式。

為了減少攻擊媒介,API 密鑰只能限制為受信任的主機、HTTP 查閱者和應用程式。

嚴重性:高

確保 API 金鑰每隔 90 天輪替一次

描述:建議每隔 90 天輪替 API 金鑰。

使用 API 金鑰所涉及的安全性風險如下:

  • API 金鑰是簡單的加密字串
  • API 金鑰不會識別提出 API 要求的使用者或應用程式
  • 用戶端通常會存取 API 金鑰,讓您輕鬆探索及竊取 API 金鑰

由於這些潛在風險,Google 建議使用標準驗證流程,而不是 API 金鑰。 不過,API 金鑰更適合的情況有限。 例如,如果有行動應用程式需要使用Google Cloud Translation API,但不需要後端伺服器,API 密鑰就是向該 API 進行驗證的最簡單方式。

密鑰遭竊之後,它就沒有到期日,這表示除非項目擁有者撤銷或重新產生密鑰,否則可能會無限期使用。 輪替 API 金鑰會減少與所遭入侵或終止帳戶相關聯的存取金鑰使用機會視窗。

API 金鑰應該輪替,以確保無法使用可能遺失、破解或遭竊的舊密鑰存取數據。

嚴重性:高

確定 KMS 加密金鑰會在 90 天內輪替

描述:Google Cloud 金鑰管理服務 將密碼編譯密鑰儲存在專為實用且優雅的訪問控制管理而設計的階層式結構中。 輪替排程的格式取決於所使用的用戶端連結庫。 針對 gcloud 命令行工具,下一個輪替時間必須是 “ISO” 或 “RFC3339” 格式,而旋轉週期的格式必須是 “INTEGER[UNIT]”,其中單位可以是秒(s)、分鐘(m)、小時(h)或天(d)。 設定金鑰輪替期間和開始時間。 您可以使用指定的「輪替期間」來建立金鑰,這是自動產生新密鑰版本之間的時間。 您也可以使用指定的下一次輪替時間來建立索引鍵。 密鑰是具名物件,代表用於特定用途的「密碼編譯密鑰」。 密鑰數據是用於「加密」的實際位,在建立新的金鑰版本時,可能會隨著時間而變更。 密鑰是用來保護一些「數據主體」。檔案集合可以使用相同的密鑰加密,而該金鑰上具有「解密」許可權的人員就能夠解密這些檔案。 因此,必須確定「輪替期間」設定為特定時間。

嚴重性:中

確定項目擁有權指派/變更存在記錄計量篩選和警示

描述:為了避免對使用者/服務帳戶進行不必要的項目擁有權指派,並進一步誤用專案和資源,應監視所有「角色/擁有者」指派。 具有基本角色「角色/擁有者」角色指派的成員(users/Service-Accounts)是項目擁有者。 項目擁有者擁有角色所屬專案的所有許可權。 以下摘要說明:

  • 專案內所有 GCP 服務的所有查看器許可權
  • 修改專案內所有 GCP 服務狀態之動作的許可權
  • 管理專案和專案內所有資源的角色和許可權
  • 設定專案的計費,將擁有者角色授與成員 (user/Service-Account) 可讓該成員修改身分識別和存取管理 (IAM) 原則。 因此,只有在成員有管理 IAM 原則的合法用途時,才授與擁有者角色。 這是因為專案 IAM 原則包含敏感性訪問控制數據。 允許管理 IAM 原則的最小一組使用者,將簡化可能需要的任何稽核。 項目擁有權在專案上具有最高層級的許可權。 為了避免濫用項目資源,應監視上述項目擁有權指派/變更動作,並警示相關收件者。
  • 傳送項目擁有權邀請
  • 使用者接受/拒絕項目擁有權邀請
  • 新增 role\Owner 至使用者/service-account
  • 從中移除使用者/服務帳戶 role\Owner

嚴重性:低

確定已針對專案啟用奧斯陸金

描述:啟用OS登入會將SSH憑證系結至IAM使用者,並協助有效的SSH憑證管理。 啟用 osLogin 可確保用來連線到實例的 SSH 金鑰會與 IAM 用戶對應。 撤銷 IAM 使用者的存取權將會撤銷與該特定使用者相關聯的所有 SSH 金鑰。 它有助於集中式和自動化的 SSH 金鑰組管理,這在處理回應遭入侵的 SSH 金鑰組和/或撤銷外部/第三方/廠商使用者等案例時很有用。 若要找出哪個實例導致項目狀況不良,請參閱建議「確定已為所有實例啟用奧斯陸金」。

嚴重性:中

確定已為所有實例啟用奧斯陸金

描述:啟用OS登入會將SSH憑證系結至IAM使用者,並協助有效的SSH憑證管理。 啟用 osLogin 可確保用來連線到實例的 SSH 金鑰會與 IAM 用戶對應。 撤銷 IAM 使用者的存取權將會撤銷與該特定使用者相關聯的所有 SSH 金鑰。 它有助於集中式和自動化的 SSH 金鑰組管理,這在處理回應遭入侵的 SSH 金鑰組和/或撤銷外部/第三方/廠商使用者等案例時很有用。

嚴重性:中

確定已在專案的所有服務和所有用戶之間正確設定雲端稽核記錄

描述:建議將雲端稽核記錄設定為追蹤所有系統管理活動,以及讀取、寫入用戶數據的存取權。

雲端稽核記錄會針對每個專案、資料夾和組織維護兩個稽核記錄:管理活動和數據存取。

  • 系統管理活動記錄包含 API 呼叫或其他系統管理動作的記錄專案,這些動作會修改資源的組態或元數據。
  • 系統管理活動稽核記錄會針對所有服務啟用,且無法設定。
  • 數據存取稽核記錄會記錄 API 呼叫,以建立、修改或讀取使用者提供的數據。 這些預設為停用,且應該啟用。

資料存取稽核記錄資訊有三種:

  • 管理員讀取:記錄讀取元數據或組態信息的作業。 系統管理活動稽核記錄會記錄無法停用之元數據和組態資訊的寫入。
  • 讀取數據:記錄讀取使用者提供數據的作業。
  • 數據寫入:記錄寫入使用者提供數據的作業。

建議以下列方式設定有效的預設稽核組態:

  • 記錄類型設定為DATA_READ(記錄用戶活動追蹤)和DATA_WRITES(記錄變更/竄改至用戶數據)。
  • 數據存取稽核記錄功能支援的所有服務都啟用稽核設定。
  • 所有用戶都應該擷取記錄,也就是說,任何稽核組態區段中都沒有豁免的使用者。 這可確保覆寫稽核組態不會與需求相矛盾。

嚴重性:中

確定無法匿名或公開存取雲端 KMS 密碼編譯金鑰

描述:建議 Cloud KMS 密碼編譯密鑰上的 IAM 原則應限制匿名和/或公用存取。 授與 “allUsers” 或 “allAuthenticatedUsers” 的許可權,可讓任何人存取數據集。 如果敏感數據儲存在位置,則這類存取可能無法取用。 在此情況下,請確定不允許匿名和/或公用存取雲端 KMS 密碼編譯密鑰。

嚴重性:高

確定已使用公司登入認證

描述:使用公司登入認證,而不是個人帳戶,例如 Gmail 帳戶。 建議使用完全受控的公司 Google 帳戶來提升對雲端平臺資源的可見度、稽核和控制存取。 基於使用者組織外部的 Gmail 帳戶,例如個人帳戶,不應用於商務用途。

嚴重性:高

確定未在專案層級指派服務帳戶用戶或服務帳戶令牌建立者角色

描述:建議將「服務帳戶使用者」(iam.serviceAccountUser)和「服務帳戶令牌建立者」(iam.serviceAccountTokenCreator)角色指派給特定服務帳戶的使用者,而不是將角色指派給專案層級的使用者。 服務帳戶是屬於應用程式或虛擬機 (VM) 的特殊 Google 帳戶,而不是個別使用者。 應用程式/VM 實例會使用服務帳戶來呼叫服務的 Google API,讓使用者不會直接參與。 除了身分識別之外,服務帳戶也是連結 IAM 原則的資源。 這些原則會決定誰可以使用服務帳戶。 具有IAM角色來更新App Engine和計算引擎實例的使用者(例如App Engine Deployer 或 Compute Instance Admin)可以有效地執行程式代碼作為用來執行這些實例的服務帳戶,並間接取得服務帳戶可存取的所有資源。 同樣地,對計算引擎實例的 SSH 存取也可能提供執行程式代碼作為該實例/服務帳戶的能力。 根據業務需求,可能會針對項目設定多個使用者管理的服務帳戶。 將 「iam.serviceAccountUser」 或 「iam.serviceAserviceAccountTokenCreatorccountUser」 角色授與項目的使用者,可讓使用者存取專案中的所有服務帳戶,包括未來可能建立的服務帳戶。 這可能會導致許可權提升,方法是使用服務帳戶和對應的「計算引擎實例」。為了實作「最低許可權」最佳做法,IAM 使用者不應該在專案層級指派「服務帳戶使用者」或「服務帳戶令牌建立者」角色。 相反地,這些角色應該指派給特定服務帳戶的使用者,並授與該使用者對服務帳戶的存取權。 「服務帳戶使用者」可讓使用者將服務帳戶系結至長時間執行的工作服務,而「服務帳戶令牌建立者」角色可讓使用者直接模擬服務帳戶的身分識別(或判斷提示)。

嚴重性:中

描述:建議在將 KMS 相關角色指派給使用者時,強制執行「職責分離」的原則。 內建/預先定義的 IAM 角色 「Cloud KMS Admin」 可讓使用者/身分識別建立、刪除及管理服務帳戶。。 內建/預先定義的 IAM 角色 Cloud KMS CryptoKey Encrypter/Decrypter 可讓使用者/身分識別(具有相關資源的適當許可權)使用加密密鑰來加密和解密待用數據。 內建/預先定義的 IAM 角色 Cloud KMS CryptoKey Encrypter 可讓使用者/身分識別(具有相關資源的適當許可權)使用加密密鑰加密待用數據。 內建/預先定義的 IAM 角色 Cloud KMS Crypto Key Decrypter 可讓使用者/身分識別(具有相關資源的適當許可權)使用加密密鑰解密待用數據。 職責分離是確保一個人沒有所有必要許可權才能完成惡意動作的概念。 在 Cloud KMS 中,這可能是一種動作,例如使用密鑰來存取和解密使用者通常無法存取的數據。 職責分離是一種商務控件,通常用於大型組織,旨在協助避免安全性或隱私權事件和錯誤。 這是最佳做法。 沒有任何用戶應該有雲端 KMS 管理員,以及同時指派的任何Cloud KMS CryptoKey Encrypter/DecrypterCloud KMS CryptoKey EncrypterCloud KMS CryptoKey Decrypter 角色。

嚴重性:高

描述:建議在將服務帳戶相關角色指派給使用者時,強制執行「職責分離」的原則。 內建/預先定義的 IAM 角色「服務帳戶管理員」可讓使用者/身分識別建立、刪除及管理服務帳戶。 內建/預先定義的 IAM 角色「服務帳戶使用者」可讓使用者/身分識別(具有計算和應用程式引擎的適當許可權)將服務帳戶指派給應用程式/計算實例。 職責分離是確保一個人沒有所有必要許可權才能完成惡意動作的概念。 在 Cloud IAM - 服務帳戶中,這可能是一種動作,例如使用服務帳戶來存取使用者通常不應該存取的資源。 職責分離是一種商務控件,通常用於大型組織,旨在協助避免安全性或隱私權事件和錯誤。 這是最佳做法。 沒有用戶應該同時指派「服務帳戶管理員」和「服務帳戶使用者」角色。

嚴重性:中

確定服務帳戶沒有系統管理員許可權

描述:服務帳戶是屬於應用程式或 VM 的特殊 Google 帳戶,而不是個別使用者。 應用程式會使用服務帳戶來呼叫服務的Google API,讓使用者不會直接參與。 不建議使用 ServiceAccount 的系統管理員存取權。 服務帳戶代表資源(應用程式或 VM)的服務層級安全性,可由指派給它的角色來決定。 使用系統管理員許可權註冊 ServiceAccount 可完整存取指派的應用程式或 VM。 ServiceAccount 存取持有者可以執行重要動作,例如刪除、更新變更設定等,而不需要使用者介入。 基於這個理由,建議服務帳戶沒有系統管理員許可權。

嚴重性:中

確定已針對所有記錄專案設定接收

描述:建議建立接收,以匯出所有記錄項目的複本。 這有助於匯總來自多個項目的記錄,並將其導出至安全性資訊和事件管理 (SIEM)。 記錄專案會保留在 Stackdriver 記錄中。 若要匯總記錄,請將記錄導出至 SIEM。 若要保留較長的時間,建議您設定記錄接收。 匯出牽涉到撰寫篩選來選取要導出的記錄專案,以及選擇雲端記憶體、BigQuery 或 Cloud Pub/Sub 中的目的地。 篩選條件和目的地會保留在名為接收的物件中。 為了確保所有記錄專案都匯出至接收,請確定未針對接收設定任何篩選。 接收可以在專案、組織、資料夾和計費帳戶中建立。

嚴重性:低

確定稽核組態變更的記錄計量篩選和警示存在

描述:Google Cloud Platform (GCP) 服務會將稽核記錄專案寫入系統管理員活動和數據存取記錄。 項目有助於回答 GCP 專案內的「誰做了什麼、在哪裡和何時?」的問題。 雲端稽核記錄資訊包括 API 呼叫者的身分識別、API 呼叫的時間、API 呼叫端的來源 IP 位址、要求參數,以及 GCP 服務所傳回的回應元素。 雲端稽核記錄提供帳戶的 GCP API 呼叫歷程記錄,包括透過主控台、SDK、命令行工具和其他 GCP 服務進行的 API 呼叫。 雲端稽核記錄所產生的系統管理員活動和數據存取記錄,可啟用安全性分析、資源變更追蹤和合規性稽核。 設定稽核組態變更的計量篩選和警示可確保維護建議的稽核組態狀態,讓專案中的所有活動隨時都能進行稽核。

嚴重性:低

確定自定義角色變更的記錄計量篩選和警示存在

描述:建議針對身分識別和存取管理 (IAM) 角色建立、刪除和更新活動的變更,建立計量篩選和警示。 Google Cloud IAM 提供預先定義的角色,可提供特定 Google Cloud Platform 資源的細微存取權,並防止不想要存取其他資源。 不過,為了迎合組織的特定需求,Cloud IAM 也提供建立自定義角色的能力。 具有組織角色管理員角色或 IAM 角色管理員角色的項目擁有者和系統管理員可以建立自定義角色。 監視角色建立、刪除和更新活動將有助於在早期階段識別任何超特殊許可權角色。

嚴重性:低

確保服務帳戶的使用者管理/外部密鑰每隔 90 天或更少輪替一次

描述:服務帳戶密鑰是由金鑰標識碼(Private_key_Id)和私鑰所組成,用來簽署使用者向該特定服務帳戶存取的 Google 雲端服務提出的程式設計要求。 建議定期輪替所有服務帳戶密鑰。 輪替服務帳戶金鑰將會減少與所要使用之遭入侵或終止帳戶相關聯的存取密鑰機會視窗。 服務帳戶密鑰應輪替,以確保無法使用可能遺失、破解或遭竊的舊密鑰存取數據。 每個服務帳戶都會與Google Cloud Platform (GCP) 所管理的金鑰組相關聯。 它用於 GCP 內的服務對服務驗證。 谷歌每天輪換金鑰。 GCP 提供選項來建立一或多個使用者管理的金鑰組(也稱為外部密鑰組)金鑰組,以便從 GCP 外部使用(例如,用於搭配應用程式預設認證使用)。 建立新的金鑰組時,用戶必須下載私鑰(Google 不會保留)。

使用外部金鑰時,用戶須負責保護私鑰的安全和其他管理作業,例如密鑰輪替。 外部密鑰可由 IAM API、gcloud 命令行工具,或 Google Cloud Platform Console 中的 [服務帳戶] 頁面管理。

GCP 可協助每個服務帳戶最多 10 個外部服務帳戶密鑰,以利密鑰輪替。

嚴重性:中

GCP 過度佈建的身分識別應該只有必要的權限 (預覽)

描述:過度布建的作用中身分識別是可存取他們尚未使用之許可權的身分識別。 過度布建的作用中身分識別,特別是對於具有非常定義動作和責任的非人帳戶,可以在使用者、金鑰或資源入侵時增加爆炸半徑。最低許可權原則指出資源應該只能存取所需的確切資源才能運作。 此原則已開發,以解決遭入侵身分識別的風險,授與攻擊者存取各種資源的風險。

應該停用 GKE Web 儀錶板

描述:此建議會評估索引鍵/值組 'disabled': false 之 addonsConfig 屬性的 kubernetesDashboard 字段。

嚴重性:高

GKE 叢集上應停用舊版授權

描述:此建議會針對索引鍵/值組評估叢集的 legacyAbac 屬性,『enabled』: true。

嚴重性:高

應該撤銷 GCP 專案中非使用中身分識別的許可權

描述:適用於雲端的 Microsoft Defender 探索到在過去 45 天內未對 GCP 專案內的任何資源執行任何動作的身分識別。 建議您撤銷非使用中身分識別的許可權,以減少雲端環境的受攻擊面。

嚴重性:中

Redis IAM 角色不應在組織或資料夾層級指派

描述:此建議會評估組織或資料夾層級上主體指派角色/redis.admin、roles/redis.editor、roles/redis.viewer 的資源元數據中的 IAM 允許原則。

嚴重性:高

服務帳戶應該在叢集中具有受限制的專案存取

描述:此建議會評估節點集區的 config 屬性,以檢查是否已指定任何服務帳戶,或是否使用預設服務帳戶。

嚴重性:高

用戶應具有細微 IAM 角色的最低許可權存取權

描述:此建議會針對任何指派的角色/擁有者、角色/寫入者或角色/讀取者,評估資源元數據中的 IAM 原則。

嚴重性:高