跳至内容

为什么 Amazon Inspector 不扫描我的 Amazon EC2 实例?

3 分钟阅读
0

我想让 Amazon Inspector 扫描我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例,但它似乎不起作用。

简短描述

如果您收到以下状态消息之一,即说明 Amazon Inspector 没有扫描您的 Amazon EC2 实例: “EC2 实例已停止”、“非托管 EC2 实例”、“不受支持的操作系统”、“内部错误”、“等待初始扫描”或“无清单”。

由于以下原因,Amazon Inspector 可能无法扫描您的 EC2 实例:

  • AWS Systems Manager Agent (SSM Agent) 不是最新版本。
  • EC2 实例未处于 Running(正在运行)状态。
  • 操作系统 (OS) 不兼容。
  • 您的实例未连接到 AWS Systems Manager。
  • Amazon Inspector 未与 Systems Manager 关联。

您可以使用 Amazon Inspector 控制面板来监控您的实例的状态。有关详细信息,请参阅使用 Amazon Inspector 扫描 Amazon EC2 实例

**先决条件:**确保目标实例是托管实例。有关详细信息,请参阅使用托管节点

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

更新 SSM Agent 版本

要扫描实例,SSM Agent 必须在 Amazon Inspector 上运行。如果您使用的是较早版本的 SSM Agent,请更新到最新版本。有关如何更新到最新版本的详细信息,请参阅 GitHub 网站上的 Releases · aws/amazon-ssm-agent。最佳做法是将 Systems manager 配置为自动更新 SSM Agent

要手动更新 SSM Agent,请订阅 SSM Agent 通知。然后,使用 Run 命令更新 SSM Agent。您也可以在 GitHub 网站上订阅 SSM Agent 发行说明

确认您的实例处于运行状态

如果您的实例处于 EC2 instance stopped(EC2 实例已停止)状态,则该实例已停止,Amazon Inspector 已暂停扫描。要重新开始扫描,请启动您的 EC2 实例。

当 EC2 实例停止时,Amazon Inspector 会保留之前的扫描结果。Amazon Inspector 会扫描您在 Systems Manager 关联中指定的时间间隔。您可以修改 Linux 实例Windows 实例的扫描间隔。

检查 Amazon Inspector 是否支持操作系统

如果您的实例处于 Unsupported OS(不受支持的操作系统)状态,则 Amazon Inspector 不支持该实例使用的操作系统。

要检查您的 Linux 版本,请运行以下命令:

cat /etc/os-releaselsb_release -ahostnamectl

对于 Windows,搜索 System Information(系统信息),然后打开该应用程序。然后,查看支持扫描实例的操作系统的列表,以确定 Amazon Inspector 是否支持您的操作系统。

确认您已将实例连接到 Systems Manager

如果您的实例未显示在 Systems Manager 控制台上,请运行 AWSSupport-TroubleshootManagedInstance 运行手册,以自动识别 Systems Manager 配置问题。有关详细信息,请参阅为什么 Systems Manager 没有将我的 Amazon EC2 实例显示为托管实例?

要手动检查您的实例与 Systems Manager 的连接,请完成以下步骤:

  1. 在 Amazon Inspector 和您的实例所在的同一 AWS 区域中,打开 Systems Manager 控制台
  2. 选择 Fleet Manager
  3. Managed nodes(托管节点)中,检查 SSM Agent ping status(SSM Agent Ping 状态)。
    如果状态为 Online(在线),则表明您的实例已连接到 SSM Agent。
    如果 SSM Agent Ping 状态为 Connection Lost(连接丢失),请确保您的实例满足 Systems Manager 的先决条件。要确定问题并进行故障排除,请运行以下 get-diagnostics sm-cli:
    ssm-cli.exe get-diagnostics --output table

检查您是否已将 Amazon Inspector 与 Systems Manager 关联起来

要收集软件应用程序清单,Amazon Inspector 需要在您的 AWS 账户中与状态管理器(Systems Manager 的一项功能)建立关联。如果您看到 No inventory(无清单)状态,则说明 Amazon Inspector 找不到用于扫描实例的软件应用程序清单。

要检查您是否已关联 Amazon Inspector 与状态管理器,请完成以下步骤:

  1. 在 Amazon Inspector 和您的实例所在的同一区域中,打开 Systems Manager 控制台
  2. 选择 State Manager(状态管理器)。
  3. Associations(关联)中,确保 InspectorInventoryCollection-do-not-delete 关联存在且 Status(状态)为 Success(成功)。
  4. 如果 InspectorInventoryCollection-do-not-delete 关联不存在,请在您的实例上运行 AWS-GatherSoftwareInventory SSM 文档。选择未扫描的实例的 Association id(关联 ID),然后选择 Execution history(执行历史记录)选项卡,以了解更多详细信息。
  5. 如果 InspectorInventoryCollection-do-not-delete 关联的 Status(状态)为 Failed(失败),请选择该 Association id(关联 ID)。然后,选择 Apply association now(立即应用关联)。检查 InspectorInventoryCollection-do-not-delete 关联的 Status(状态),确认它已从 Failed(失败)更改为 Success(成功)。

Amazon Inspector 会自动在您的 Windows 实例上安装适用于 Windows 的 Amazon Inspector SSM 插件。如果您激活 EC2 扫描,则 Amazon Inspector 会为您的 Windows 资源创建新的 SSM 关联。

SSM 关联包括 InspectorDistributor-do-not-deleteInspectorInventoryCollection-do-not-deleteInvokeInspectorSsmPlugin-do-not-delete。如果关联的状态为 Failed(失败),请重新应用关联。

如果 InspectorSsmPlugin.exe 文件不存在,则 InspectorDistributor-do-not-delete SSM 关联会在下次 Windows 扫描时自动重新安装该插件。有关详细信息,请参阅使用 Amazon Inspector 扫描 Amazon EC2 实例

检查节点是否存在于软件应用程序中

完成以下步骤:

  1. 在 Amazon Inspector 和您的实例所在的同一区域中,打开 Systems Manager 控制台
  2. 选择 Fleet Manager
  3. Managed nodes(托管节点)中,选择您的 Node ID(节点 ID)。
  4. 选择 Inventory(清单)选项卡,以查看实例清单中的软件应用程序。

最佳做法是将清单收集频率设置为每 30 分钟收集一次。要优化清单收集,请编辑 InspectorInventoryCollection-do-not-delete 关联,然后将 cron 表达式设置为每 30 分钟运行一次

相关信息

评测您的 AWS 环境的 Amazon Inspector 覆盖范围

如何设置 Amazon Inspector Classic 以对 Amazon EC2 实例运行安全评测?