的 Security Hub CSPM 控制項AWS Lambda - AWSSecurity Hub

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

的 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>

<function-name> 將 取代為 Lambda 函數的名稱,並將 <statement-id>取代為您要移除之陳述式的陳述式 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

排程類型:已觸發變更

參數:

  • runtimedotnet8, 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 預設值

availabilityZones

可用區域數目下限

列舉

2, 3, 4, 5, 6

2

此控制項會檢查連線至虛擬私有雲端 (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