Ein SIEM aufbauen für Kleinere und Mittlere Unternehmen - Teil 2: Regeln für Alerts erstellen
Table of Content:
Teil 2: Regeln für Alerts erstellen
Willkommen zu unserem Blogpost über die Erstellung von Alarmregeln in Elastic Security. Ein Robustes Alarmierungssystem ist für immer mehr Unternehmen unerlässlich, da Angreifger immer raffinierter und ausgeklügelter werden. Elastic Security bietet fortschrittliche Werkzeuge zur Bedrohungserkennung, doch der Schlüssel zum Erfolg liegt in der korrekten Konfiguration der Alarmregeln. In diesem Beitrag erklären wir Schritt für Schritt, wie Sie präzise und effektive Alarme einrichten, um Ihre Sicherheitsmassnahmen zu optimieren und schneller auf Bedrohungen zu reagieren.
Die Bedeutung von Alarmierungsregeln
Alarmierungsregeln sind das Rückgrat jeder effektiven Sicherheitsstrategie. Sie ermöglichen es, spezifische Kriterien festzulegen, die, wenn erfüllt, eine sofortige Benachrichtigung auslösen. Dies ist entscheidend, um Ihre IT-Infrastruktur vor bekannten und aufkommenden Bedrohungen zu schützen. Aber wie geht man vor, um wirksame Regeln zu erstellen, die tatsächlich das tun, was sie sollen? In diesem Beitrag werden wir genau das behandeln.
Zunächst einmal, warum sind Alarmierungsregeln überhaupt wichtig? Cyberangriffe werden immer häufiger und ausgeklügelter, dabei bietet die frühzeitige Erkennung von Anomalien und verdächtigen Aktivitäten die beste Chance, potenzielle Sicherheitsverletzungen zu verhindern oder zumindest deren Schaden zu minimieren. Regeln helfen nicht nur, Echtzeit-Überwachung effizient zu gestalten, sondern verbessern auch die gesamte Reaktionsfähigkeit des Sicherheitsteams auf Vorfälle.
Arten von Alarmierungsregeln
Es gibt verschiedene Arten von Alarmierungsregeln, die je nach Sicherheitsbedarf und IT-Umgebung unterschiedlich angewendet werden können. Einige gängige Arten sind:
- Abfragebasierte Regeln: Diese Regeln lösen Alarme aus, wenn Log-Daten spezifische, vordefinierte Abfragen erfüllen.
- Anomalie-Erkennungsregeln: Hierbei werden Machine Learning-Algorithmen genutzt, um von normalen Aktivitätsmustern abweichendes Verhalten zu erkennen.
- Schwellenwertregeln: Diese Regeln lösen einen Alarm aus, wenn die Aktivität eine bestimmte quantitative Schwelle überschreitet.
- Korrelationsregeln: Sie ermöglichen es, mehrere Ereignisse zu verknüpfen, um komplexe Angriffsmuster zu identifizieren.
In diesem Beitrag behandeln wir ausschliesslich die erstellung von Abfragebasierten Regeln.
Regeldefinition und Automatisierung
Der Prozess der Regeldefinition beginnt mit der genauen Bestimmung dessen, was Sie überwachen möchten. Von dort aus wählen Sie den Typ der Regel basierend auf den Anforderungen Ihrer Umgebung. Nachdem eine Regel festgelegt ist, ist der nächste Schritt die Automatisierung. Moderne Sicherheitsplattformen erlauben es, Reaktionen auf erkannte Bedrohungen zu automatisieren, von einfachen Benachrichtigungen bis hin zu komplexen Skripten, die Gegenmassnahmen einleiten.
Praxisbeispiel: Erkennung eines Metasploit-Angriffs
Um die Praxisnähe unserer Erklärungen zu verdeutlichen, nehmen wir ein Beispiel, bei dem ein Angriff mit Hilfe des Metasploit Frameworks durchgeführt wird, der auf einer Taktik des MITRE ATT&CK Frameworks basiert. Unsere Alarmierungsregel wird so konfiguriert, dass sie diesen spezifischen Angriffstyp erkennen kann, wodurch demonstriert wird, wie spezifisch und zugleich robust Alarmierungsregeln sein können.
Im weiteren Verlauf dieses Posts werden wir detailliert beschreiben, wie Sie diese Art von Regel aufsetzen und testen können.
Unser Setup sieht wie folgt aus:
Um erfolgreich Teil 2 abzuschliessen ist es notwendig eine laufende ELK-Umgebung zu haben, die in der Lage ist Logs von einem Client zu empfangen. Das wurde in unserem Teil 1 behandelt.
Schritt 1: Erstellen einer neuen Rule
Hierzu finden sie in der Seitenleiste unter Security den Bereich “Rules“. Hier erstellen wir uns nun eine neue Regel.
Schritt 2.1: Auswählen der Strategie
Um ein ausgeklügeltes Erkennungssystem zu entwickeln, das speziell darauf ausgerichtet ist, solche Angriffstechniken zu identifizieren und zu bekämpfen, bietet sich das MITRE ATT&CK Framework als hervorragende Grundlage an. Durch die Integration dieses Frameworks in die Sicherheitsstrategie können Sie nicht nur die verschiedenen Angriffstechniken verstehen, sondern auch effektive Erkennungsregeln erstellen, die auf realen Szenarien basieren. Für unsere erste Rule haben wir die Technik T1562.001 ausgesucht.
Die Technik T1562.001 konzentriert sich auf die Deaktivierung oder Umgehung von Sicherheitssoftware, wie etwa Antivirenprogrammen, Firewalls oder Intrusion Detection Systemen. Ziel dieser Technik ist es, vorhandene Schutzmechanismen zu schwächen oder auszuschalten, um ungehinderten Zugang zu einem System zu ermöglichen und die Ausführung schädlicher Aktivitäten zu erleichtern.
Dazu werden wir hauptsächlich das Feld “process.args” verwenden. Die vorgestellte Regel dient zu lernzwecken und kann je nach Anwendungsgebiet stark variieren. Als nächsten Schritt wählen wir unseren Index aus. In unserem Fall wählen wir alle logs, das wäre logs-*. Und als Such-Querry folgendes:
(process.args : systemctl AND stop) OR (process.args : ufw AND disable) OR (process.args : setenforce AND 0)
systemctl AND stop
:
Der Befehl systemctl stop
wird verwendet, um Dienste auf Systemen zu stoppen, die systemd als Init-System nutzen. Überwachen dieses Befehls ist wichtig, da Angreifer ihn benutzen könnten, um kritische Sicherheitsdienste wie Firewalls, Antivirusprogramme oder andere Schutzmechanismen zu deaktivieren, was das System anfälliger für weitere Angriffe macht.
ufw AND disable
:
ufw disable
deaktiviert die Uncomplicated Firewall (UFW), die Standard-Firewall auf vielen Linux-Distributionen. Das Erkennen dieses Befehls ist von Bedeutung, da das Deaktivieren der Firewall einem Angreifer erleichtern kann, unerkannt Netzwerkzugriffe zu tätigen oder schädlichen Verkehr zu senden, was das Sicherheitsniveau des Systems erheblich senkt.
setenforce AND 0
:
Der Befehl setenforce 0
schaltet SELinux (Security-Enhanced Linux) in den permissiven Modus, wodurch Sicherheitsrichtlinien nicht durchgesetzt, sondern nur Warnungen für Aktivitäten ausgegeben werden, die gegen die Richtlinien verstoßen. Diesen Befehl zu überwachen ist kritisch, da das Lockern von SELinux-Beschränkungen es Angreifern ermöglicht, verschiedene sicherheitsrelevante Operationen durchzuführen, die sonst blockiert oder eingeschränkt wären.
Schritt 2.2: Namensgebung und Beschreibung
Die Namensgebung kann je nach Organisation/ Bedürfnissen unterschiedlich sein. Beachten sie jedoch 3 Punkte:
- Einheitlich: Die Verwendung eines konsistenten Namensschemas erleichtert das Auffinden und Verwalten von Regeln, besonders in großen oder komplexen Umgebungen.
- Aussagekräftig: Namen sollten präzise und beschreibend sein, um sofort einen Einblick zu geben, was die Regel bewirkt oder auf welche Bedrohung oder Aktivität sie abzielt.
- Kompakt: Während Namen informativ sein sollten, ist es auch wichtig, dass sie kurz und prägnant sind, um Überladungen und Verwirrungen zu vermeiden.
Punkte die Typischerweise in der Beschreibung einer Sicherheitsregel enthalten sein können:
- Zweck der Regel
- Funktionsweise der Regel
- Auslöser
- Erwartete Aktionen
- Kontext und Relevanz
- Konfigurationsdetails
- Überprüfungsintervall
- Referenzen
Die Kritikalität hängt auch stark von dem Einsatzgebiet der Regel ab, in diesem Beispiel ist unser Kali-Device ein besonders Schützenswertes Gerät. Deshalb setzten wir die Kritikalität auf critical mit einem Risk Score von 99. Folgend ein Beispiel.
Schritt 3: Erstellen eines neuen Alerts
Die Zeit setzen wir auf alle 5 Minuten da wir gleich im Anschluss diese Regel testen wollen.
Schritt 4: Automation
Rule Action stellen wir keine ein. Falls nötig hat man eine Vielzahl von Auswahlmöglichkeiten um eine folge Aktion auszuführen.
Gratuliere, Sie haben erfolgreich ihre erste Regel erstellt!
Schritt 5: Verifizieren das die Regel funktioniert
Nun wollen wir die Regel Testen. Dazu geben wir folgendes ins Terminal unserer Kali-Maschine ein:
sudo ufw disable
Der Befehl sudo ufw disable
wird verwendet, um die Uncomplicated Firewall (UFW) auf einem Linux-System zu deaktivieren. Die Verwendung von sudo
ermöglicht es, den Befehl mit Administratorrechten auszuführen, was erforderlich ist, um Firewall-Einstellungen zu ändern. Dieser Befehl stoppt die Firewall, wodurch sämtliche durch UFW definierten Regeln außer Kraft gesetzt und der Netzwerkverkehr nicht mehr gefiltert wird. Nach erfolgreichem Abschluss sieht das folgendermassen aus:
um die Firewall wieder hochzufahren eignet sich folgender Befehl:
sudo ufw enable
Nachdem die Regel “Systemservice/Überwachung unterbrochen – T1562.001” implementiert wurde, ist es entscheidend, deren Effektivität zu überprüfen. Diese Überprüfung erfolgt durch die Analyse der ausgelösten Alarme, wie im Alerts-Dashoard ersichtlich. Im aktuellen Beispiel zeigt das Dashboard einen kritischen Alarm, der durch diese spezifische Regel ausgelöst wurde, was auf eine erfolgreiche Erkennung hindeutet.
Die Details des Alarms, einschliesslich des Zeitstempels und des Risikoscores, liefern wichtige Informationen über den Vorfall. Ein hoher Risikoscore von 99 und die Markierung als kritisch bestätigen die Ernsthaftigkeit des erkannten Vorfalls. Zusätzlich sollte die Analyse des Grundes für den Alarm, hier angegeben als “process event on kali created”, weiter untersucht werden, um die Art des Angriffs vollständig zu verstehen und entsprechende Reaktionsschritte zu planen.
Dieser Prozess bestätigt nicht nur die Funktionsweise der Regel, sondern dient auch als Grundlage für zukünftige Anpassungen und Verbesserungen im Erkennungssystem. Es ist wichtig, regelmässig zu überprüfen, ob die Regeln wie erwartet funktionieren und sie gegebenenfalls anzupassen, um die Sicherheitslage kontinuierlich zu verbessern.
Teil 3
In Teil 3 unserer Blogpost-Serie behandeln wir die erforderlichen Schritte, um ein funktionierendes Security Information and Event Management (SIEM) System aufzubauen. Dies umfasst die Integration und Normalisierung der erforderlichen Logs sowie die Anwendung von Threat-Intelligences.
FAQ
Mehr zum Thema Elastic ELK und SIEM
ELK steht für Elasticsearch, Logstash und Kibana – eine Kombination von drei Open-Source-Tools, die zusammenarbeitend eine leistungsfähige Lösung für das Log-Management und die Datenanalyse bieten.
Elasticsearch ist eine verteilte, RESTful-Such- und Analyse-Engine, die in der Lage ist, grosse Mengen von Daten in Echtzeit zu verarbeiten und zu analysieren.
Im Rahmen von SIEM wird ELK häufig verwendet, um Log-Daten zu sammeln, zu verarbeiten und zu visualisieren, wodurch Sicherheitsanalysen erleichtert und Bedrohungen schneller erkannt werden können.
SIEM (Security Information and Event Management) ist eine Softwarelösung, die Echtzeitüberwachung, Ereigniserfassung, Datenkorrelation und Alarmierung bietet, um Netzwerksicherheit zu verbessern.
Elasticsearch ermöglicht es SIEM-Systemen, grosse Volumen an Sicherheitsdaten effizient zu indexieren und zu durchsuchen, was eine schnelle Erkennung und Reaktion auf Sicherheitsvorfälle unterstützt.