Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen

Unser Cyber ​​Defense Center ist für die Sicherheit der Web-Infrastruktur des Kunden verantwortlich und wehrt Angriffe auf Kundenseiten ab. Zum Schutz vor Angriffen nutzen wir FortiWeb Web Application Firewalls (WAFs). Aber selbst die coolste WAF ist kein Allheilmittel und schützt nicht „out of the box“ vor gezielten Angriffen. 

Daher verwenden wir zusätzlich zu WAF ELCH. Es hilft, alle Ereignisse an einem Ort zu sammeln, Statistiken zu sammeln, diese zu visualisieren und es uns zu ermöglichen, einen gezielten Angriff rechtzeitig zu erkennen.

Heute erzähle ich euch genauer, wie wir mit WAF über den Weihnachtsbaum gegangen sind und was dabei herausgekommen ist.

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen

Die Geschichte eines Angriffs: Wie alles vor dem Wechsel zu ELK funktionierte

In unserer Cloud hat der Kunde die Anwendung hinter unserer WAF bereitgestellt. Von 10 bis 000 Benutzern, die sich pro Tag mit der Website verbunden haben, erreichte die Zahl der Verbindungen 100 Millionen pro Tag. Davon waren 000-20 Benutzer Eindringlinge und versuchten, die Website zu hacken. 

Die übliche Brute-Force-Methode von einer IP-Adresse aus wurde von FortiWeb recht einfach blockiert. Die Anzahl der Zugriffe auf die Website pro Minute war höher als bei legitimen Benutzern. Wir haben einfach Aktivitätsschwellenwerte von einer Adresse aus eingerichtet und den Angriff abgewehrt.

Es ist viel schwieriger, mit „langsamen Angriffen“ umzugehen, wenn Angreifer langsam agieren und sich als gewöhnliche Clients ausgeben. Sie verwenden viele eindeutige IP-Adressen. Solche Aktivitäten sahen für WAF nicht nach massiver roher Gewalt aus, es war schwieriger, sie automatisch zu verfolgen. Und es bestand auch die Gefahr, normale Benutzer zu blockieren. Wir haben nach anderen Anzeichen eines Angriffs gesucht und eine Richtlinie zur automatischen Blockierung von IP-Adressen basierend auf diesem Zeichen eingerichtet. Beispielsweise hatten viele unzulässige Sitzungen gemeinsame Felder in den HTTP-Anforderungsheadern. Oft musste man in den FortiWeb-Ereignisprotokollen manuell nach solchen Feldern suchen. 

Es wurde lang und unangenehm. In der Standardfunktionalität von FortiWeb werden Ereignisse in Textform in drei verschiedenen Protokollen aufgezeichnet: erkannte Angriffe, Informationen zu Anfragen und Systemmeldungen zum WAF-Betrieb. In einer Minute können Dutzende oder sogar Hunderte von Angriffsereignissen auftreten.

Nicht so sehr, aber Sie müssen manuell mehrere Protokolle durchsuchen und über viele Zeilen iterieren: 

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen
Im Angriffsprotokoll sehen wir Benutzeradressen und die Art der Aktivität. 
 
Es reicht nicht aus, nur die Protokolltabelle zu scannen. Um das Interessanteste und Nützlichste über die Art des Angriffs herauszufinden, müssen Sie einen Blick in ein bestimmtes Ereignis werfen:

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen
Hervorgehobene Felder helfen bei der Erkennung von „langsamen Angriffen“. Quelle: Screenshot von Fortinet-Website

Das Hauptproblem besteht darin, dass nur ein FortiWeb-Spezialist das herausfinden kann. Wenn wir während der Geschäftszeiten immer noch verdächtige Aktivitäten in Echtzeit verfolgen könnten, könnte sich die Untersuchung nächtlicher Vorfälle verzögern. Als die FortiWeb-Richtlinien aus irgendeinem Grund nicht funktionierten, konnten die diensthabenden Nachtschichtingenieure die Situation ohne Zugriff auf die WAF nicht einschätzen und weckten den FortiWeb-Spezialisten. Wir haben mehrere Stunden lang die Protokolle durchgesehen und den Zeitpunkt des Angriffs gefunden. 

Bei solchen Informationsmengen ist es schwierig, das große Ganze auf einen Blick zu verstehen und proaktiv zu handeln. Dann beschlossen wir, Daten an einem Ort zu sammeln, um alles visuell zu analysieren, den Beginn des Angriffs zu finden, seine Richtung und Blockierungsmethode zu identifizieren. 

Was hast du ausgewählt?

Zunächst haben wir uns die bereits im Einsatz befindlichen Lösungen angeschaut, um Entitäten nicht unnötig zu vermehren.

