使用 Amazon Inspector 自动执行 Lambda 的安全评测 - AWS Lambda

使用 Amazon Inspector 自动执行 Lambda 的安全评测

Amazon Inspector 是一项漏洞管理服务,可持续扫描您的工作负载,查找已知的软件漏洞和意外的网络暴露。Amazon Inspector 会创建调查发现,该调查发现将描述漏洞,确定受影响的资源,对漏洞的严重性进行评级,并提供补救指导。

Amazon Inspector 支持可为 Lambda 函数和层提供持续、自动的安全漏洞评测。Amazon Inspector 提供两种 Lambda 扫描类型:

  • Lambda 标准扫描(默认):扫描 Lambda 函数及其层中的应用程序依赖项,以便查找程序包漏洞

  • Lambda 代码扫描:扫描函数中及其层中的自定义应用程序代码,以便查找代码漏洞。您可以单独激活 Lambda 标准扫描,也可以同时激活 Lambda 标准扫描和 Lambda 代码扫描。

要启用 Amazon Inspector,请导航到 Amazon Inspector 控制台,展开设置部分,然后选择账户管理。在账户选项卡上,选择激活,然后选择其中一个扫描选项。

在设置 Amazon Inspector 时,您可以为多个账户启用 Amazon Inspector,并将该组织的 Amazon Inspector 管理权限委托给特定账户。启用时,您需要通过创建角色 AWSServiceRoleForAmazonInspector2 来授予 Amazon Inspector 权限。您可以通过 Amazon Inspector 控制台使用一键式选项创建此角色。

对于 Lambda 标准扫描,Amazon Inspector 会在以下情况下对 Lambda 函数启动漏洞扫描:

  • Amazon Inspector 发现现有 Lambda 函数时。

  • 部署新的 Lambda 函数时。

  • 部署现有 Lambda 函数或其层的应用程序代码或依赖项更新时。

  • Amazon Inspector 在其数据库中添加新的常见脆弱性和风险 (CVE) 项目,且该 CVE 与您的函数相关时。

对于 Lambda 代码扫描,Amazon Inspector 会使用自动推理和机器学习来评估 Lambda 函数应用程序代码,分析应用程序代码的总体安全合规性。如果 Amazon Inspector 在 Lambda 函数应用程序代码中检测到漏洞,Amazon Inspector 会生成详细的代码漏洞的调查发现。有关可能的检测的列表,请参阅 Amazon CodeGuru Detector Library

要查看调查发现,请前往 Amazon Inspector 控制台。在调查发现菜单上,选择按 Lambda 函数,以显示对 Lambda 函数执行的安全扫描结果。

要从标准扫描中排除 Lambda 函数,请使用以下键值对标记函数:

  • Key:InspectorExclusion

  • Value:LambdaStandardScanning

要从代码扫描中排除 Lambda 函数,请使用以下键值对标记函数:

  • Key:InspectorCodeExclusion

  • Value:LambdaCodeScanning

例如,如下图所示,Amazon Inspector 会自动检测漏洞并将发现的漏洞归类为代码漏洞类型,这表明漏洞存在于函数的代码中,而不是存在于某个依赖于代码的库中。您可以同时查看特定函数或多个函数的这些详细信息。

Amazon Inspector finds vulnerabilities in Lambda code.

您可以进一步深入了解这些调查发现,并学习如何补救问题。

Amazon Inspector console displays code vulnerability details.

在使用 Lambda 函数时,请确保遵守 Lambda 函数的命名约定。有关更多信息,请参阅 创建 Lambda 环境变量

您应对自己接受的补救建议负责。在接受补救建议之前,请务必仔细审视这些建议。您可能需要对补救建议进行编辑,以确保代码符合您的预期。