Amazon Inspector 对基于 Linux 的亚马逊实例进行深入检查 EC2 - Amazon Inspector
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Inspector 对基于 Linux 的亚马逊实例进行深入检查 EC2

Amazon Inspector 扩大了亚马逊 EC2 扫描的覆盖范围,将深度检查包括在内。通过深度检查,Amazon Inspector 可以检测基于 Linux 的亚马逊 EC2 实例中应用程序编程语言包的软件包漏洞。Amazon Inspector 会扫描编程语言包库的默认路径。但是,除了默认情况下 Amazon Inspector 扫描的路径外,您还可以配置自定义路径

注意

可以结合“默认主机管理配置”设置来使用深度检查。但是,您必须创建或使用配置了 ssm:PutInventoryssm:GetParameter 权限的角色。

为了对基于 Linux 的亚马逊 EC2 实例进行深度检查扫描,Amazon Inspector 使用通过 Amazon Inspector SSM 插件收集的数据。为了管理 Amazon Inspector SSM 插件并对 Linux 执行深度检查,Amazon Inspector 会自动在您的账户中创建 SSM 关联 InvokeInspectorLinuxSsmPlugin-do-not-delete。Amazon Inspector 每 6 小时从您的基于 Linux 的亚马逊 EC2 实例收集更新的应用程序库存。

注意

Windows 或 Mac 实例不支持深度检查。

本节介绍如何管理 Amazon Inspector 对亚马逊 EC2 实例的深度检查,包括如何为亚马逊 Inspector 设置自定义扫描路径。

访问或停用深度检查

注意

对于在 2023 年 4 月 17 日之后激活 Amazon Inspector 的账户,深度检查会作为亚马逊 EC2 扫描的一部分自动激活。

管理深度检查
  1. 使用您的凭证登录,然后在 https://console.aws.amazon.com/inspector/v 2/home 中打开 Amazon Inspector 控制台

  2. 从导航窗格中选择 “常规设置”,然后选择 Amazon EC2 扫描设置。

  3. Amazon EC2 实例的深度检查下,您可以为您的组织或自己的账户设置自定义路径

您可以使用 GetEc2 DeepInspectionConfiguration API 以编程方式检查单个账户的激活状态。您可以使用 BatchGetMemberEc2DeepInspectionStatus API 以编程方式检查多个账户的激活状态。

如果您在 2023 年 4 月 17 日之前激活了 Amazon Inspector,则可以通过控制台横幅或 UpdateEc2DeepInspectionConfiguration API 激活深度检查。如果您是 Amazon Inspector 中某组织的委派管理员,则可以使用 BatchUpdateMemberEc2DeepInspectionStatus API 为自己和成员账户激活深度检查。

您可以通过 UpdateEc2DeepInspectionConfiguration API 停用深度检查。组织中的成员账户无法停用深度检查。因此,成员账户必须由其委派管理员使用 BatchUpdateMemberEc2DeepInspectionStatus API 停用。

Amazon Inspector 深度检查的自定义路径

您可以设置自定义路径,让 Amazon Inspector 在深入检查您的 Linux 亚马逊 EC2 实例时进行扫描。当您设置自定义路径时,Amazon Inspector 会扫描该目录及其中的所有子目录中的程序包。

所有账户都可以定义最多 5 个自定义路径。组织的委派管理员可以定义 10 个自定义路径。

Amazon Inspector 除了扫描所有账户的以下默认路径外,还会扫描所有自定义路径:

  • /usr/lib

  • /usr/lib64

  • /usr/local/lib

  • /usr/local/lib64

注意

自定义路径必须是本地路径。Amazon Inspector 不会扫描映射的网络路径,例如网络文件系统挂载或 Amazon S3 文件系统挂载等。

自定义路径的格式设置

自定义路径不能超过 256 个字符。以下是自定义路径的外观示例:

路径示例

/home/usr1/project01

注意

每个实例的程序包限制是 5000 个。程序包清单收集时间上限为 15 分钟。Amazon Inspector 建议您选择自定义路径,以规避这些限制。

使用 Amazon Inspector 控制台和 Amazon Inspector API 设置自定义路径

以下步骤描述了如何使用 Amazon Inspector 控制台以及使用 Amazon Inspector API 为 Amazon Inspector 深度检查设置自定义路径。设置自定义路径后,Amazon Inspector 会在下一次深度检查中包含该路径。

Console
  1. 以授权管理员身份登录, Amazon Web Services Management Console 然后在 https://console.aws.amazon.com/inspector/v 2/home 上打开 Amazon Inspector 控制台

  2. 使用 Amazon Web Services 区域 选择器选择要激活 Lambda 标准扫描的区域。

  3. 从导航窗格中选择 “常规设置”,然后选择 “EC2 扫描设置”

  4. 自己账户的自定义路径下,选择编辑

  5. 在路径文本框中输入自定义路径。

  6. 选择保存

API

运行 UpdateEc2DeepInspectionConfiguration 命令。对于 packagePaths,指定要扫描的路径数组。

Amazon Inspector 深度检查的自定义计划

默认情况下,Amazon Inspector 每 6 小时从亚马逊 EC2 实例收集一次应用程序库存。不过,可以运行以下命令来控制 Amazon Inspector 执行此操作的频率。

命令示例 1:列出关联以查看关联 ID 和当前间隔

以下命令显示关联 InvokeInspectorLinuxSsmPlugin-do-not-delete 的关联 ID。

aws ssm list-associations \ --association-filter-list "key=AssociationName,value=InvokeInspectorLinuxSsmPlugin-do-not-delete" \ --region your-Region

命令示例 2:更新关联以包括新的间隔

以下命令使用关联 InvokeInspectorLinuxSsmPlugin-do-not-delete 的关联 ID。您可以将 schedule-expression 速率从 6 小时设置为新的间隔,例如 12 小时。

aws ssm update-association \ --association-id "your-association-ID" \ --association-name "InvokeInspectorLinuxSsmPlugin-do-not-delete" \ --schedule-expression "rate(6 hours)" \ --region your-Region
注意

根据您的使用案例,如果您将 schedule-expression 速率从 6 小时设置为 30 分钟这样的间隔,则可能会超出每日 SSM 清单限制。这会导致结果延迟,并且您可能会遇到处于部分错误状态的 Amazon EC2 实例。

支持的编程语言

对于 Linux 实例,Amazon Inspector 深度检查还可以生成应用程序编程语言程序包及操作系统程序包的调查发现。

对于 Mac 和 Windows 实例,Amazon Inspector 深度检查只能生成操作系统程序包的调查发现。

有关支持的编程语言的更多信息,请参阅支持的编程语言:Amazon EC2 深度检查