本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的 Security Hub CSPM 控制項AWS Lambda
這些AWS Security Hub CSPM控制項會評估 AWS Lambda服務和資源。控制項可能無法全部使用AWS 區域。如需詳細資訊,請參閱依區域的控制項可用性。
【Lambda.1】 Lambda 函數政策應禁止公開存取
相關需求:NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6、NIST.800-53.r5 SC-7、NIST.800-53.r5 SC-7(11)、NIST.800-53.r5 SC-7(16)、NIST.800-53.r5 SC-7(20)、NIST.800-53.r5 SC-7 、
類別:保護 > 安全網路組態
嚴重性:嚴重
資源類型: AWS::Lambda::Function
AWS Config 規則:lambda-function-public-access-prohibited
排程類型:已觸發變更
參數:無
此控制項會檢查 Lambda 函數資源型政策是否禁止您帳戶外部的公開存取。如果允許公開存取,則控制項會失敗。如果從 Amazon S3 叫用 Lambda 函數,且政策不包含限制公開存取的條件,則控制項也會失敗,例如 AWS:SourceAccount。我們建議您在儲存貯體政策AWS:SourceAccount中使用其他 S3 條件和 ,以獲得更精確的存取。
注意
此控制項不會評估使用萬用字元或變數的政策條件。若要產生PASSED調查結果,Lambda 函數政策中的條件只能使用固定值,這些值不包含萬用字元或政策變數。如需政策變數的相關資訊,請參閱AWS Identity and Access Management《 使用者指南》中的變數和標籤。
Lambda 函數不應公開存取,因為這可能會允許意外存取您的函數程式碼。
修補
若要修復此問題,您必須更新函數的資源型政策,以移除許可或新增AWS:SourceAccount條件。您只能從 Lambda API 或 更新資源型政策AWS CLI。
若要開始,請檢閱 Lambda 主控台上的資源型政策。識別具有讓政策公開之Principal欄位值的政策陳述式,例如 "*"或 { "AWS": "*" }。
您無法從主控台編輯政策。若要從 函數移除許可,請從 執行 remove-permission命令AWS CLI。
$ aws lambda remove-permission --function-name<function-name>--statement-id<statement-id>
將 取代為 Lambda 函數的名稱,並將 <function-name>取代為您要移除之陳述式的陳述式 ID (<statement-id>Sid)。
【Lambda.2】 Lambda 函數應使用支援的執行時間
相關要求:NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 SI-2、NIST.800-53.r5 SI-2(2)、NIST.800-53.r5 SI-2(4)、NIST.800-53.r5 SI-2(5)、PCI DSS v4.0.1/12.3.4
類別:保護 > 安全開發
嚴重性:中
資源類型: AWS::Lambda::Function
AWS Config 規則:lambda-function-settings-check
排程類型:已觸發變更
參數:
-
runtime:dotnet8, java25, java21, java17, java11, java8.al2, nodejs24.x, nodejs22.x, nodejs20.x, python3.14, python3.13, python3.12, python3.11, python3.10, ruby3.4, ruby3.3, ruby3.2(不可自訂)
此控制項會檢查AWS Lambda函數執行時間設定是否符合每種語言中支援執行時間設定的預期值。如果 Lambda 函數不使用支援的執行時間,則控制項會失敗,如參數一節所述。Security Hub CSPM 會忽略套件類型為 的函數Image。
Lambda 執行時間是以作業系統、程式設計語言和軟體程式庫的組合為基礎,這些程式庫會受到維護和安全性更新的影響。當安全更新不再支援執行期元件時,Lambda 會棄用執行期。即使您無法建立使用已棄用執行時間的函數,該函數仍然可用於處理調用事件。我們建議確保您的 Lambda 函數是最新的,並且不使用已棄用的執行時間環境。如需支援的執行時間清單,請參閱《 AWS Lambda開發人員指南》中的 Lambda 執行時間。
修補
如需支援的執行期和棄用排程的詳細資訊,請參閱《 AWS Lambda開發人員指南》中的執行期棄用政策。當將執行時間遷移至最新版本時,請遵循語言發佈者提供的語法和指導。我們也建議套用執行時間更新,以協助降低在執行時間版本不相容的罕見情況下,對工作負載造成影響的風險。
【Lambda.3】 Lambda 函數應該位於 VPC 中
相關要求:PCI DSS v3.2.1/1.2.1、PCI DSS v3.2.1/1.3.1、PCI DSS v3.2.1/1.3.2、PCI DSS v3.2.1/1.3.4、NIST.800-53.r5 AC-21、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-4、NIST.800-53.r5 AC-4(21)、NIST.800-53.r5 AC-6.NIST.800-53.r5 SC-7
類別:保護 > 安全網路組態
嚴重性:低
資源類型: AWS::Lambda::Function
AWS Config規則: lambda-inside-vpc
排程類型:已觸發變更
參數:無
此控制項會檢查 Lambda 函數是否部署在虛擬私有雲端 (VPC) 中。如果未在 VPC 中部署 Lambda 函數,則控制項會失敗。Security Hub CSPM 不會評估 VPC 子網路路由組態來判斷公有連線能力。您可能會看到 Lambda@Edge 資源的失敗問題清單。
在 VPC 中部署資源可增強安全性並控制網路組態。這類部署也提供跨多個可用區域的可擴展性和高容錯能力。您可以自訂 VPC 部署以滿足各種應用程式需求。
修補
若要將現有 函數設定為連接到 VPC 中的私有子網路,請參閱《 AWS Lambda開發人員指南》中的設定 VPC 存取。我們建議為高可用性選擇至少兩個私有子網路,以及至少有一個符合 函數連線需求的安全群組。
【Lambda.5】 VPC Lambda 函數應該在多個可用區域中操作
相關需求:NIST.800-53.r5 CP-10、NIST.800-53.r5 CP-6(2)、NIST.800-53.r5 SC-36、NIST.800-53.r5 SC-5(2)、NIST.800-53.r5 SI-13(5)
類別:復原 > 彈性 > 高可用性
嚴重性:中
資源類型: AWS::Lambda::Function
AWS Config 規則:lambda-vpc-multi-az-check
排程類型:變更已觸發
參數:
| 參數 | 說明 | Type | 允許的自訂值 | Security Hub CSPM 預設值 |
|---|---|---|---|---|
|
|
可用區域數目下限 |
列舉 |
|
|
此控制項會檢查連線至虛擬私有雲端 (VPC) 的 AWS Lambda函數是否至少在指定數量的可用區域 (AZs中運作。如果函數未在至少指定數量AZs 中操作,則控制項會失敗。除非您提供最低 AZs 數量的自訂參數值,否則 Security Hub CSPM 會使用兩個 AZs 的預設值。
在多個AZs之間部署資源是AWS最佳實務,可確保架構內的高可用性。可用性是機密性、完整性和可用性三要素安全模型的核心支柱。連接到 VPC 的所有 Lambda 函數都應具有多可用區域部署,以確保單一故障區域不會造成操作的完全中斷。
修補
如果您將函數設定為連接到帳戶中的 VPC,請在多個AZs指定子網路,以確保高可用性。如需說明,請參閱《 AWS Lambda開發人員指南》中的設定 VPC 存取。
Lambda 會自動在多個AZs執行其他函數,以確保在單一區域中發生服務中斷時,它可用於處理事件。
【Lambda.6】 應標記 Lambda 函數
類別:識別 > 庫存 > 標記
嚴重性:低
資源類型: AWS::Lambda::Function
AWS Configrule:tagged-lambda-function(自訂 Security Hub CSPM 規則)
排程類型:已觸發變更
參數:
| 參數 | 說明 | Type | 允許的自訂值 | Security Hub CSPM 預設值 |
|---|---|---|---|---|
requiredTagKeys
|
評估資源必須包含的非系統標籤索引鍵清單。標籤金鑰會區分大小寫。 | StringList (最多 6 個項目) | 1–6 個符合AWS要求的標籤金鑰。 |
No default value
|
此控制項會檢查 AWS Lambda函數是否具有具有參數 中定義之特定索引鍵的標籤requiredTagKeys。如果函數沒有任何標籤索引鍵,或沒有參數 中指定的所有索引鍵,則控制項會失敗requiredTagKeys。如果requiredTagKeys未提供 參數,則控制項只會檢查標籤索引鍵是否存在,如果函數未標記任何索引鍵,則 會失敗。系統會aws:忽略自動套用並以 開頭的系統標籤。
標籤是您指派給AWS資源的標籤,由索引鍵和選用值組成。您可建立標籤,以依照用途、擁有者、環境或其他條件分類資源。標籤可協助您識別、組織、搜尋和篩選資源。標記也可協助您追蹤動作和通知的當責資源擁有者。使用標記時,您可以實作屬性型存取控制 (ABAC) 做為授權策略,以根據標籤定義許可。您可以將標籤連接至 IAM 實體 (使用者或角色) 和 AWS資源。您可以為 IAM 主體建立單一 ABAC 政策或一組單獨的政策。您可以設計這些 ABAC 政策,以便在委託人的標籤符合資源標籤時允許操作。如需詳細資訊,請參閱《IAM 使用者指南》中的什麼是 ABACAWS?。
注意
請勿在標籤中新增個人身分識別資訊 (PII) 或其他機密或敏感資訊。許多 都可以存取標籤AWS 服務,包括 AWS Billing。如需更多標記最佳實務,請參閱《》中的標記您的 AWS資源AWS 一般參考。
修補
若要將標籤新增至 Lambda 函數,請參閱《 AWS Lambda開發人員指南》中的在 Lambda 函數上使用標籤。
【Lambda.7】 Lambda 函數應該啟用AWS X-Ray主動追蹤
相關需求:NIST.800-53.r5 CA-7
類別:識別 > 記錄日誌
嚴重性:低
資源類型: AWS::Lambda::Function
AWS Config 規則:lambda-function-xray-enabled
排程類型:已觸發變更
參數:無
此控制項會檢查 AWS X-Ray函數是否已啟用使用 的AWS Lambda主動追蹤。如果停用 Lambda 函數的 X-Ray 主動追蹤,則控制項會失敗。
AWS X-Ray可以為 AWS Lambda函數提供追蹤和監控功能,可節省時間和精力偵錯和操作 Lambda 函數。它可以透過分解 Lambda 函數的延遲,協助您診斷錯誤並識別效能瓶頸、速度變慢和逾時。它也可以協助處理資料隱私權和合規要求。如果您啟用 Lambda 函數的主動追蹤,X-Ray 會提供 Lambda 函數內資料流程和處理的整體檢視,這可協助您識別潛在的安全漏洞或不合規的資料處理實務。此可見性可協助您維護資料完整性、機密性和符合相關法規。
注意
AWS X-Ray使用 Amazon Managed Streaming for Apache Kafka (Amazon MSK)、自我管理 Apache Kafka、使用 ActiveMQ 和 RabbitMQ 的 Amazon MQ 或 Amazon DocumentDB 事件來源映射的 Lambda 函數目前不支援 追蹤。
修補
如需為 AWS Lambda函數啟用主動追蹤的詳細資訊,請參閱《 AWS Lambda開發人員指南》中的使用 視覺化 Lambda 函數叫用AWS X-Ray。