本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon MSK 的 Security Hub 控制項
這些 AWS Security Hub 控制項會評估 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 服務和資源。控制項可能無法全部使用 AWS 區域。如需詳細資訊,請參閱依區域的控制項可用性。
【MSK.1】 MSK 叢集應在代理程式節點之間傳輸時加密
相關要求:NIST.800-53.r5 AC-4、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-23、NIST.800-53.r5 SC-23(3)、NIST.800-53.r5 SC-7(4)、NIST.800-53.r5 SC-8、NIST.800-53.r5 SC-8(1)、NIST.800-53.r5 SC-8(2)、PCI DSS v4.0.1/4.2.1
類別:保護 > 資料保護 > data-in-transit加密
嚴重性:中
資源類型: AWS::MSK::Cluster
AWS Config 規則:msk-in-cluster-node-require-tls
排程類型:已觸發變更
參數:無
此控制項會檢查 Amazon MSK 叢集是否在叢集的代理程式節點之間使用 HTTPS (TLS) 傳輸中加密。如果啟用叢集代理程式節點連線的純文字通訊,則控制項會失敗。
HTTPS 提供額外的安全層,因為它使用 TLS 來移動資料,可用於協助防止潛在攻擊者使用person-in-the-middle或類似的攻擊來竊聽或操作網路流量。根據預設,Amazon MSK 會使用 TLS 加密傳輸中的資料。不過,您可以在建立叢集時覆寫此預設值。我們建議透過 HTTPS (TLS) 為代理程式節點連線使用加密連線。
修補
如需有關更新 Amazon MSK 叢集加密設定的資訊,請參閱《Amazon Managed Streaming for Apache Kafka 開發人員指南》中的更新叢集的安全性設定。
【MSK.2】 MSK 叢集應設定增強型監控
相關需求:NIST.800-53.r5 CA-7、NIST.800-53.r5 SI-2
類別:偵測 > 偵測服務
嚴重性:低
資源類型: AWS::MSK::Cluster
AWS Config 規則:msk-enhanced-monitoring-enabled
排程類型:已觸發變更
參數:無
此控制項會檢查 Amazon MSK 叢集是否已設定增強型監控,由至少 的監控層級指定PER_TOPIC_PER_BROKER
。如果叢集的監控層級設定為 DEFAULT
或 ,則控制項會失敗PER_BROKER
。
PER_TOPIC_PER_BROKER
監控層級提供更精細的 MSK 叢集效能洞察,也提供與資源使用率相關的指標,例如 CPU 和記憶體使用量。這可協助您識別個別主題和代理程式的效能瓶頸和資源使用率模式。此可見性可最佳化 Kafka 代理程式的效能。
修補
若要設定 MSK 叢集的增強型監控,請完成下列步驟:
開啟 Amazon MSK 主控台,網址為 https://console.aws.amazon.com/msk/home?region=us-east-1#/home/
。 -
在導覽窗格中,選擇叢集。然後,選擇叢集。
-
針對動作,選取編輯監控。
-
選取增強型主題層級監控的選項。
-
選擇儲存變更。
如需監控層級的詳細資訊,請參閱《Amazon Managed Streaming for Apache Kafka 開發人員指南》中的使用 CloudWatch 監控標準代理程式的 Amazon MSK 指標。
【MSK.3】 MSK Connect 連接器應在傳輸中加密
相關要求:PCI DSS v4.0.1/4.2.1
類別:保護 > 資料保護 > data-in-transit加密
嚴重性:中
資源類型: AWS::KafkaConnect::Connector
AWS Config rule:msk-connect-connector-encrypted
(自訂 Security Hub 規則)
排程類型:已觸發變更
參數:無
此控制項會檢查 Amazon MSK Connect 連接器是否在傳輸中加密。如果連接器未在傳輸中加密,則此控制項會失敗。
傳輸中的資料是指從一個位置移動到另一個位置的資料,例如叢集中的節點之間,或叢集與您的應用程式之間。資料可能會在網際網路或私有網路中移動。加密傳輸中的資料可降低未經授權的使用者可以竊聽網路流量的風險。
修補
您可以在建立 MSK Connect 連接器時啟用傳輸中加密。您無法在建立連接器後變更加密設定。如需詳細資訊,請參閱《Amazon Managed Streaming for Apache Kafka 開發人員指南》中的建立連接器。
【MSK.4】 MSK 叢集應停用公有存取
類別:保護 > 安全存取管理 > 資源不可公開存取
嚴重性:嚴重
資源類型: AWS::MSK::Cluster
AWS Config 規則:msk-cluster-public-access-disabled
排程類型:已觸發變更
參數:無
此控制項會檢查 Amazon MSK 叢集的公有存取是否已停用。如果 MSK 叢集已啟用公有存取,則控制項會失敗。
根據預設,只有在用戶端與叢集位於相同的 VPC 中時,用戶端才能存取 Amazon MSK 叢集。根據預設,Kafka 用戶端和 MSK 叢集之間的所有通訊都是私有的,串流資料不會周遊網際網路。不過,如果 MSK 叢集設定為允許公開存取,則網際網路上的任何人都可以與叢集內執行的 Apache Kafka 代理程式建立連線。這可能會導致未經授權的存取、資料外洩或漏洞利用等問題。如果您要求身分驗證和授權措施來限制對叢集的存取,您可以協助保護敏感資訊並維護資源的完整性。
修補
如需管理 Amazon MSK 叢集公有存取權的資訊,請參閱《Amazon Managed Streaming for Apache Kafka 開發人員指南》中的開啟 MSK 佈建叢集的公有存取權。
【MSK.5】 MSK 連接器應該已啟用記錄
類別:識別 > 記錄日誌
嚴重性:中
資源類型: AWS::KafkaConnect::Connector
AWS Config 規則:msk-connect-connector-logging-enabled
排程類型:已觸發變更
參數:無
此控制項會檢查是否已為 Amazon MSK 連接器啟用記錄。如果停用 MSK 連接器的記錄,則控制項會失敗。
Amazon MSK 連接器透過持續將串流資料從資料來源複製到 Apache Kafka 叢集,或持續將資料從叢集複製到資料接收器,將外部系統和 Amazon 服務與 Apache Kafka 整合。MSK Connect 可以撰寫日誌事件,以協助偵錯連接器。建立連接器時,您可以指定下列零個或多個日誌目的地:Amazon CloudWatch Logs、Amazon S3 和 Amazon Data Firehose。
注意
如果外掛程式未將這些值定義為秘密,則敏感組態值可能會顯示在連接器日誌中。Kafka Connect 會將未定義的組態值視為與任何其他純文字值相同。
修補
若要啟用現有 Amazon MSK 連接器的記錄,您必須使用適當的記錄組態重新建立連接器。如需組態選項的詳細資訊,請參閱《Amazon Managed Streaming for Apache Kafka 開發人員指南》中的 MSK Connect 記錄。
【MSK.6】 MSK 叢集應停用未驗證的存取
類別:保護 > 安全存取管理 > 無密碼身分驗證
嚴重性:中
資源類型: AWS::MSK::Cluster
AWS Config 規則:msk-unrestricted-access-check
排程類型:已觸發變更
參數:無
此控制項會檢查是否已啟用 Amazon MSK 叢集的未驗證存取。如果 MSK 叢集啟用未經驗證的存取,則控制項會失敗。
Amazon MSK 支援用戶端身分驗證和授權機制,以控制對叢集的存取。這些機制會驗證連線至叢集的用戶端身分,並判斷用戶端可執行的動作。MSK 叢集可以設定為允許未經驗證的存取,這允許具有網路連線的任何用戶端發佈和訂閱 Kafka 主題,而無需提供登入資料。在不要求身分驗證的情況下執行 MSK 叢集會違反最低權限原則,而且可能會讓叢集暴露在未經授權的存取中。它可以允許任何用戶端存取、修改或刪除 Kafka 主題中的資料,這可能會導致資料外洩、未經授權的資料修改或服務中斷。我們建議啟用身分驗證機制,例如 IAM 身分驗證、SASL/SCRAM 或交互 TLS,以確保適當的存取控制和維護安全合規。
修補
如需有關變更 Amazon MSK 叢集身分驗證設定的資訊,請參閱《Amazon Managed Streaming for Apache Kafka 開發人員指南》中的下列章節:更新 Amazon MSK 叢集的安全性設定,以及 Apache Kafka APIs的身分驗證和授權。