在主机上执行命令编辑

在运行 Elastic Defend 的主机上执行命令。

您必须在安全功能中拥有 执行操作 Kibana 权限,作为您角色的一部分,并且至少拥有企业版许可证才能执行此操作。

请求 URL编辑

POST <kibana 主机>:<端口>/api/endpoint/action/execute

请求正文编辑

包含以下字段的 JSON 对象

名称 类型 描述 必需

endpoint_ids

数组 (字符串)

您想要在此处发出操作的端点的 ID。

agent_type

字符串

主机运行的代理类型。接受的值为

  • endpoint (默认)
  • sentinel_one (目前处于技术预览阶段)

alert_ids

数组 (字符串)

如果此操作与任何警报相关联,则可以在此处指定它们。该操作将在与指定警报相关联的任何情况下进行记录。

case_ids

数组 (字符串)

将记录所采取操作的案例 ID。

comment

字符串

向此操作的日志附加评论。评论文本将显示在关联的案例中。

parameters.command

字符串

要在主机上运行的 shell 命令。该命令必须受 Linux 和 macOS 主机上的 bash 和 Windows 主机上的 cmd.exe 支持。

parameters.timeout

整数

主机等待命令完成的持续时间(以秒为单位)。如果未指定超时,则默认为四个小时。

execute 操作会上传包含执行结果的文本文件到端点,该文件受速率限制。如果您使用 endpoint_ids 字段来处理多个端点,则应将您的调用分成每次 10 个的组。

示例请求编辑

endpoint_id 值为 ed518850-681a-4d60-bb98-e22640cae2a8 的主机上运行命令 ls -al,超时时间为 600 秒,并评论 获取所有文件列表

POST /api/endpoint/action/execute
{
  "endpoint_ids": ["ed518850-681a-4d60-bb98-e22640cae2a8"],
  "parameters": {
    "command": "ls -al",
    "timeout": 600
  },
  "comment": "Get list of all files"
}

响应代码编辑

200
表示调用成功。
403
表示权限不足或许可证级别不受支持(至少需要企业版许可证)。

响应有效负载编辑

包含创建的响应操作详细信息的 JSON 对象。

示例响应编辑

{
  "data": {
    "id": "9f934028-2300-4927-b531-b26376793dc4",
    "agents": [
      "ed518850-681a-4d60-bb98-e22640cae2a8"
    ],
    "hosts": {
      "ed518850-681a-4d60-bb98-e22640cae2a8": {
        "name": "gke-endpoint-gke-clu-endpoint-node-po-e1a3ab89-4c4r"
      }
    },
    "agentType": "endpoint",
    "command": "execute",
    "startedAt": "2023-07-28T18:43:27.362Z",
    "isCompleted": false,
    "wasSuccessful": false,
    "isExpired": false,
    "status": "pending",
    "outputs": {},
    "agentState": {
      "ed518850-681a-4d60-bb98-e22640cae2a8": {
        "isCompleted": false,
        "wasSuccessful": false
      }
    },
    "createdBy": "myuser",
    "comment": "Get list of all files",
    "parameters": {
      "command": "ls -al",
      "timeout": 600
    }
  }
}