本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Inspector 对基于 Linux 的亚马逊实例进行深入检查 EC2
Amazon Inspector 扩大了亚马逊EC2扫描的覆盖范围,将深度检查包括在内。通过深度检查,Amazon Inspector 可以检测基于 Linux 的亚马逊EC2实例中应用程序编程语言包的软件包漏洞。Amazon Inspector 会扫描编程语言包库的默认路径。但是,除了 Amazon Inspector 默认扫描的路径外,您还可以配置自定义路径。
注意
您可以将深度检查与 “默认主机管理配置” 设置结合使用。但是,您必须创建实例配置文件并附加ssm:PutInventory
和ssm:GetParameter
权限。
为了对基于 Linux 的亚马逊EC2实例进行深度检查扫描,Amazon Inspector 使用通过 Amazon Inspector SSM 插件收集的数据。为了管理 Amazon Ins SSM pector 插件并对 Linux 进行深入检查,Amazon Inspector 会自动InvokeInspectorLinuxSsmPlugin-do-not-delete
在你的账户中创建SSM关联。Amazon Inspector 每 6 小时从您的基于 Linux 的亚马逊EC2实例收集更新的应用程序库存。
注意
不支持深度检查 Windows 或 Mac 实例。
本节介绍如何管理 Amazon Inspector 对亚马逊EC2实例的深度检查,包括如何为亚马逊 Inspector 设置自定义扫描路径。
主题
访问或停用深度检查
注意
对于在 2023 年 4 月 17 日之后激活 Amazon Inspector 的账户,深度检查会作为亚马逊EC2扫描的一部分自动激活。
管理深度检查
-
使用您的凭证登录,然后在 https://console.aws.amazon.com/inspector/v
2/home 中打开 Amazon Inspector 控制台 -
从导航窗格中选择 “常规设置”,然后选择 Amazon EC2 扫描设置。
-
在 Amazon EC2 实例的深度检查下,您可以为您的组织或自己的账户设置自定义路径。
您可以通过编程方式检查单个帐户的激活状态 GetEc2 DeepInspectionConfigurationAPI. 您可以通过编程方式检查多个账户的激活状态 BatchGetMemberEc2DeepInspectionStatus API.
如果你在 2023 年 4 月 17 日之前激活了 Amazon Inspector,则可以通过控制台横幅或 UpdateEc2DeepInspectionConfigurationAPI。如果您是 Amazon Inspector 中某个组织的委托管理员,则可以使用 BatchUpdateMemberEc2DeepInspectionStatusAPI激活对您自己和您的会员账户的深度检查。
您可以通过以下方式停用深度检查 UpdateEc2DeepInspectionConfigurationAPI。组织中的成员账户无法停用深度检查。相反,成员账户必须由其委托的管理员使用以下命令停用 BatchUpdateMemberEc2DeepInspectionStatus API.
关于适用于 Linux 的亚马逊 In SSM spector 插件
Amazon Inspector 使用亚马逊 In SSM spector 插件对你的 Linux 实例进行深入检查。Amazon Ins SSM pector 插件会自动安装在你的 Linux 实例的/opt/aws/inspector/bin
目录中。可执行文件的名称是 inspectorssmplugin
。
Amazon Inspector 使用 Systems Manager Distributor 在你的实例上部署插件。要执行深度检查扫描,Systems Manager Distributor 和 Amazon Inspector 必须支持您的亚马逊EC2实例操作系统。有关 Systems Manager Distributor 支持的操作系统的信息,请参阅《AWS Systems Manager 用户指南》中支持的软件包平台和架构。
Amazon Inspector 创建以下文件目录来管理亚马逊 Inspector SSM 插件为深度检查而收集的数据:
-
/opt/aws/inspector/var/input
-
/opt/aws/inspector/var/output
— 此目录中的packages.txt
文件存储了深度检查发现的软件包的完整路径。如果 Amazon Inspector 在您的实例上多次检测到同一个包裹,则该packages.txt
文件会列出找到该包裹的每个位置。
Amazon Inspector 将该插件的日志存储在 /var/log/amazon/inspector
目录中。
卸载 Amazon Inspect SSM or 插件
如果inspectorssmplugin
文件无意中被删除,则该SSM协会InspectorLinuxDistributor-do-not-delete
将在下次扫描间隔尝试重新安装该inspectorssmplugin
文件。
如果您停用亚马逊EC2扫描,则该插件将自动从所有 Linux 主机上卸载。
Amazon Inspector 深度检查的自定义路径
您可以设置自定义路径,让 Amazon Inspector 在深入检查您的 Linux 亚马逊EC2实例时进行扫描。当您设置自定义路径时,Amazon Inspector 会扫描该目录及其中的所有子目录中的软件包。
所有账户最多可以定义 5 个自定义路径。组织的委托管理员可以定义 10 个自定义路径。
除了以下默认路径外,Amazon Inspector 还会扫描所有自定义路径,Amazon Inspector 会扫描所有账户的默认路径:
-
/usr/lib
-
/usr/lib64
-
/usr/local/lib
-
/usr/local/lib64
注意
自定义路径必须是本地路径。Amazon Inspector 不扫描映射的网络路径,例如网络文件系统挂载或 Amazon S3 文件系统挂载。
格式化自定义路径
自定义路径不能超过 256 个字符。以下是自定义路径的外观示例:
路径示例
/home/usr1/project01
注意
每个实例的套餐限制为 5,000。最长包裹库存收集时间为 15 分钟。Amazon Inspector 建议您选择自定义路径以避免这些限制。
在 Amazon Inspector 控制台和亚马逊 Inspector 中设置自定义路径 API
以下过程描述了如何在亚马逊 Inspector 控制台中和使用亚马逊 Inspector 为亚马逊 Inspector 深度检查设置自定义路径API。在您设置自定义路径后,Amazon Inspector 会在下一次深度检查中包含该路径。
Amazon Inspector 深度检查的自定义时间表
默认情况下,Amazon Inspector 每 6 小时从亚马逊EC2实例收集一次应用程序库存。但是,您可以运行以下命令来控制 Amazon Inspector 执行此操作的频率。
命令示例 1:列出关联以查看关联 ID 和当前间隔
以下命令显示关联的关联 ID InvokeInspectorLinuxSsmPlugin-do-not-delete
。
aws ssm list-associations \ --association-filter-list "key=AssociationName,value=InvokeInspectorLinuxSsmPlugin-do-not-delete" \ --region
your-Region
命令示例 2:更新关联以包括新的间隔
以下命令使用关联的关联 ID InvokeInspectorLinuxSsmPlugin-do-not-delete
。您可以将费率schedule-expression
从 6 小时设置为新的间隔,例如 12 小时。
aws ssm update-association \ --association-id "
your-association-ID
" \ --association-name "InvokeInspectorLinuxSsmPlugin-do-not-delete" \ --schedule-expression "rate(6
hours)" \ --regionyour-Region
注意
根据您的用例,如果您将费率设置为 6 小时schedule-expression
到间隔(例如 30 分钟),则可能会超过每日 ssm 库存限制。这会导致结果延迟,并且您可能会遇到处于部分错误状态的 Amazon EC2 实例。
支持的编程语言
对于 Linux 实例,Amazon Inspector 深度检查可以生成应用程序编程语言包和操作系统包的调查结果。
对于 Mac 和 Windows 实例,Amazon Inspector 深度检查只能对操作系统包生成结果。
有关支持的编程语言的更多信息,请参阅支持的编程语言:Amazon EC2 深度检查。