From f6f387428fd0520216a9578392f7641e65c483ad Mon Sep 17 00:00:00 2001 From: Wes Date: Mon, 5 Jun 2023 21:17:10 +0000 Subject: [PATCH 1/3] Update Playbook alerter to write to a data stream --- salt/elastalert/files/modules/so/playbook-es.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/salt/elastalert/files/modules/so/playbook-es.py b/salt/elastalert/files/modules/so/playbook-es.py index 680c81d53..b0d7f51c3 100644 --- a/salt/elastalert/files/modules/so/playbook-es.py +++ b/salt/elastalert/files/modules/so/playbook-es.py @@ -31,7 +31,7 @@ class PlaybookESAlerter(Alerter): creds = (self.rule['es_username'], self.rule['es_password']) payload = {"rule": { "name": self.rule['play_title'],"case_template": self.rule['play_id'],"uuid": self.rule['play_id'],"category": self.rule['rule.category']},"event":{ "severity": self.rule['event.severity'],"module": self.rule['event.module'],"dataset": self.rule['event.dataset'],"severity_label": self.rule['sigma_level']},"kibana_pivot": self.rule['kibana_pivot'],"soc_pivot": self.rule['soc_pivot'],"play_url": self.rule['play_url'],"sigma_level": self.rule['sigma_level'],"event_data": match, "@timestamp": timestamp} - url = f"{self.rule['es_hosts']}/so-playbook-alerts-{today}/_doc/" + url = f"{self.rule['es_hosts']}/logs-playbook-alerts-so/_doc/" requests.post(url, data=json.dumps(payload), headers=headers, verify=False, auth=creds) def get_info(self): From 905bc564fce28a6a20d9a6a902d4c44bd57daeae Mon Sep 17 00:00:00 2001 From: Wes Date: Mon, 5 Jun 2023 21:18:47 +0000 Subject: [PATCH 2/3] Change data stream name --- salt/elastalert/files/modules/so/playbook-es.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/salt/elastalert/files/modules/so/playbook-es.py b/salt/elastalert/files/modules/so/playbook-es.py index b0d7f51c3..373154d73 100644 --- a/salt/elastalert/files/modules/so/playbook-es.py +++ b/salt/elastalert/files/modules/so/playbook-es.py @@ -31,7 +31,7 @@ class PlaybookESAlerter(Alerter): creds = (self.rule['es_username'], self.rule['es_password']) payload = {"rule": { "name": self.rule['play_title'],"case_template": self.rule['play_id'],"uuid": self.rule['play_id'],"category": self.rule['rule.category']},"event":{ "severity": self.rule['event.severity'],"module": self.rule['event.module'],"dataset": self.rule['event.dataset'],"severity_label": self.rule['sigma_level']},"kibana_pivot": self.rule['kibana_pivot'],"soc_pivot": self.rule['soc_pivot'],"play_url": self.rule['play_url'],"sigma_level": self.rule['sigma_level'],"event_data": match, "@timestamp": timestamp} - url = f"{self.rule['es_hosts']}/logs-playbook-alerts-so/_doc/" + url = f"{self.rule['es_hosts']}/logs-playbook.alerts-so/_doc/" requests.post(url, data=json.dumps(payload), headers=headers, verify=False, auth=creds) def get_info(self): From 495a9c0783f41de11420f8b034fc5ec1882484a3 Mon Sep 17 00:00:00 2001 From: Wes Date: Mon, 5 Jun 2023 21:19:37 +0000 Subject: [PATCH 3/3] Add mapping for event.severity_label --- .../templates/component/so/dtc-event-mappings.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/salt/elasticsearch/templates/component/so/dtc-event-mappings.json b/salt/elasticsearch/templates/component/so/dtc-event-mappings.json index d17b832dc..5d647917b 100644 --- a/salt/elasticsearch/templates/component/so/dtc-event-mappings.json +++ b/salt/elasticsearch/templates/component/so/dtc-event-mappings.json @@ -137,6 +137,19 @@ } } }, + "severity_label": { + "ignore_above": 1024, + "type": "keyword", + "fields": { + "security": { + "type": "text", + "analyzer": "es_security_analyzer" + }, + "keyword": { + "type": "keyword" + } + } + }, "timezone": { "ignore_above": 1024, "type": "keyword",