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

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

使用 Amazon Inspector 扫描亚马逊EC2实例

Amazon Inspector Amazon EC2 扫描会从您的EC2实例中提取元数据,然后再将元数据与从安全公告中收集的规则进行比较。Amazon Inspector 会扫描实例中是否存在包裹漏洞和网络可访问性问题,以得出调查结果。Amazon Inspector 每 24 小时执行一次网络可访问性扫描,并根据与实例关联的扫描方法以可变的节奏进行软件包漏洞扫描。EC2

程序包漏洞扫描可以使用基于代理无代理的扫描方法执行。这两种扫描方法都决定了 Amazon Inspector 如何以及何时从EC2实例中收集软件库存以进行软件包漏洞扫描。基于代理的扫描使用代理收集软件清单,无SSM代理扫描使用在 Amazon 快照上收集软件清单。EBS

Amazon Inspector 使用您为账户激活的扫描方法。当您首次激活 Amazon Inspector 时,您的账户会自动注册混合扫描,混合扫描使用两种扫描方法。但是,您可以随时更改此设置。有关如何激活扫描类型的信息,请参阅激活扫描类型。本节提供有关 Amazon EC2 扫描的信息。

基于代理的扫描

使用代理在所有符合条件的实例上持续执行基于SSM代理的扫描。对于基于代理的扫描,Amazon Inspector 使用SSM关联以及通过这些关联安装的插件从您的实例收集软件清单。除了对操作系统程序包进行程序包漏洞扫描外,Amazon Inspector 基于代理的扫描还可以通过Amazon Inspector 对基于 Linux 的亚马逊实例进行深入检查 EC2,检测基于 Linux 的实例中的应用程序编程语言包是否存在程序包漏洞。

以下过程说明了 Amazon Inspector SSM 如何使用来收集库存和执行基于代理的扫描:

  1. Amazon Inspector 会在您的账户中创建SSM关联,以便从您的实例中收集库存。对于某些实例类型(Windows 和 Linux),这些关联会在单个实例上安装插件以收集清单。

  2. Amazon Inspector 使用SSM从实例中提取包裹库存。

  3. Amazon Inspector 会评估提取的清单,并针对检测到的任何漏洞生成调查发现。

符合条件的实例

如果实例满足以下条件,Amazon Inspector 将使用基于代理的方法对其进行扫描:

  • 该实例具有支持的操作系统。有关支持的操作系统列表,请参阅支持的操作系统:Amazon EC2 扫描基于代理的扫描支持列。

  • Amazon Inspector 排除标签不会将该实例EC2排除在扫描范围之外。

  • 实例已被SSM托管。有关验证和配置该代理的说明,请参阅配置代SSM理

基于代理的扫描行为

使用基于代理的扫描方法时,Amazon Inspector 会在以下情况下启动对EC2实例的新漏洞扫描:

  • 当您启动新EC2实例时。

  • 当您在现有EC2实例(Linux 和 Mac)上安装新软件时。

  • 当 Amazon Inspector 在其数据库中添加新的常见漏洞和风险敞口 (CVE) 项目时,CVE该项目与您的EC2实例(Linux 和 Mac)相关。

初始扫描完成后,Amazon Inspector 会更新EC2实例的 “上次扫描时间” 字段。此后,当 Amazon Inspector 评估SSM库存(默认为每 30 分钟)时,或者由于在 Amazon Inspector 数据库中添加了CVE影响该实例的新实例而重新扫描该实例时,“次扫描时间” 字段就会更新。

您可以从账户管理页面的EC2实例选项卡中查看上次对实例进行漏洞扫描的时间,也可以使用 ListCoverage命令。

配置代SSM理

为了让 Amazon Inspector 使用基于代理的扫描方法检测亚马逊EC2实例的软件漏洞,该实例必须是 Amazon S EC2 ystems Manager (SSM) 中的托管实例。SSM托管实例已安装并运行SSM代理,并且SSM有权管理该实例。如果您已经在使用SSM管理您的实例,则无需执行其他步骤即可进行基于代理的扫描。

默认情况下,SSM代理安装在根据某些 Amazon 系统映像 (AMIs) 创建的EC2实例上。有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的 “关于SSM代理”。但是,即使已安装代理,您也可能需要手动激活SSM代理,并授予管理您的实例的SSM权限。

以下过程介绍如何使用实例配置文件将 Amazon EC2 实例配置为托管IAM实例。这些步骤还提供了指向 Amazon Systems Manager 用户指南中更多详细信息的链接。

AmazonSSMManagedInstanceCore附加实例配置文件时,建议使用 策略。此策略拥有 Amazon Inspector EC2 扫描所需的所有权限。

注意

您还可以使用SSM默认主机SSM管理配置自动管理所有EC2实例,而无需使用IAM实例配置文件。有关更多信息,请参阅默认主机管理配置

