终端管理编辑

本主题介绍使用 Elastic Security 终端管理工具 时遇到的常见故障排除问题。

终端编辑

Elastic Agent 状态不健康

在某些情况下,不健康 的 Elastic Agent 状态可能是由 Elastic Defend 集成策略中的故障引起的。在这种情况下,集成和任何失败的功能将在 Fleet 中的 Agent 详细信息页面上标记。展开每个部分和子部分以显示来自 Agent 的单个响应。

集成策略响应信息也可以从 Elastic Security 应用程序中的 终端 页面获得(管理终端,然后单击 策略状态 列中的链接)。

Agent details page in Fleet with Unhealthy status and integration failures

Elastic Defend 集成策略中失败的常见原因包括缺少先决条件或意外的系统配置。请参阅以下主题以解决特定错误

如果 Elastic Defend 集成策略不是 不健康 Agent 状态的原因,请参考 Fleet 故障排除 以获取有关 Elastic Agent 的帮助。

禁用以避免潜在的系统死锁 (Linux)

如果你有一个带有 禁用以避免潜在的系统死锁 消息的 不健康 Elastic Agent 状态,这意味着由于监视 Linux 主机时出错,恶意软件保护已在 Elastic Defend 集成策略中禁用。

你可以通过配置策略的 高级设置 来解决此问题,这些设置与 fanotify 相关,fanotify 是一个监控文件系统事件的 Linux 功能。默认情况下,Elastic Defend 与 fanotify 协同工作,以监控 Elastic 已测试过兼容性的特定文件系统类型,并忽略其他未知的文件系统类型。

如果你的网络包含非标准、专有或其他无法识别的 Linux 文件系统,这些文件系统在被监控时会导致错误,你可以配置 Elastic Defend 以忽略这些文件系统。这将允许 Elastic Defend 恢复对集成策略上的主机的监控和保护。

忽略文件系统可能会在你的安全覆盖范围中造成漏洞。对 Elastic Defend 忽略的任何文件系统使用额外的安全层。

要解决潜在的系统死锁错误

  1. 转到 管理策略,然后单击策略的名称。
  2. 滚动到策略的底部,然后单击 显示高级设置
  3. 在设置 linux.advanced.fanotify.ignored_filesystems 中,输入要忽略的文件系统名称的逗号分隔列表,这些名称将显示在 /proc/filesystems 中(例如:ext4,tmpfs)。有关确定文件系统名称的更多信息,请参考 查找文件系统名称
  4. 单击 保存

    保存策略后,恶意软件保护将重新启用。

必需的转换失败

如果你在终端页面上遇到 “必需的转换失败” 通知,通常可以通过重新启动转换来解决问题。有关转换的更多信息,请参考 转换数据

Endpoints page with Required transform failed notice

要重新启动未运行的转换

  1. 转到 Kibana堆栈管理数据转换
  2. 在搜索框中输入 endpoint.metadata 以查找 Elastic Defend 的转换。
  3. 单击 操作 菜单(…​),然后根据 状态 列中的值,对每个转换执行以下操作之一

    • 已停止:选择 启动 以重新启动转换。
    • 已失败:选择 停止 以先停止转换,然后选择 启动 以重新启动它。

      Transforms page with Start option selected
  4. 在显示的确认消息中,单击 启动 以重新启动转换。
  5. 转换的状态将变为 已启动。如果它没有改变,请刷新页面。
Elastic Agent 和终端连接问题

在 Elastic Agent 安装终端后,终端将通过本地中继连接连接到 Elastic Agent 以报告其运行状况并接收策略更新和响应操作请求。如果无法建立该连接,Elastic Defend 集成将导致 Elastic Agent 处于 不健康 状态,并且终端将无法正常运行。

确定问题是否正在发生编辑

你可以通过以下方式确定问题是否正在发生

  • 运行 Elastic Agent 的状态命令

    • sudo /opt/Elastic/Agent/elastic-agent status (Linux)
    • sudo /Library/Elastic/Agent/elastic-agent status (macOS)
    • c:\Program Files\Elastic\Agent\elastic-agent.exe status (Windows)

    如果 endpoint-security 的状态结果显示终端已错过签入或 localhost:6788 无法绑定,则可能表明此问题正在发生。

  • 如果问题是在安装终端后立即开始发生的,请检查以下文件中的 fleet.agent.id 的值

    • /opt/Elastic/Endpoint/elastic-endpoint.yaml (Linux)
    • /Library/Elastic/Endpoint/elastic-endpoint.yaml (macOS)
    • c:\Program Files\Elastic\Endpoint\elastic-endpoint.yaml (Windows)

    如果 fleet.agent.id 的值为 00000000-0000-0000-0000-000000000000,则表明此问题正在发生。

    如果此问题是在终端已安装并正常运行后才开始发生的,那么即使问题正在发生,该值也会发生变化。

检查终端日志编辑

如果你已确认问题正在发生,你可以查看终端日志消息以确定原因

  • 找不到连接以进行验证。Agent 是否在 127.0.0.1:6788 上侦听?无法验证连接。Agent 是否以 root/admin 身份运行? 表示终端无法通过端口 6788 创建初始连接到 Elastic Agent。
  • 无法在截止时间 (60 秒) 内建立 GRPC 连接。正在再次获取连接信息 表示终端通过端口 6788 到 Elastic Agent 的原始连接已成功,但通过端口 6789 的连接失败。

解决问题编辑

要调试和解决问题,请按照以下步骤操作

  1. 从 8.7.0 开始,终端诊断包含一个名为 analysis.txt 的文件,其中包含有关可能导致此问题的原因的信息。从 8.11.2 开始,Elastic Agent 诊断会自动包含终端诊断。对于之前的版本,你可以通过运行以下命令来收集终端诊断

    • sudo /opt/Elastic/Endpoint/elastic-endpoint diagnostics (Linux)
    • sudo /Library/Elastic/Endpoint/elastic-endpoint diagnostics (macOS)
    • c:\Program Files\Elastic\Endpoint\elastic-endpoint.exe diagnostics (Windows)
  2. 通过运行以下命令确保你的设备上没有其他东西在端口 67886789 上侦听

    • sudo netstat -anp --tcp (Linux)
    • sudo netstat -an -f inet (macOS)
    • netstat -an (Windows)
  3. 通过运行以下命令确保 localhost 可以解析为 127.0.0.1

    • ping -4 -c 1 localhost (Linux)
    • ping -c 1 localhost (macOS)
    • ping -4 localhost (Windows)