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

Unser Cyber ​​Defense Center ist verantwortlich für die Sicherung der Webinfrastruktur der Kunden und die Abwehr von Angriffen auf Kundenstandorte. Wir verwenden FortiWeb Web Application Firewalls (WAF), um uns gegen Angriffe zu verteidigen. 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 ELK . Es hilft, alle Ereignisse an einem Ort zu sammeln, Statistiken zu sammeln, zu visualisieren und den gezielten Angriff rechtzeitig zu sehen.



Heute werde ich Ihnen genauer erzählen, wie wir mit WAF den „Weihnachtsbaum“ überquert haben und was daraus geworden ist.









Die Geschichte eines Angriffs: Wie alles funktionierte, bevor zu ELK gewechselt wurde

In unserer Cloud hat der Kunde die Anwendung hinter unserer WAF bereitgestellt. Von 10.000 bis 100.000 Benutzern, die pro Tag mit der Site verbunden sind, erreichte die Anzahl der Verbindungen 20 Millionen pro Tag. 3-5 von ihnen waren Cyberkriminelle und versuchten, die Website zu hacken. 



FortiWeb blockierte ganz einfach ein reguläres Brute-Force-Formular von einer IP-Adresse. Die Anzahl der Besuche auf der Website pro Minute war höher als die der legitimen Benutzer. Wir haben einfach Aktivitätsschwellenwerte von einer Adresse aus festgelegt und den Angriff abgewehrt.



Es ist viel schwieriger, mit "langsamen Angriffen" umzugehen, wenn Angreifer langsam handeln und sich als Stammkunden verkleiden. 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. Außerdem bestand die Gefahr, normale Benutzer zu blockieren. Wir haben nach anderen Anzeichen eines Angriffs gesucht und eine Richtlinie eingerichtet, um IP-Adressen basierend auf diesem Attribut automatisch zu blockieren. Beispielsweise hatten viele unzulässige Sitzungen gemeinsame Felder in den Kopfzeilen der http-Anforderung. Ich musste oft manuell nach solchen Feldern in den FortiWeb-Ereignisprotokollen suchen. 



Es stellte sich als lang und unpraktisch heraus. In der Standardfunktion von FortiWeb werden Ereignisse in drei verschiedenen Protokollen in Textform aufgezeichnet: erkannte Angriffe, Informationen zu Anforderungen und Systemmeldungen zum WAF-Betrieb. Dutzende oder sogar Hunderte von Angriffsereignissen können in einer Minute eintreten.



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





Im Angriffsprotokoll sehen wir Benutzeradressen und die Art der Aktivität. 

 

Es reicht nicht aus, nur die Protokolltabelle zu scannen. Um die interessantesten und nützlichsten Informationen über die Art eines Angriffs zu finden, müssen Sie sich ein bestimmtes Ereignis ansehen:





Markierte Felder helfen, einen "langsamen Angriff" zu erkennen. Quelle: Screenshot von der Fortinet-Website



Das wichtigste Problem ist, dass nur ein FortiWeb-Spezialist es herausfinden kann. Wenn wir verdächtige Aktivitäten während der Arbeitszeit weiterhin in Echtzeit überwachen könnten, könnte sich die Untersuchung von Vorfällen in der Nacht verzögern. Wenn die FortiWeb-Richtlinien aus irgendeinem Grund nicht funktionierten, konnten die diensthabenden Nachtschichtingenieure die Situation ohne Zugang zur WAF nicht beurteilen und weckten den FortiWeb-Spezialisten. Wir haben mehrere Stunden lang die Protokolle durchgesehen und den Moment des Angriffs gefunden. 



Mit solchen Informationsmengen ist es schwierig, das Gesamtbild auf einen Blick zu verstehen und proaktiv zu handeln. Dann beschlossen wir, Daten an einem Ort zu sammeln, um alles in visueller Form zu analysieren, den Beginn des Angriffs zu finden, seine Richtung zu bestimmen und die Blockierungsmethode zu bestimmen. 



Wovon hast du gewählt?



Zunächst haben wir uns die bereits verwendeten Lösungen angesehen, um Entitäten nicht unnötig zu multiplizieren.