为 Amazon EC2 实例SSM进行配置
  1. 如果您的操作系统供应商尚未安装该代理,请安装SSM代理。有关更多信息,请参阅使用SSM代理

  2. 使用 Amazon CLI 来验证SSM代理是否正在运行。有关更多信息,请参阅检查SSM代理状态和启动代理

  3. 授予管理SSM您的实例的权限。您可以通过创建实例配置文件并将其附加到您的IAM实例来授予权限。我们建议使用 AmazonSSMManagedInstanceCore政策,因为此策略拥有SSM分销商、SSM库存和SSM州管理者的权限,因此 Amazon Inspector 需要这些权限才能进行扫描。有关创建具有这些权限的实例配置文件并将其附加到实例的说明,请参阅为 Systems Manager 配置实例权限

  4. (可选)激活SSM代理的自动更新。有关更多信息,请参阅自动更新SSM代理。

  5. (可选)将 Systems Manager 配置为使用亚马逊虚拟私有云(亚马逊VPC)终端节点。有关更多信息,请参阅创建 Amazon VPC 终端节点

重要

Amazon Inspector 需要您的账户中具有 Systems Manager State Manager 关联才能收集软件应用程序清单。如果不存在相应关联,Amazon Inspector 会自动创建一个名为 InspectorInventoryCollection-do-not-delete 的关联。

Amazon Inspector 还需要资源数据同步,如果不存在相应同步,则会自动创建一个名为 InspectorResourceDataSync-do-not-delete 的同步。有关更多信息,请参阅 Amazon Systems Manager 用户指南中的配置清单的资源数据同步。每个账户可在每个区域拥有一定数量的资源数据同步。有关更多信息,请参阅SSM终端节点和配额中资源数据同步的最大数量( Amazon Web Services 账户 每个区域)。

SSM为扫描而创建的资源

Amazon Inspector 需要您的账户中的大量SSM资源才能运行亚马逊EC2扫描。以下资源是在您首次激活 Amazon Inspector EC2 扫描时创建的:

注意

如果在为您的账户激活 Amazon Inspector 亚马逊EC2扫描时删除了其中任何SSM资源,Amazon Inspector 将在下一个扫描间隔尝试重新创建这些资源。

InspectorInventoryCollection-do-not-delete

这是一个 Systems Manager 状态管理器 (SSM) 关联,Amazon Inspector 使用它从您的亚马逊EC2实例收集软件应用程序清单。如果您的账户已有从中收集库存的SSM关联InstanceIds*,Amazon Inspector 将使用该关联来代替创建自己的库存。

InspectorResourceDataSync-do-not-delete

这是一种资源数据同步,Amazon Inspector 使用它来将收集的库存数据从您的亚马逊EC2实例发送到亚马逊 Inspector 拥有的 Amazon S3 存储桶。有关更多信息,请参阅 Amazon Systems Manager 用户指南中的配置清单的资源数据同步

InspectorDistributor-do-not-delete

这是亚马逊 Inspector 用于扫描 Windows 实例的SSM关联。此关联会在你的 Windows 实例上安装 Amazon Ins SSM pector 插件。如果插件文件被无意中删除,则此关联将在下一个关联间隔重新安装它。

InvokeInspectorSsmPlugin-do-not-delete

这是亚马逊 Inspector 用于扫描 Windows 实例的SSM关联。此关联使 Amazon Inspector 可以使用该插件启动扫描,您也可以使用它来设置扫描 Windows 实例的自定义间隔。有关更多信息,请参阅 为设置自定义日程安排 Windows 实例扫描

InspectorLinuxDistributor-do-not-delete

这是亚马逊 Inspector 用于亚马逊 EC2 Linux 深度检查的SSM关联。此关联会在您的 Linux 实例上安装 Amazon In SSM spector 插件。

InvokeInspectorLinuxSsmPlugin-do-not-delete

这是亚马逊 Inspector 用于亚马逊 EC2 Linux 深度检查的SSM关联。此关联使 Amazon Inspector 可以使用该插件启动扫描。

注意

当您停用 Amazon Inspector 亚马逊EC2扫描或深度检查时,将不再调用InvokeInspectorLinuxSsmPlugin-do-not-delete该SSM资源。

无代理扫描

当您的账户处于混合扫描模式时,Amazon Inspector 会对符合条件的实例使用无代理扫描方法。混合扫描模式包括基于代理和无代理的扫描,并且在您激活 Amazon 扫描时会自动启用。EC2

对于无代理扫描,Amazon Inspector 使用EBS快照从您的实例收集软件清单。无代理扫描会扫描实例中是否存在操作系统和应用程序编程语言包漏洞...

注意

扫描 Linux 实例是否存在应用程序编程语言包漏洞时,无代理方法会扫描所有可用路径,而基于代理的扫描仅扫描默认路径和您在Amazon Inspector 对基于 Linux 的亚马逊实例进行深入检查 EC2中指定的其他路径。这可能会导致同一个实例有不同的调查发现,具体取决于它是使用基于代理的方法还是使用无代理方法进行扫描。

