在主机上执行命令

编辑

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

您必须拥有 Security 功能中的 执行操作 Kibana 权限,并且拥有企业版许可证才能执行此操作。

请求 URL

编辑

POST <kibana host>:<port>/api/endpoint/action/execute

请求体

编辑

包含以下字段的 JSON 对象

名称 类型 描述 必需

endpoint_ids

数组(字符串)

要在其上执行此操作的端点的 ID。

agent_type

字符串

主机正在运行的 Agent 的类型。接受的值为

  • 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
    }
  }
}