Als Faustregel gilt: Aktivieren Sie nur die wichtigsten Regeln, sonst platzt eve.json aus allen Nähten, und Evebox reagiert nicht mehr. Doch was zählt zu den wichtigsten Regeln? Das müssen Sie schlicht ausprobieren, denn in jedem Heimnetz sind andere Anwendungen unterwegs. Falls eine bestimmte Alarmierung von Suricata ständig im Log hängen bleibt und der Inhalt unpassend oder nur informativ ist, setzen Sie diese Regel oder Regelgruppe auf die Ausnahmeliste. Das Beispiel aus Listing 4 deaktiviert drei Regelgruppen mit rein informativen Inhalten und aktualisiert danach die neue reduzierte Signaturliste.
Listing 4
Ausnahmeliste erstellen
# cat <<EOF > /etc/suricata/disable.conf group:stream-events.rules group:decoder-events.rules group:emerging-info.rules EOF # suricata-update
Evebox
Bei welchen Paketen hat Suricata Alarm geschlagen? Möchten Sie sich nicht durch lange JSON-Zeilen arbeiten, dann holen Sie sich die webbasierte Ansicht von Evebox ins Haus und stöbern wie in Abbildung 3 durch die Meldungen. Für die Installation stellt das Team hinter Evebox ein eigenes Repository zur Verfügung, das spätere Aktualisierungen ermöglicht. Das Einrichten von Repo und GPG-Schlüssel fällt fast aufwendiger aus als die eigentliche Installation, wie Listing 5 zeigt.
Listing 5
Repo und GPG-Schlüssel einrichten
# apt install gnupg apt-transport-https # wget -qO - https://evebox.org/files/GPG-KEY-evebox | apt-key add - # cat <<EOF > /etc/apt/sources.list.d/evebox.list deb http://evebox.org/files/debian stable main EOF # apt update # apt install evebox
Eine minimale Konfiguration für die Evebox findet sich in Listing 6, dessen Inhalt Sie in der Datei /etc/evebox/evebox.yaml ablegen. Die Werte sind schonend gewählt und passen für einen Raspberry Pi. Nach dem Speichern darf Evebox per systemctl restart evebox seine Dienste anbieten. Anschließend steht die Webseite http://ip_vom_pi:5636 bereit und informiert zukünftig über Alarme. Genau genommen sehen Sie nicht die originalen Alarme von Suricata, sondern die von Evebox aufgearbeitete Liste.
Listing 6
Evebox-Konfiguration
http:
tls:
enabled: false
host: 0.0.0.0
port: 5636
database:
type: sqlite
retention:
days: 7
size: "500 MB"
input:
enabled: true
paths:
- "/var/log/suricata/eve.json*"
IDS testen
Damit wäre alles startklar, aber Sie sollten sicherheitshalber testen, ob das Home-IDS auch funktioniert. Ähnlich wie bei EICAR für Virenscanner gibt es eine präparierte Webseite, die einem aktiven IDS auffallen soll.
Für diesen Test muss ein Client aus dem Heimnetz auf die Website http://testmynids.org/uid/index.html zugreifen. Dabei spielt es keine Rolle, ob das per Webbrowser oder Curl passiert, so lange Sie die Webseite über die Fritzbox aufrufen. Wichtig ist dabei, dass Suricata den Pseudo-Angriff erkennt und Evebox ihn als GPL ATTACK_RESPONSE id check returned root anzeigt (Abbildung 4).
Im Gegensatz zu EICAR bei einem Virenscanner zeigt der Webbrowser den Inhalt der Webseite an. Das liegt daran, dass Suricata lediglich als IDS arbeitet und nicht als Intrusion Prevention System (IPS). Der Unterschied liegt darin, dass ein IDS lediglich alarmiert, während ein IPS den Angriff verhindert.
Abspecken
Standardmäßig speichert Suricata zahlreiche Informationen und Statistiken, was die Log-Dateien schnell anschwellen lässt. Evebox muss die Alerts mühsam heraussuchen, was viele Zugriffe auf das Flash-Speichermedium bewirkt. Eine RAM-Disk hilft zwar ein wenig, aber es ist zweifellos sinnvoller, die unnötigen Werte gar nicht erst zu speichern.
Dazu müssen Sie in die Konfigurationsdatei suricata.yaml eingreifen. Das YAML-Format arbeitet mit Einrückungen und liest sich wie eine Gliederung von Themen und Stichpunkten. Alles, was in der Log-Datei eve.json landen soll, listet Suricata unter outputs im Unterabschnitt eve-log. Für den Betrieb auf einem Raspberry Pi empfiehlt es sich, alle dort in types aufgeführten Ausgabeformate auszukommentieren oder auf false zu setzen, mit Ausnahme von alert, anomaly und drop (Abbildung 5).
Der nächste Rotstift setzt bei den Signaturen an. Im vorherigen Abschnitt mussten bereits drei Regelgruppen das Feld räumen. Wenn Evebox weitere Alarme vermeldet, die lästig, unnötig oder falsch sind, kommt ein entsprechender Eintrag in die Datei disable.conf mit anschließendem Update der Signaturdatenbank zum Einsatz.
Verhält sich der RasPi nach der Aufräumaktion immer noch träge, lohnt es sich, die SQLite-Datenbank von Evebox unter /var/lib/evebox/ zu leeren oder in /var/log/suricata/ eine frische eve.json zu erstellen. In beiden Fällen müssen Sie den jeweiligen Dienst einmal per Systemctl neu starten.