Eine der ersten Optionen war Nagios , mit dem wir die technische Infrastruktur , die Netzwerkinfrastruktur und die Warnung vor Notfallsituationen überwachen . Sicherheitsbeamte verwenden es auch, um Mitarbeiter bei verdächtigem Verkehr zu benachrichtigen, wissen jedoch nicht, wie verstreute Protokolle gesammelt werden sollen, und verschwinden daher. 



Es gab die Möglichkeit, alles mit MySQL und PostgreSQL oder einer anderen relationalen Datenbank zusammenzufassen. Um die Daten abzurufen, mussten Sie jedoch Ihre Anwendung formen. 



Unsere Firma verwendet FortiAnalyzer auch als Holzsammler.von Fortinet. Aber auch in diesem Fall passte er nicht. Erstens ist es besser auf die Arbeit mit der FortiGate- Firewall zugeschnitten . Zweitens fehlten viele Einstellungen, und die Interaktion damit erforderte ausgezeichnete Kenntnisse der SQL-Abfragen. Und drittens würde seine Verwendung die Kosten des Dienstes für den Kunden erhöhen.   



So kamen wir in der Person von ELK zu Open Source



Warum ELK wählen? 



ELK ist ein Open Source Softwarepaket:



  • Elasticsearch ist eine Zeitreihendatenbank, die gerade für die Arbeit mit großen Textmengen erstellt wurde.

  • Logstash ist eine Datenerfassungsengine, die Protokolle in das gewünschte Format konvertieren kann. 

  • Kibana ist ein guter Visualisierer sowie eine recht benutzerfreundliche Oberfläche für die Verwaltung von Elasticsearch. Sie können damit Diagramme erstellen, die von den diensthabenden Ingenieuren nachts angesehen werden können. 



Die ELK-Eintrittsschwelle ist nicht hoch. Alle Grundfunktionen sind kostenlos. Was sonst noch zum Glücklichsein benötigt wird.



Wie haben Sie alles in ein einziges System zusammengefasst?



Wir haben Indizes gebildet und nur die notwendigen Informationen hinterlassen . Wir haben alle drei FortiWEB-Magazine in ELK geladen - die Ausgabe waren Indizes. Dies sind Dateien mit allen gesammelten Protokollen für einen Zeitraum, z. B. einen Tag. Wenn wir sie sofort visualisieren würden, würden wir nur die Dynamik von Angriffen sehen. Für Details müssen Sie in jeden Angriff "fallen" und bestimmte Felder betrachten.







Wir haben erkannt, dass wir zuerst das Parsen unstrukturierter Informationen einrichten müssen. Wir haben lange Zeichenfolgen wie "Nachricht" und "URL" verwendet und sie analysiert, um weitere Informationen für die Entscheidungsfindung zu erhalten. 

, .   - . , 2 . 


Nach dem Parsen suchten sie nach Informationen zum Speichern und Visualisieren. Es war nicht ratsam, alles im Journal zu belassen: Die Größe eines Index war groß - 7 GB. ELK hat lange gebraucht, um die Datei zu verarbeiten. Allerdings waren nicht alle Informationen hilfreich. Etwas wurde dupliziert und nahm zusätzlichen Platz ein - es musste optimiert werden. 



Zuerst haben wir nur den Index durchlaufen und nicht benötigte Ereignisse entfernt. Es erwies sich als noch unpraktischer und länger als die Arbeit mit Magazinen auf FortiWeb. Das einzige Plus des Weihnachtsbaums zu diesem Zeitpunkt ist, dass wir einen großen Zeitraum auf einem Bildschirm visualisieren konnten. 



Wir verzweifelten nicht, wir aßen weiter den Kaktusstudieren ELK und glaubten, dass wir in der Lage sein würden, die notwendigen Informationen zu extrahieren. Nachdem wir die Indizes gelöscht hatten, begannen wir zu visualisieren, was ist. So kamen wir zu großen Dashboards. Gestochene Widgets - klar und elegant, ein echtes YOLKa! 







Der Moment des Angriffs wurde aufgezeichnet . Jetzt musste man verstehen, wie der Beginn des Angriffs in der Grafik aussieht. Um es zu finden, haben wir uns die Antworten des Servers an den Benutzer angesehen (Rückkehrcodes). Wir waren an Serverantworten mit den folgenden Codes (rc) interessiert: 



