Elastic Defend 故障排除

编辑

本主题涵盖使用 Elastic Defend 的 端点管理工具 时常见的故障排除问题。

端点

编辑
Elastic Agent 状态不健康

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

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

Agent details page in Fleet with Unhealthy status and integration failures

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

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

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

如果您遇到带有消息 Disabled due to potential system deadlockUnhealthy 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. 单击 保存

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

必需转换失败

如果在“端点”页面上遇到 “Required transform failed” 通知,通常可以通过重新启动转换来解决此问题。有关转换的更多信息,请参阅 转换数据

Endpoints page with Required transform failed notice

要重新启动未运行的转换

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

    • stopped:选择 启动 以重新启动转换。
    • failed:选择 停止 以先停止转换,然后选择 启动 以重新启动它。

      Transforms page with Start option selected
  4. 在显示的确认消息上,单击 启动 以重新启动转换。
  5. 转换的状态将更改为 started。如果未更改,请刷新页面。
Elastic Agent 和端点连接问题

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

确定问题是否正在发生

编辑

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

  • 运行 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,则表示此问题正在发生。

    如果此问题在端点已安装并正常运行后开始发生,则即使问题正在发生,此值也会发生更改。

检查端点日志

编辑

如果您已确认问题正在发生,则可以查看端点日志消息以识别原因

  • Failed to find connection to validate. Is Agent listening on 127.0.0.1:6788?Failed to validate connection. Is Agent running as root/admin? 表示端点无法通过端口 6788 创建与 Elastic Agent 的初始连接。
  • Unable to make GRPC connection in deadline(60s). Fetching connection info again 表示端点通过端口 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)
Elastic Defend 部署问题

部署 Elastic Defend 后,如果您的移动设备管理 (MDM) 配置错误或未授予 Elastic Endpoint 的某些权限,您可能会在 Fleet 中端点的 策略状态 中遇到警告或错误。以下部分说明可能导致端点策略状态出现警告或失败的问题。

连接内核失败

编辑

这意味着系统扩展或内核扩展未获批准。请参阅以下主题,了解如何在使用或不使用 MDM 的情况下批准系统扩展

您可以通过运行以下命令验证系统扩展是否已加载

sudo systemextensionsctl list | grep co.elastic.systemextension

在命令输出中,系统扩展应标记为“active enabled”。

连接内核失败且系统扩展已加载

编辑

如果系统扩展已加载但内核连接仍然失败,则表示未授予完整磁盘访问权限。Elastic Endpoint 需要完整磁盘访问权限才能通过 Elastic Defend 框架订阅系统事件,这是 Elastic Endpoint 使用的主要事件信息源之一。请参阅以下主题,了解如何在使用或不使用 MDM 的情况下授予完整磁盘访问权限

您可以通过运行以下命令验证是否已批准完整磁盘访问权限

sudo /Library/Elastic/Endpoint/elastic-endpoint test install

如果命令输出不包含有关启用完整磁盘访问权限的消息,则表示批准成功。

检测网络事件失败

编辑

这意味着未批准网络扩展内容过滤。请参阅以下主题,了解如何在使用或不使用 MDM 的情况下批准网络内容过滤

您可以通过运行以下命令验证是否已批准网络内容过滤

sudo /Library/Elastic/Endpoint/elastic-endpoint test install

如果命令输出不包含有关批准网络内容过滤的消息,则表示批准成功。

完整磁盘访问权限有警告

编辑

这意味着未为一个或所有 Elastic Endpoint 组件授予完整磁盘访问权限。请参阅以下主题,了解如何在使用或不使用 MDM 的情况下授予完整磁盘访问权限

您可以通过运行以下命令验证是否已批准完整磁盘访问权限

sudo /Library/Elastic/Endpoint/elastic-endpoint test install

如果命令输出不包含有关启用完整磁盘访问权限的消息,则表示批准成功。