信号端点

编辑

信号端点用于检索、聚合和更新检测警报。有关如何从索引检索和聚合结果的详细信息,请参阅

获取警报

编辑

聚合并返回警报。

请求 URL

编辑

POST <kibana 主机>:<端口>/api/detection_engine/signals/search

请求主体

编辑

一个 Query DSL,用于确定返回哪些结果。

示例请求
编辑

获取所有风险评分等于或大于 70 的打开警报的聚合结果。它还返回符合查询条件的最新和最旧警报的时间戳。

POST api/detection_engine/signals/search
{
  "aggs": {
    "latest": {
      "max": {
        "field": "@timestamp"
      }
    },
    "oldest": {
      "min": {
        "field": "@timestamp"
      }
    }
  },
  "query": {
    "bool": {
      "filter": [
        {
          "match": {
            "signal.status": "open"
          }
        },
        {
          "range": {
            "signal.rule.risk_score": {
              "gte": 70
            }
          }
        }
      ]
    }
  }
}

获取所有风险评分等于或大于 70 的正在进行中的警报。

POST api/detection_engine/signals/search
{
  "query": {
    "bool": {
      "filter": [
        {
          "match": {
            "signal.status": "in-progress"
          }
        },
        {
          "range": {
            "signal.rule.risk_score": {
              "gte": 70
            }
          }
        }
      ]
    }
  }
}

响应代码

编辑
200
指示调用成功。
响应有效负载
编辑

一个 JSON 对象,包含聚合值和请求的警报。

示例响应

{
  "took": 3,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 8794,
      "relation": "eq"
    },
    "max_score": null,
    "hits": []
  },
  "aggregations": {
    "oldest": {
      "value": 1576601119930,
      "value_as_string": "2019-12-17T16:45:19.930Z"
    },
    "latest": {
      "value": 1576634706400,
      "value_as_string": "2019-12-18T02:05:06.400Z"
    }
  }
}

设置警报状态

编辑

设置一个或多个警报的状态。

请求 URL

编辑

POST <kibana 主机>:<端口>/api/detection_engine/signals/status

请求主体

编辑

一个 JSON 对象,包含 querysignals_id 字段

名称 类型 描述 必需

signal_ids

String[]

警报 ID 数组。

是,当不使用 query 字段时。

query

Query DSL

用于确定更新哪些警报的查询。

是,当不使用 signal_ids 字段时。

status

String

新状态,可以是 openacknowledgedclosed

是。

示例请求
编辑

关闭具有 signal_ids 的警报

POST api/detection_engine/signals/status
{
  "signal_ids": [
    "694156bbe6a487e06d049bd6019bd49fec4172cfb33f5d81c3b4a977f0026fba",
    "f4d1c62c4e8946c835cb497329127803c09b955de49a8fa186be3899522667b0"
  ],
  "status": "closed"
}

关闭超过一个月且风险评分小于或等于 20 的警报

POST api/detection_engine/signals/status
{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "signal.rule.risk_score": {
              "lte": 20
            }
          }
        },
        {
          "range": {
            "@timestamp": {
              "lte": "now-M"
            }
          }
        }
      ]
    }
  },
  "status": "closed"
}

响应代码

编辑
200
指示调用成功。
响应有效负载
编辑

一个 JSON 对象,包含已更新的警报数量。

示例响应

{
  "took": 9594,
  "timed_out": false,
  "total": 8794,
  "updated": 8794,
  "deleted": 0,
  "batches": 9,
  "version_conflicts": 0,
  "noops": 0,
  "retries": {
    "bulk": 0,
    "search": 0
  },
  "throttled_millis": 0,
  "requests_per_second": -1,
  "throttled_until_millis": 0,
  "failures": []
}

应用警报标签

编辑

添加和删除警报标签。

请求 URL

编辑

POST <kibana 主机>:<端口>/api/detection_engine/signals/tags

请求主体

编辑

一个 JSON 对象,包含 tagsids 字段

名称 类型 描述 必需

tags

Object

包含警报标签的对象。警报标签是帮助分类警报的单词和短语。

tags 对象的属性

  • tags_to_add:(必需,string[])要添加的标签数组。
  • tags_to_remove:(必需,string[])要删除的标签数组。

您不能添加和删除同一个警报标签。

ids

String[]

警报 ID 数组。

示例请求
编辑

向警报添加和删除标签

POST api/detection_engine/signals/tags
{
  "tags": {
    "tags_to_add": ["False Positive"],
    "tags_to_remove": ["Further Investigation Required"]
  },
  "ids": [
    "694156bbe6a487e06d049bd6019bd49fec4172cfb33f5d81c3b4a977f0026fba",
    "f4d1c62c4e8946c835cb497329127803c09b955de49a8fa186be3899522667b0"
  ]
}

响应代码

编辑
200
指示调用成功。
响应有效负载
编辑

一个 JSON 对象,包含新添加或删除警报标签的警报。

示例响应

{
    "took": 699,
    "errors": false,
    "items": [
        {
            "update": {
                "_index": ".internal.alerts-security.alerts-default-000001",
                "_id": "694156bbe6a487e06d049bd6019bd49fec4172cfb33f5d81c3b4a977f0026fba",
                "_version": 2,
                "result": "updated",
                "_shards": {
                    "total": 1,
                    "successful": 1,
                    "failed": 0
                },
                "_seq_no": 137,
                "_primary_term": 1,
                "status": 200
            }
        },
        {
            "update": {
                "_index": ".internal.alerts-security.alerts-default-000001",
                "_id": "f4d1c62c4e8946c835cb497329127803c09b955de49a8fa186be3899522667b0",
                "_version": 2,
                "result": "updated",
                "_shards": {
                    "total": 1,
                    "successful": 1,
                    "failed": 0
                },
                "_seq_no": 138,
                "_primary_term": 1,
                "status": 200
            }
        }
    ]
}

从警报分配或取消分配用户

编辑

允许您从警报分配和取消分配用户。

请求 URL

编辑

POST <kibana 主机>:<端口>/api/detection_engine/signals/assignees

请求主体

编辑

一个 JSON 对象,包含 assigneesids 字段

名称 类型 描述 必需

assignees

Object[]

用户配置文件的唯一标识符 (UID) 数组。assignees 对象的属性

  • add:(必需,string[])要添加的受让人数组。
  • remove:(必需,string[])要取消分配的受让人数组。

您不能添加和删除同一个受让人。

ids

String[]

警报 ID 数组。

示例请求
编辑

向警报分配和取消分配用户

POST api/detection_engine/signals/assignees

{
  "assignees": {
    "add": ["u_o4kzon2tUP0u189YjKVT0rTR_HBOED3JmyLLE6MrulY_0"],
    "remove": ["u_P4HW8xg4_xRVI7Oa-i6Ys1Gxe7k3jqZteAeZe6ZctEc_0"]
  },
  "ids": [
    "854f5eceeec1b4cd5495ad18c4259d6e5631a6677bc10c033edb318397d45459",
    "00968e97805854d0aa356968cad971d5184cdf91ebd458720c5b4099f4a5229a"
  ]
}

响应代码

编辑
200
指示调用成功。
响应有效负载
编辑

一个 JSON 对象,包含已更新的警报数量。

示例响应

{
  "took": 67,
  "timed_out": false,
  "total": 2,
  "updated": 2,
  "deleted": 0,
  "batches": 1,
  "version_conflicts": 0,
  "noops": 0,
  "retries": {
    "bulk": 0,
    "search": 0
  },
  "throttled_millis": 0,
  "requests_per_second": -1,
  "throttled_until_millis": 0,
  "failures": []
}