Code (rc)

Name

Beschreibung

0

FALLEN

Serveranforderung wird blockiert

200

In Ordnung

Anfrage erfolgreich bearbeitet

400

Ungültige Anforderung

Ungültige Anforderung

403

verboten

Autorisierung verweigert

500

interner Serverfehler

Dienst ist nicht verfügbar





Wenn jemand die Site angreift, ändert sich das Verhältnis der Codes: 



  • 400 , 200 , - . 

  • 0 , FortiWeb «» . 

  • 500, IP- – . 



Bis zum dritten Monat haben wir ein Dashboard eingerichtet, um diese Aktivität zu verfolgen.







Um nicht alles manuell zu überwachen, haben wir die Integration mit Nagios eingerichtet, das ELK in regelmäßigen Abständen abfragt. Wenn er das Erreichen von Schwellenwerten durch Codes aufzeichnete, schickte er eine Benachrichtigung an die diensthabenden Beamten über verdächtige Aktivitäten. 



Kombiniert 4 Grafiken im Überwachungssystem . Jetzt war es wichtig, in den Grafiken den Moment zu sehen, in dem der Angriff nicht blockiert wird und die Intervention des Ingenieurs erforderlich ist. Auf 4 verschiedenen Grafiken war unser Auge unscharf. Deshalb haben wir die Grafiken kombiniert und begonnen, alles auf einem Bildschirm zu betrachten.



Während der Überwachung haben wir beobachtet, wie sich die Grafiken in verschiedenen Farben geändert haben. Ein roter Spritzer zeigte an, dass der Angriff begonnen hatte, während die orangefarbenen und blauen Grafiken die Reaktion von FortiWeb zeigten:





Hier ist alles in Ordnung: Es gab einen Ausbruch von "roten" Aktivitäten, aber FortiWeb kam damit zurecht und der Angriffsplan wurde zunichte gemacht.



Wir haben auch ein Beispiel für ein Diagramm für uns selbst





gezeichnet , das ein Eingreifen erfordert: Hier sehen wir, dass FortiWeb die Aktivität erhöht hat, das rote Angriffsdiagramm jedoch nicht abgenommen hat. Sie müssen die WAF-Einstellungen ändern.



Die Untersuchung von nächtlichen Vorfällen ist ebenfalls einfacher geworden. Die Grafik zeigt sofort den Moment, in dem es Zeit ist, zur Verteidigung der Website zu kommen. 





Das passiert manchmal nachts. Rote Grafik - Der Angriff hat begonnen. Blau - FortiWeb-Aktivität. Der Angriff wurde nicht vollständig blockiert, so dass wir eingreifen mussten.



Wohin gehen wir



Jetzt schulen wir die diensthabenden Administratoren für die Arbeit mit ELK. Die Teilnehmer lernen, die Situation im Dashboard einzuschätzen und eine Entscheidung zu treffen: Es ist Zeit, zu einem FortiWeb-Spezialisten zu eskalieren, oder es gibt genügend WAF-Richtlinien, um einen Angriff automatisch abzuwehren. Auf diese Weise reduzieren wir die Arbeitsbelastung der Informationssicherheitsingenieure nachts und teilen die Rollen im Support auf Systemebene auf. Der Zugriff auf FortiWeb bleibt nur im Zentrum der Cyberabwehr und nimmt nur dann Änderungen an den WAF-Einstellungen vor, wenn dies dringend 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 sind. ELK wird die Situation transparenter machen, ohne zur WAF selbst gehen zu müssen.



Wenn der Kunde seinen eigenen Schutz in Echtzeit beobachten möchte, ist ELK ebenfalls hilfreich. Wir können keinen Zugang zu WAF gewähren, da der Eingriff des Kunden in die Arbeit andere beeinflussen kann. Sie können jedoch einen separaten ELK erhöhen und ihn zum "Spielen" geben. 



Dies sind die Szenarien für die Verwendung des "Weihnachtsbaums", die wir kürzlich angesammelt haben. Teilen Sie Ihre Ideen dazu mit und vergessen Sie nicht, alles richtig zu konfigurieren , um Lecks aus den Datenbanken zu vermeiden. 



All Articles