在主机上执行命令

编辑

在运行 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
    }
  }
}