Eine der ersten Optionen war Nagiosdie wir zur Überwachung nutzen technische Infrastruktur, Netzwerkinfrastruktur, warnt vor Notfallsituationen. Sicherheitskräfte nutzen es auch, um Diensthabende bei verdächtigem Verkehr zu benachrichtigen, aber es weiß nicht, wie man verstreute Protokolle einsammelt und wird daher nicht mehr benötigt. 

Es gab eine Option, alles zusammenzufassen MySQL und PostgreSQL oder eine andere relationale Datenbank. Aber um die Daten herauszuholen, war es notwendig, Ihre Anwendung zu gestalten. 

Unser Unternehmen verwendet auch FortiAnalyzer von Fortinet. Aber auch in diesem Fall passte es nicht. Erstens ist es eher auf die Arbeit mit einer Firewall zugeschnitten FortiGate. Zweitens fehlten viele Einstellungen und die Interaktion damit erforderte ausgezeichnete Kenntnisse von SQL-Abfragen. Und drittens würde der Einsatz die Dienstleistung für den Kunden verteuern.   

So kamen wir zu Open Source in Form von ELCH

Warum ELK wählen? 

ELK ist eine Reihe von Open-Source-Programmen:

  • Elasticsearch – eine Zeitreihendatenbank, die speziell für die Arbeit mit großen Textmengen erstellt wurde;
  • Logstasch – ein Datenerfassungsmechanismus, der Protokolle in das gewünschte Format konvertieren kann; 
  • Kibana – eine gute Visualisierung sowie eine recht benutzerfreundliche Oberfläche zur Verwaltung von Elasticsearch. Sie können damit Diagramme erstellen, die diensthabende Ingenieure nachts überwachen können. 

Die Eintrittsschwelle für ELK ist niedrig. Alle Grundfunktionen sind kostenlos. Was braucht es sonst noch zum Glück?

Wie haben Sie alles in einem System zusammengefasst?

Indizes erstellt und nur die notwendigen Informationen hinterlassen. Wir haben alle drei FortiWEB-Protokolle in ELK geladen und die Ausgabe waren Indizes. Hierbei handelt es sich um Dateien mit allen erfassten Protokollen für einen Zeitraum, beispielsweise einen Tag. Wenn wir sie sofort visualisieren würden, würden wir nur die Dynamik der Angriffe erkennen. Um Einzelheiten zu erfahren, müssen Sie sich auf jeden Angriff einlassen und sich bestimmte Bereiche ansehen.

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen

Uns wurde klar, dass wir zunächst das Parsen unstrukturierter Informationen einrichten müssen. Wir haben lange Felder wie „Nachricht“ und „URL“ als Zeichenfolgen verwendet und sie analysiert, um weitere Informationen für die Entscheidungsfindung zu erhalten. 

Mithilfe der Analyse haben wir beispielsweise den Standort des Benutzers separat ermittelt. Dies trug dazu bei, Angriffe aus dem Ausland auf Websites russischer Benutzer sofort aufzudecken. Durch die Blockierung aller Verbindungen aus anderen Ländern haben wir die Anzahl der Angriffe um das Zweifache reduziert und konnten Angriffe innerhalb Russlands problemlos bewältigen. 

Nach der Analyse begannen sie zu suchen, welche Informationen gespeichert und visualisiert werden sollten. Es war unangemessen, alles im Protokoll zu belassen: Die Größe eines Index war groß – 7 GB. ELK brauchte lange, um die Datei zu verarbeiten. Allerdings waren nicht alle Informationen nützlich. Etwas wurde dupliziert und nahm zusätzlichen Platz ein – eine Optimierung war notwendig. 

Zuerst haben wir einfach den Index durchgesehen und unnötige Ereignisse entfernt. Dies erwies sich als noch umständlicher und zeitaufwändiger als die Arbeit mit Protokollen auf FortiWeb selbst. Das einzige Plus des „Weihnachtsbaums“ in dieser Phase ist, dass wir einen großen Zeitraum auf einem Bildschirm visualisieren konnten. 

Wir verzweifelten nicht, aßen weiterhin den Kaktus und studierten ELK und glaubten, dass wir die notwendigen Informationen extrahieren könnten. Nachdem wir die Indizes bereinigt hatten, begannen wir zu visualisieren, was ist. So kamen wir zu großen Dashboards. Wir haben Widgets gestochen – optisch und elegant, ein echter ЁLKa! 

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen

Den Moment des Angriffs festgehalten. Jetzt mussten wir verstehen, wie der Beginn eines Angriffs in der Grafik aussieht. Um es zu erkennen, haben wir uns die Antworten des Servers an den Benutzer (Rückgabecodes) angesehen. Uns interessierten Serverantworten mit den folgenden Codes (rc): 

Code (rc)

Name

Beschreibung

0

DROP

Die Anfrage an den Server wird blockiert

200

Ok

Anfrage erfolgreich bearbeitet

