Na podstawie https://docs.securityonion.net/en/2.3/elastalert.html, https://elastalert.readthedocs.io/en/latest/running_elastalert.html#creating-a-rule, https://github.com/Yelp/elastalert
Dodajemy powiadomienia na Slacka alarmów „high”.
W Slack dodajemy aplikację, kanał typu „Incoming WebHooks”. Przy tworzeniu kanału Slack wygeneruje nam URL np: „https://hooks.slack.com/services/<YOUR_WEBHOOK_URI>”
Do kanału przypisujemy członków, którzy będą dostawać powiadomienia z tego kanału.
W Security Onion w katalogu /opt/so/rules/elastalert/ tworzymy plik yaml np:
# nano alertToSlack1.yaml
alert:
- "slack":
slack_webhook_url: "https://hooks.slack.com/services/<YOUR_WEBHOOK_URI>"
alert_text: "Security Onion problem: {0}\n{2} - {1}"
alert_text_type: alert_text_only
alert_text_args: ["@timestamp", "rule.name", "event.module"]
elasticsearch_host: "<security.onion.domain>:9200"
filter:
- query:
query_string:
query: "event.severity: >2"
index: '*:so-*'
name: High Severity Alert
priority: 2
realert:
minutes: 0
type: any
Filtr w tym pliku wyśle do Slack wszystkie alerty „high” czyli te z event.severity > 2.
Możemy utworzyć wiele kanałów w Slack i wiele plików z konfiguracja yaml, dostosowując 'filter’ tak aby do danego kanału w Slack były wysyłane tylko wybrane przez nas alerty.