以下过程说明了 Amazon Inspector 如何使用EBS快照收集库存和执行无代理扫描:

  1. Amazon Inspector 会创建连接到该实例的所有卷的EBS快照。当 Amazon Inspector 使用它时,快照存储在您的账户中,会使用 InspectorScan 标签键进行标记,并使用唯一的扫描 ID 作为标签值。

  2. Amazon Inspector 使用EBS直接从快照中检索数据,APIs并评估快照中是否存在漏洞。针对任何检测到的漏洞,都会生成调查发现。

  3. Amazon Inspector 会删除它在您的账户中创建的EBS快照。

符合条件的实例

如果实例满足以下条件,Amazon Inspector 将使用无代理方法对其进行扫描:

  • 该实例具有支持的操作系统。有关更多信息,请参阅 >基于代理的扫描支持列。支持的操作系统:Amazon EC2 扫描

  • 该实例的状态为Unmanaged EC2 instanceStale inventory、或No inventory

  • 该实例由 Amazon EBS 提供支持,并具有以下文件系统格式之一:

    • ext3

    • ext4

    • xfs

  • 不会通过 Amazon 排除标签将该实例EC2排除在扫描范围之外。

  • 连接到该实例的卷数量小于 8,并且其总大小小于或等于 1200 GB。

无代理扫描行为

当您的账户配置为混合扫描时,Amazon Inspector 会每 24 小时对符合条件的实例执行一次无代理扫描。Amazon Inspector 每小时都会检测和扫描新的符合条件的实例,其中包括没有SSM代理的新实例,或者状态已更改为的已有实例。SSM_UNMANAGED

每当 Amazon Inspector 在无代理扫描后扫描从EC2实例提取的快照时,Amazon Inspector 都会更新该实例的 “上次扫描时间” 字段。

您可以从账户管理页面的EC2实例选项卡中查看上次对实例进行漏洞扫描的时间,也可以使用 ListCoverage命令。

管理扫描模式

您的EC2扫描模式决定了 Amazon Inspector 在您的账户中执行EC2扫描时将使用哪些扫描方法。您可以从 “常规设置” 下的 “EC2扫描设置” 页面中查看您账户的扫描模式。独立账户或 Amazon Inspector 委派管理员可以更改扫描模式。当您将扫描模式设置为 Amazon Inspector 委派管理员时,系统会为您组织中的所有成员账户设置该扫描模式。Amazon Inspector 具有以下扫描模式:

基于代理的扫描 – 在此扫描模式下,Amazon Inspector 在扫描程序包漏洞时将仅使用基于代理的扫描方法。这种扫描模式仅扫描您账户中的SSM托管实例,但其好处是提供持续扫描以响应实例CVE的新增或更改。基于代理的扫描还可以为符合条件的实例提供 Amazon Inspector 深度检查。这是新激活账户的默认扫描模式。

混合扫描 – 在此扫描模式下,Amazon Inspector 将结合使用基于代理和无代理的方法来扫描程序包漏洞。对于安装并配置了SSM代理的符合条件的EC2实例,Amazon Inspector 使用基于代理的方法。对于未SSM托管的符合条件的实例,Amazon Inspector 将对符合条件EBS的实例使用无代理方法。

更改扫描模式
  1. 使用您的凭证登录,然后在 https://console.aws.amazon.com/inspector/v2/ home 中打开 Amazon Inspector 控制台。

  2. 使用页面右上角的选择 Amazon Web Services 区域 器,选择要更改EC2扫描模式的区域。

  3. 在侧面导航面板的 “常规设置” 下,选择EC2扫描设置

  4. 扫描模式下,选择编辑

  5. 选择一个扫描模式,然后选择保存更改

从 Amazon Inspector 扫描中排除实例

你可以排除 Linux 以及 Windows 来自 Amazon Inspector 的实例通过使用InspectorEc2Exclusion密钥标记这些实例来进行扫描。包括标签值是可选的。有关添加标签的信息,请参阅标记您的 Amazon EC2 资源

当您将实例标记为排除在 Amazon Inspector 扫描之外时,Amazon Inspector 会将该实例标记为已排除,并且不会为其创建调查结果。但是,Amazon Ins SSM pector 插件将继续被调用。为了防止插件被调用,您必须允许访问实例元数据中的标签

注意

您无需为排除的实例付费。

此外,您还可以使用标签标记用于加密该EBS卷的 Amazon KMS 密钥,从而将加密卷排除在无代理扫描之外。InspectorEc2Exclusion有关更多信息,请参阅为密钥添加标签

支持的操作系统

Amazon Inspector 会扫描支持的 Mac、Windows 和 Linux EC2 实例中是否存在操作系统包中的漏洞。对于 Linux 实例,Amazon Inspector 可以使用 Amazon Inspector 对基于 Linux 的亚马逊实例进行深入检查 EC2 生成应用程序编程语言包的调查发现。对于 Mac 和 Windows 实例,仅扫描操作系统程序包。

有关支持的操作系统的信息,包括无需SSM代理即可扫描哪些操作系统,请参见支持的操作系统:Amazon EC2 扫描