

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

# 基于 Linux 的 Amazon EC2 实例的 Amazon Inspector 深度检查
<a name="deep-inspection"></a>

 Amazon Inspector 将 Amazon EC2 扫描覆盖率扩展至深度检查。借助深度检查，Amazon Inspector 可以检测基于 Linux 的 Amazon EC2 实例中的应用程序编程语言程序包是否存在程序包漏洞。Amazon Inspector 会扫描编程语言包库的默认路径。但是，除了默认情况下 Amazon Inspector 扫描的路径外，您还可以[配置自定义路径](https://docs.aws.amazon.com//inspector/latest/user/deep-inspection.html#deep-inspection-paths)。

**注意**  
 深度检查需要`ssm:PutInventory`和`ssm:GetParameter`权限。如果在实例上配置了 IAM 实例配置文件，Amazon Inspector 将使用该配置文件并忽略 DHMC 角色。实例配置文件必须包含这些权限。如果未设置实例配置文件，Amazon Inspector 将使用已[配置的默认主机管理配置](https://docs.aws.amazon.com/systems-manager/latest/userguide/managed-instances-default-host-management.html)角色，该角色必须包含这些权限。

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

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

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

**Topics**
+ [访问或停用深度检查](#deep-inspection-activate)
+ [Amazon Inspector 深度检查的自定义路径](#deep-inspection-paths)
+ [Amazon Inspector 深度检查的自定义计划](#deep-inspection-schedules)
+ [支持的编程语言](#supported-deep-inspection)

## 访问或停用深度检查
<a name="deep-inspection-activate"></a>

**注意**  
 对于在 2023 年 4 月 17 日之后激活 Amazon Inspector 的账户，深度检查将作为 Amazon EC2 扫描的一部分自动激活。

**管理深度检查**

1.  使用您的凭证登录，然后在 [https://console.aws.amazon.com/inspector/v](https://console.aws.amazon.com/inspector/v2/home) 2/home 中打开 Amazon Inspector 控制台 

1.  在导航窗格中，选择**常规设置**，然后选择 Amazon EC2 扫描设置。

1.  在 **Amazon EC2 实例的深度检查**下，您可以[为您的组织或您自己的账户设置自定义路径](https://docs.aws.amazon.com/inspector/latest/user/deep-inspection.html#deep-inspection-paths)。

 您可以使用 [GetEc2 DeepInspectionConfiguration](https://docs.aws.amazon.com/inspector/v2/APIReference/API_GetEc2DeepInspectionConfiguration.html) API 以编程方式检查单个账户的激活状态。您可以使用 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html) API 以编程方式检查多个账户的激活状态。

 如果您在 2023 年 4 月 17 日之前激活了 Amazon Inspector，则可以通过控制台横幅或 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEc2DeepInspectionConfiguration.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEc2DeepInspectionConfiguration.html) API 激活深度检查。如果您是 Amazon Inspector 中某组织的委派管理员，则可以使用 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html) API 为自己和成员账户激活深度检查。

 您可以通过 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEc2DeepInspectionConfiguration.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEc2DeepInspectionConfiguration.html) API 停用深度检查。组织中的成员账户无法停用深度检查。因此，成员账户必须由其委派管理员使用 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_BatchUpdateMemberEc2DeepInspectionStatus.html) API 停用。

## Amazon Inspector 深度检查的自定义路径
<a name="deep-inspection-paths"></a>

 您可以设置自定义路径，以便 Amazon Inspector 在对 Linux Amazon EC2 实例执行深度检查时进行扫描。当您设置自定义路径时，Amazon Inspector 会扫描该目录及其中的所有子目录中的程序包。

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

 Amazon Inspector 除了扫描所有账户的以下默认路径外，还会扫描所有自定义路径：
+ `/usr/lib`
+ `/usr/lib64`
+ `/usr/local/lib`
+ `/usr/local/lib64`

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

### 自定义路径的格式设置
<a name="deep-inspection-paths-format"></a>

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

**路径示例**  
 `/home/usr1/project01` 

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

### 使用 Amazon Inspector 控制台和 Amazon Inspector API 设置自定义路径
<a name="deep-inspection-add-paths"></a>

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

------
#### [ Console ]

1.  以授权管理员身份登录， AWS 管理控制台 然后在 [https://console.aws.amazon.com/inspector/v](https://console.aws.amazon.com/inspector/v2/home) 2/home 上打开 Amazon Inspector 控制台 

1.  使用 AWS 区域 选择器选择要激活 Lambda 标准扫描的区域。

1.  在导航窗格中，依次选择**常规设置**和 **EC2 扫描设置**。

1.  在**自己账户的自定义路径**下，选择**编辑**。

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

1.  选择**保存**。

------
#### [ API ]

 运行 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEc2DeepInspectionConfiguration.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_UpdateEc2DeepInspectionConfiguration.html) 命令。对于 `packagePaths`，指定要扫描的路径数组。

------

## Amazon Inspector 深度检查的自定义计划
<a name="deep-inspection-schedules"></a>

 默认情况下，Amazon Inspector 每 6 小时从基于 Amazon 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 清单限制](https://docs.aws.amazon.com/inspector/latest/user/assessing-coverage.html#viewing-coverage-instances)。这会导致结果延迟，并且您可能会遇到 Amazon EC2 实例部分处于错误状态的情况。

## 支持的编程语言
<a name="supported-deep-inspection"></a>

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

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

 有关支持的编程语言的更多信息，请参阅[支持的编程语言：Amazon EC2 深度检查](https://docs.aws.amazon.com/inspector/latest/user/supported.html#supported-programming-languages-deep-inspection)。