kernelschmelze.de

Porkpie

Nach ein paar Monaten mit Evebox mußte ich mir eingestehen, das Evebox für mich im Produktivbetrieb nicht geeigent ist. Evebox bringt zwar die Snort Einträge in eine lesbare Form, was mir jedoch fehlt ist eine aktive Benachrichtigung. Wie so oft in meinem Leben, wenn man keine fertige Lösung findet, muss man sie halt selber bauen.

Willkommen Porkpie.

Porkpie überwacht das Snort Log Verzeichnis und konvertiert neue Einträge in eine menschlich lesbare Form und benachrichtigt mich per lokaler eMail und/oder Slack Nachricht. Die Nachricht enthält Source und Target IP Adresse, angereichert mit entsprechender GeoIP Information, Kategorisierung, GID, SID sowie - wenn vorhanden - den Kommentar aus der Regel, die das Ereignis ausgelößt hat.

Porkpie ist so gebaut, das es permanent als Service im Hintergrund werkelt und muss bei einem Update der Snort Regeln oder seiner eigenen Konfiguration nicht neu gestartet werden. Porkpie verfĂĽgt ĂĽber eine eigene Filter Funktion, mit der sich Nachrichten unterdrĂĽcken lassen.

[filter]
  pattern = ["1:2525017", "1:10000001", "1:2525016"]

[geoip]
  geodb = "./GeoLite2-City.mmdb"

[mail]
  server = "127.0.0.1:25"

  [mail.from]
    address = "snort@localhost"
    name = "snort"

  [mail.to]
    address = "root@localhost"
    name = "root"

[reader]
  fileprefix = "snort.u2"
  path = "/var/log/snort"

[sidmap]
  maps = ["/etc/snort/sid-msg.map"]

[slack]
  channel = "ids"
  token = "<your slack token>"

Am Ende fällt dann ein solcher Trigger heraus.

Die Sourcen befinden sich auf Github.