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)

如果您的 Elastic Agent 状态为 Unhealthy,并显示消息 因潜在的系统死锁而禁用,则表示在监视 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. 转到 KibanaStack Management数据转换
  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

在命令输出中,系统扩展应标记为“活动已启用”。

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

编辑

如果系统扩展已加载且内核连接仍然失败,则表示未授予完全磁盘访问权限。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

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