Signals 端点

编辑

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

获取警报

编辑

聚合并返回警报。

请求 URL

编辑

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

请求体

编辑

确定返回哪些结果的查询 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

请求体

编辑

包含 querysignals_id 字段的 JSON 对象

名称 类型 描述 必填

signal_ids

String[]

警报 ID 数组。

是,当 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

请求体

编辑

包含 tagsids 字段的 JSON 对象

名称 类型 描述 必填

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

请求体

编辑

包含 assigneesids 字段的 JSON 对象

名称 类型 描述 必填

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": []
}