400

Bad Request

Ungültige Anforderung

403

verboten

Autorisierung verweigert

500

Internal Server Error

Dienst ist nicht verfügbar

Wenn jemand begann, die Website anzugreifen, änderte sich das Verhältnis der Codes: 

  • Wenn es mehr fehlerhafte Anfragen mit Code 400 und die gleiche Anzahl normaler Anfragen mit Code 200 gab, dann versuchte jemand, die Site zu hacken. 
  • Wenn gleichzeitig auch die Anfragen mit dem Code 0 wuchsen, dann haben auch die FortiWeb-Politiker den Angriff „gesehen“ und ihn blockiert. 
  • Wenn die Anzahl der Nachrichten mit dem Code 500 zunimmt, ist die Seite für diese IP-Adressen nicht verfügbar – ebenfalls eine Art Sperrung. 

Im dritten Monat hatten wir ein Dashboard eingerichtet, um solche Aktivitäten zu verfolgen.

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen

Um nicht alles manuell zu überwachen, haben wir eine Integration mit Nagios eingerichtet, das ELK in bestimmten Abständen abfragte. Wenn ich festgestellt habe, dass durch Codes Grenzwerte erreicht wurden, habe ich eine Benachrichtigung über verdächtige Aktivitäten an die diensthabenden Beamten gesendet. 

Kombinierte 4 Diagramme im Überwachungssystem. Jetzt war es wichtig, in den Grafiken den Moment zu sehen, in dem der Angriff nicht blockiert wird und das Eingreifen eines Ingenieurs erforderlich ist. Auf 4 verschiedenen Grafiken war unser Auge verschwommen. Deshalb haben wir die Diagramme kombiniert und begonnen, alles auf einem Bildschirm zu beobachten.

Während der Überwachung beobachteten wir, wie sich Diagramme unterschiedlicher Farbe veränderten. Ein roter Spritzer zeigte an, dass der Angriff begonnen hatte, während orange und blaue Diagramme die Reaktion von FortiWeb zeigten:

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen
Hier ist alles in Ordnung: Es gab einen Anstieg der „roten“ Aktivität, aber FortiWeb kam zurecht und der Angriffsplan scheiterte.

Wir haben uns auch ein Beispiel für eine Grafik gezeichnet, die ein Eingreifen erfordert:

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen
Hier können wir sehen, dass FortiWeb die Aktivität erhöht hat, die rote Angriffsgrafik jedoch nicht abgenommen hat. Sie müssen die WAF-Einstellungen ändern.

Auch die Untersuchung nächtlicher Vorfälle ist einfacher geworden. Die Grafik zeigt sofort den Moment an, in dem es Zeit ist, die Website zu verteidigen. 

Wie ELK Sicherheitsingenieuren hilft, Website-Angriffe zu bekämpfen und ruhig zu schlafen
Das passiert manchmal nachts. Rotes Diagramm – der Angriff hat begonnen. Blau – FortiWeb-Aktivität. Der Angriff konnte nicht vollständig abgewehrt werden, wir mussten eingreifen.

Wohin gehen wir

Wir schulen derzeit diensthabende Administratoren für die Arbeit mit ELK. Die Diensthabenden lernen, die Situation auf dem Dashboard einzuschätzen und eine Entscheidung zu treffen: Es ist Zeit, an einen FortiWeb-Spezialisten zu eskalieren, oder die Richtlinien auf der WAF reichen aus, um einen Angriff automatisch abzuwehren. Auf diese Weise reduzieren wir die Belastung der Informationssicherheitsingenieure nachts und teilen die Supportrollen auf Systemebene auf. Der Zugriff auf FortiWeb verbleibt ausschließlich beim Cyber ​​Defense Center und dieses nimmt nur dann Änderungen an den WAF-Einstellungen vor, wenn dies unbedingt erforderlich ist.

Wir arbeiten auch an der Berichterstattung für Kunden. Wir planen, dass Daten zur Dynamik der WAF-Arbeit im persönlichen Konto des Kunden verfügbar sein werden. ELK wird die Situation klarer machen, ohne dass auf die WAF selbst Bezug genommen werden muss.

Wenn der Kunde seinen Schutz in Echtzeit überwachen möchte, ist ELK ebenfalls hilfreich. Wir können den Zugriff auf WAF nicht verschenken, da Eingriffe des Kunden in die Arbeit andere beeinträchtigen können. Sie können aber auch einen separaten ELK in die Hand nehmen und ihn zum „Spielen“ geben. 

Dies sind die Szenarien für die Verwendung des Weihnachtsbaums, die wir in letzter Zeit gesammelt haben. Teilen Sie Ihre Meinung dazu mit und vergessen Sie es nicht alles richtig eingestelltum Datenbanklecks zu vermeiden. 

Source: habr.com