Categories:

Wer ist in meinem WLAN? Benachrichtigung per E-Mail / Push-Notification in Echtzeit

Veröffentlicht von empy
Lesezeit: 10 Minuten

Heute zeige ich euch, wie ihr in Echtzeit informiert werdet, wenn jemand euer WLAN benutzt oder hacken will. So behaltet ihr immer den Überblick über euer WLAN-Netzwerk und könnt bei Angriffsversuchen sofort reagieren. Folgendes wird benötigt, erstens: Ein WLAN-Router / WLAN Access Point, welcher Syslogs verschicken kann. Für mein Beispiel heute verwende ich UniFi Access Points. Zweitens: Synology oder ein anderer Syslog-Server, zum Beispiel Graylog.

Ihr könnt euch einfach benachrichtigen lassen, wenn jemand euer WLAN nutzt oder hacken will. Dazu müsst ihr die Syslog-Funktion eures WLAN-Routers aktivieren. Anschließend wertet ihr die Logs bequem zum Beispiel per Synology aus und lasst sie euch per E-Mail schicken. In den Logs müsst ihr auf erfolgreiche 4-Way-Handshakes bzw. Authentifizierungsfehler achten. So wisst ihr immer, wer in eurem WLAN ist.

Wie kann ich sehen, wer auf mein WLAN zugreift?

Automatisierte Benachrichtigungen sind vor allem dann sinnvoll, wenn ihr nicht dauernd händisch in der Weboberfläche eures WLAN-Routers überprüfen wollt, wer sich gerade im eigenen WLAN aufhält. Die Weboberfläche ist aber die einfachste Option, um zu sehen, wer aktuell auf euer WLAN zugreift. Jeder WLAN-Router bzw. Access Point hat die Information eingebaut.

Loggt euch dazu einfach auf dem Webinterface eures WLAN-Routers ein und durchforstet die Menüs nach einem entsprechenden Eintrag. Meistens heißt der Menüpunkt einfach „Clients“, „Endgeräte“, „Devices“, „Geräte im WLAN“, „Mein WLAN“ etc. Ansonsten schaut bitte unter dem Eintrag „DHCP“ nach. Ihr werdet es garantiert finden. Meist erhaltet ihr dann eine listenhafte Darstellung aller im Moment verbundener WLAN-Geräte. Einige Modelle zeigen zudem Endgeräte an, die in der Vergangenheit bereits verbunden waren. Je nach Ausstattung führen einige WLAN-Router auch kabelgebundene Geräte mit auf, mit der Möglichkeit auf WLAN-Geräte zu filtern. In jedem Fall werdet ihr auf diese Weise sehen können, wer im Moment in eurem WLAN verbunden ist.

Wer ist in meinem WLAN: Übersicht bei Aruba Instant

Vorteil dieser Methode:

  • Einfach,
  • ohne zusätzliche Komponenten verfügbar,
  • auf jedem WLAN-Router und Access Point vorhanden.

Nachteil dieser Methode:

  • Nur erfolgreiche Verbindungen,
  • keine Info, ob WLAN gehackt wurde,
  • manueller Aufwand,
  • keine Echtzeit-Benachrichtigung.

Benachrichtigungssystem in UniFi erstellen: Benutzt jemand mein WLAN?

Regelmäßig manuell per Weboberfläche im WLAN-Router die Liste verbundener Endgeräte zu überprüfen kann schnell anstrengend werden. Deshalb lässt sich der Vorgang in den meisten Fällen automatisieren. Ich zeige euch, wie ihr für jede erfolgreiche Verbindung in euer WLAN eine E-Mail-Benachrichtigung erhaltet. Nicht, damit am Ende noch der Nachbar heimlich euer WLAN nutzt!

Ihr benötigt einen WLAN-Router bzw. WLAN Access Point, welcher es ermöglicht, seine Log-Dateien per Syslog an einen Syslog-Server zu senden. Ihr könnt die Logs dann an jeden beliebigen Syslog-Server übermitteln und dort automatisiert verarbeiten. Dann sehr ihr immer, wer in eurem WLAN ist.

Für mein Beispiel verwende ich das beliebte UniFi-System, dass in vielen Heimnetzwerken mittlerweile weit verbreitet ist. Das WLAN von UniFi kombiniere ich für meinen Versuch mit einem Synology-NAS, welches ebenfalls in Heimnetzwerken häufig anzutreffen ist. Bei Synology ist mit dem Protokoll-Center ein kleiner Syslog-Server bereits integriert.

Protokoll-Center von Synology kann anzeigen, wer im WLAN ist.

Alternativ könnt ihr Graylog nutzen, so wie ich es für mein Intrusion Detection System mit Aruba Instant produktiv verwende. Und wem das noch nicht genug ist: Ihr könnt die Syslog-Fähigkeiten eurer Synology auch einfach erweitern, indem ihr Graylog per Docker nachrüstet. Auch ein lokaler Computer könnte den Syslog-Server bereitstellen.

Schritt 1: Syslog aktivieren, um WLAN-Anmeldungen zu erkennen

Um erfolgreiche WLAN-Anmeldungen per Benachrichtigung zu erhalten, müssen wir zunächst Syslog aktivieren. Das ermöglicht euch zu sehen, wenn sich jemand mit eurem WLAN verbindet. Syslog macht alle Anmeldevorgänge sichtbar, indem es die Log-Dateien des WLAN-Routers bzw. Access Points für Menschen lesbar an einen Syslog-Server verschickt. So bekommt ihr einen Einblick darüber, was unter Haube passiert. Auch zu Troubleshooting-Zwecken eine sehr nützliche Methode.

Die meisten WLAN-Router verfügen über eine Option zum Übermitteln der Logs über das Syslog-Protokoll. Wenn nicht, müsst ihr an dieser Stelle leider abbrechen. Im Beispiel UniFi lässt sich Syslog sehr einfach aktivieren.

In UniFi müsst ihr Syslog aktivieren und die Log-Level auf Debug stellen.

Legt zunächst die IP-Adresse eures Syslog-Servers fest. In meinem Fall ist das die IP-Adresse meines Synology-NAS im gleichen Subnetz. Als Port definiert ihr einen UDP-Port, über welchen Syslog die Daten übertragen soll. Legt hier Port 514 fest. Stellt anschließend die Log-Level der einzelnen Module auf die maximale Stufe. Bei UniFi ist das „Debug“. Bestätigt anschließend die Einstellungen. Alle Access Points von UniFi verschicken ab jetzt die Syslog-Meldungen an den angegebenen Syslog-Server. Diesen müsst ihr im nächsten Schritt noch einrichten.

Da wir das Protokoll-Center des Synology-NAS verwenden wollen, machen wir das System dort nun zum Empfang bereit. Zuerst müsst ihr sicherstellen, dass die Synology-Firewall die Daten von UniFi nicht blockiert. Erlaubt also den Datenverkehr von UniFi zu Synology und gebt den Port 514 frei. Da es sich beim UDP-Port 514 um den Standard-Port für Syslog handelt, könnt ihr den passenden Port bequem in der Synology-Software auswählen. Wenn ihr den IP-Bereich eingrenzen wollt, müsst ihr darauf achten, die IP-Adressen aller Access Points freizugeben. Die Syslog-Meldungen kommen nicht zentral vom Controller, sondern vom jeweiligen Access Point.

Anschließend müsst ihr ins Protokoll-Center von Synology wechseln und dort den Protokollempfang aktivieren. Nur so kommen die Syslog-Meldungen tatsächlich im Protokoll-Center an. Legt dort eine neue Regel an, über die ihr die Syslog-Meldung empfangen werdet. Vergebt einen sinnvollen Namen, wählt das BSD-Protokollformat aus und spezifiziert das Transferprotokoll sowie den Port auf UDP 514. Achtet wieder auf die IP-Adressen der einzelnen Access Points. Bestätigt abschließend die Eingaben.

Anmerkung: Nutzt ihr verschiedene Subnetze oder VLANs, müsst ihr eventuell Einstellungen an euerer Netzwerk-Firewall überprüfen und UDP 514 für die verwendeten IP-Adressen freigeben.

Schritt 2: Erfolgreichen 4-Way-Handshake herausfinden

Nachdem die Log-Dateien per Syslog endlich an der Synology ankommen, zeige ich euch nun, wie ihr diese auswerten könnt. Im Prinzip listet Synology alle Einträge zeilenweise auf. Im Protokoll-Center findet ihr alles übersichtlich dargestellt.

Basierend auf meiner Untersuchung mit einem UniFi U6-Lite Access Point und UniFi Network Version 7.1.66 müsst ihr auf folgenden Eintrag in den Logs achten:

U6-Lite-6.0.21+13673: kernel: [ 5869.958212] rai1: Recv EAPOL-Key M4, DA=f6:92:bf:95:ca:d2, SA=xx:xx:xx:xx:xx:xx, len=107

Beim Log-Eintrag handelt es sich um den letzten Schritt im sogenannten 4-Way-Handshake von WLAN nach 802.11. Bevor ein WLAN-fähiges Endgerät Zugang zum WLAN erhält, muss es sich erfolgreich am WLAN authentifizieren. Dies geschieht durch einen Schlüsselaustausch in vier Schritten. Erst wenn der letzte Schritt erfolgreich durchlaufen wird, kommt die Verbindung ins WLAN zustande. Mit der oben aufgelisteten Log-Zeile bestätigt der WLAN Access Point von UniFi den erfolgreichen Empfang des letzten Schlüsselteils und gibt dann die WLAN-Verbindung frei.

Wann immer ein Endgerät die Verbindung ins WLAN aufbaut, werden die Schlüssel ausgetauscht. Eine Ausnahme bildet Fast Roaming nach 802.11r, bei dem der Schlüsseltausch abgekürzt wird. Bevor Fast Roaming jedoch stattfinden kann, findet immer mindestens einmalig ein regulärer 4-Way-Handshake statt.

Mit der oberen Log-Zeile entgeht euch kein WLAN-Endgerät mehr, dass sich in eurem UniFi-WLAN anmeldet. So könnt ihr immer sehen, wenn ein Gerät im WLAN ist!

So sieht eine erfolgreiche WLAN-Anmeldung mit Access Points von UniFi aus (4-Way-Handshake).

Verwendet ihr andere WLAN-Router oder Systeme, müsst ihr nach passenden Log-Einträgen Ausschau halten. Verbindet euch wiederholt mit dem WLAN und prüft, welche Log-Zeilen dabei erzeugt werden. Syslog funktioniert zum Glück in Echtzeit. Ihr werdet schnell erkennen, welche Einträge zu den Verbindungsversuchen gehören.

Schritt 3: Benachrichtigung aktivieren, sobald jemand WLAN nutzt

Was nun folgt ist einfach. Im Synology Protokoll-Center müsst ihr lediglich die Benachrichtigungen aktivieren. Dann wisst ihr immer, wer in eurem WLAN ist! Ihr könnt festlegen, unter welchen Bedingungen die Benachrichtigungen dann an den Administrator versendet werden.

Zunächst aktiviert ihr jedoch unter Systemsteuerung -> Benachrichtigung -> E-Mail die Funktion, die die Administrator-Benachrichtigungen per E-Mail versendet. Dort könnt ihr einstellen, an welche E-Mail-Adresse die Benachrichtigung verschickt werden soll. Unter dem Reiter „Push-Dienst“ ist es sogar möglich, eine Benachrichtigung per Smartphone-Push-Notification zu bekommen, sobald eine Benachrichtigung ausgelöst wird.

Damit die Benachrichtigung auch tatsächlich ausgelöst wird, müsst ihr sie im Protokoll-Center zunächst aktivieren und die Bedingungen festlegen, die eine Benachrichtigung auslösen sollen. Immer dann, wenn ein WLAN-Endgerät erfolgreich mit dem WLAN verbunden ist (erfolgreicher 4-Way-Handshake), dann soll eine Meldung versendet werden.

Navigiert also wieder ins Synology Protokoll-Center. Dort findet ihr im Reiter „Benachrichtigungen“ die sogenannten Benachrichtigungsregeln. Aktiviert die Option „Stichwort enthält“ und gebt im ersten Feld folgende Phrase ein, dann übernehmt die Einstellungen.

rai1: Recv EAPOL-Key M4

Sobald jetzt ein neuer Log-Eintrag das Synology Protokoll-Center erreicht, wird dieser auf die gemachte Eingabe durchsucht. Wenn die Phrasen übereinstimmen, wird eine Benachrichtigung ausgelöst und ihr erhaltet sofort eine entsprechende E-Mail oder Push-Notification.

Mit der oben genannten Phrase durchsucht Synology unabhängig von Client-MAC-Adresse und Access Point euer gesamtes WLAN nach neuen Verbindungen. Immer wenn sich ein Endgerät erfolgreich mit euerem WLAN verbindet, bekommt ihr Meldung. So habt ihr immer den Überblick darüber, wer sich in euer WLAN eingeloggt hat.

So findet ihr heraus, ob sich jemand in dein WLAN gehackt hat!

Wollt ihr jetzt noch wissen, wer sich mit eurem WLAN verbinden möchte, aber mit falschem WLAN-Passwort? Dazu müsst ihr auch abgelehnte und fehlgeschlagene Verbindungsversuche auswerten. Dann werdet ihr jederzeit und in Echtzeit informiert, wenn jemand euer WLAN hackt oder unberechtigterweise benutzen möchte. Für UniFi habe ich dazu die passende Log-Meldung für euch analysiert! Und noch besser: Bei den meisten WLAN-Systemen erhaltet ihr per Syslog auch die MAC-Adresse des unberechtigten Endgerätes, sodass ihr das einen Angreifer recht gut identifizieren könnt. Doch Vorsicht: MAC-Adressen können auch einfach gefälscht werden.

Im Prinzip müsst ihr die oberen Schritte einfach wiederholen bzw. bei der Analyse der Log-Einträge auf eine andere Phrase achten. Bei UniFi ist der benötigte Log-Eintrag ein komplexer Datensatz, welcher leider Anführungszeichen beinhaltet. Genau diese Anführungszeichen sind für Synology ein Problem, denn Anführungszeichen dürfen leider nicht im „Stichwort enthält“-Feld bei den Benachrichtigungsregeln eingegeben werden. Wenn ihr also auch fehlgeschlagene Anmeldeversuche in eurem WLAN aufzeichnen wollt, müsst ihr den Syslog-Server von Synology zuerst etwas erweitern. Dazu empfehle ich Graylog, mit dem ich sehr gute Erfahrung gemacht habe.

Wenn der Log-Eintrag, welcher vom WLAN-Router bei fehlgeschlagenem Anmeldeversuch ins WLAN erzeugt wird, keine Anführungszeichen beinhalten würde, dann könnt ihr die Benachrichtigung bequem über das Synology Protokoll-Center einrichten. Fahrt dann mit Schritt 2 fort, Docker und Graylog benötigt ihr in diesem Fall nicht.

Schritt 1: Syslog-Server Graylog per Docker auf Synology installieren

Zur Erweiterung der vorhandenen Funktionen des Synology NAS empfehle ich das Docker-Zusatzpaket. Installiert es nach Anleitung, wie ihr es auch von anderen Zusatzpaketen gewohnt seid.

Folgt dann der sehr ausführlichen Anleitung von Graylog, um sowohl Graylog, MongoDB und Elasticsearch unter Docker zu installieren. Vergesst nicht, die Ports zu mappen und die Datenhaltung persistent zu gestalten!

Alternativ könnt ihr auch meiner eigenen Anleitung folgen und Graylog auf einem eigenen Webserver samt Debian 11 installieren. Der Artikel zeigt euch auch, wie Graylog konfiguriert werden muss, damit es die Syslog-Daten empfangen kann. Legt dazu einen Index, einen Input und den passenden Stream an. Wenn ihr die Syslog-Daten von UniFi in Graylog sehen könnt, dann fahrt mit dem nächsten Schritt fort.

Schritt 2: Fehlgeschlagenen Anmeldeversuch am WLAN erkennen

Nachdem ihr Graylog vorbereitet habt, müsst ihr fehlerhafte Anmeldeversuche in euer WLAN erzeugen. Dazu schnappt ihr euch ein Endgerät. Löscht die WLAN-Informationen für euer WLAN auf dem Gerät und startet einen neuen Verbindungsversuch mit falschem PSK, also falschem WLAN-Passwort. Falls ihr einen Radius-Server einsetzt, könnt ihr dort für ein Fehlschlagen der WLAN-Anmeldung von eurem Endgerät sorgen.

Erzeugte Log-Einträge, wenn die WLAN-Anmeldung bei UniFi fehlschlagt. Werdet ihr gerade gehackt?

Durchsucht die Log-Dateien im Anschluss auf Hinweise zu den fehlgeschlagenen Verbindungsversuchen. Für UniFi habe ich einen entsprechenden Eintrag für euch vorbereitet, welcher wirklich nur dann erzeugt wird, wenn eine WLAN-Anmeldung fehlschlägt. Ein reguläres Beenden der WLAN-Verbindung am Endgerät (DEAUTH) löst den Eintrag nicht aus.

,U6-Lite-6.0.21+13673: stahtd: stahtd[24361]: [STA-TRACKER].stahtd_dump_event(): {"auth_ts":"5718.484697","message_type":"STA_ASSOC_TRACKER","assoc_status":"0","mac":"xx:xx:xx:xx:xx:xx","auth_delta":"0","vap":"rai1","event_type":"failure","wpa_auth_failures":"1","assoc_delta":"10000","event_id":"10"}

Schritt 3: Alam per E-Mail versenden, wenn jemand euer WLAN hacken will

Wenn ihr euch die Log-Meldung von UniFi genau anschaut, dann könnt ihr die MAC-Adresse des Endgerätes entdecken, von welcher der Verbindungsversuch ausging. Das ist wichtig, um einen Angreifer eventuell zu identifizieren.

Für die Alarmierung per E-Mail müssen wir den Graylog-Filter aber so einstellen, dass er unabhängig der MAC-Adresse und des Access Points funktioniert. Denn ein Endgerät mit fehlerhaftem Anmeldeversuch werden wir wohl selten vorher bereits kennen.

Nutzt daher folgende Phrase, um per Graylog nach den fehlgeschlagenen Anmeldeversuchen im UniFi-WLAN zu suchen:

"\"event_type\"\:\"failure\",\"wpa_auth_failures\"\:\"1\""

Nun wird auch deutlich, woher die Anführungszeichen kommen, welche uns daran hindern, bequem beim nativen Protokoll-Center von Synology zu bleiben. Und auch in Graylog müssen Anführungszeichen sowie Doppelpunkte durch einen vorangestellten Backslash (\) escaped werden. Deswegen schaut oberer Phrase recht komplex aus.

Erstellt nun einen Alarm in Graylog, so wie ich es in Schritt 7 meiner Anleitung zu Graylog beschrieben habe, verwendet aber die obere Phrase! Aktiviert dann die E-Mail-Benachrichtigung und ihr werdet wieder in Echtzeit informiert, sobald jemand unbefugt euer WLAN nutzen möchte.

Blick in die Vergangenheit: Wer war in meinem WLAN? Wurde mein WLAN gehackt?

Mit Graylog könnt ihr sogar im Nachhinein auswerten, wer in eurem WLAN war oder ob euer WLAN gehackt wurde. Die Daten habt ihr ohnehin bereits im System! Ihr könnt Auswertungen erstellen und auch ein einfaches IDS-Dashboard ist möglich. IDS steht dabei für Intrusion Detection System.

Schlichtes IDS (Intrusion Detection System) mit Graylog

Das Vorgehen ist einfach: Legt euch zunächst ein neues Dashboard in Graylog an. Dies könnt ihr unter dem entsprechenden Menüpunkt im Hauptmenü. Unter „Dashboards“ findet ihr dazu den großen Button „Create news dashboard“ oben rechts.

Dann nutzt ihr am linken Bildschirmrand das Plus-Icon, dort wählt ihr dann unter „Predefined Aggregation“ einfach „Message Count“ aus. Graylog legt dann ein Widget an, welches die Anzahl der Log-Einträge zählt. Später werden wir die Kriterien für die Zählung festlegen, sowie die Darstellung im Widget. Wiederholt den Vorgang, um direkt ein zweites Widget gleicher Art zu erzeugen.

Nun müsst ihr die Widgets so anpassen, dass ein Widget die erfolgreichen Anmeldungen der letzten 60 Minuten (oder anderer Zeitraum) anzeigt. Das zweite Widget soll die fehlgeschlagenen Verbindungsversuche in eurem WLAN der letzten 30 Tage anzeigen.

Dazu müsst ihr auf das Stift-Icon direkt am Widget klicken. Legt dann die Parameter wie in folgender Tabelle fest, um ein ähnliches Ergebnis wie in meinem Screenshot zu erhalten.

 WLAN-Anmeldungen (last 60 minutes)Fehlerhafte Anmeldeversuche WLAN (last 30 days)
Suchstring„rai1: Recv EAPOL-Key M4“„\“event_type\“\:\“failure\“,\“wpa_auth_failures\“\:\“1\““
Group ByRollout Columns: aktivieren Field: timestamp Interval: „Auto“ deaktivieren, 1 Days einstellen.
MetricsFunction: Count Field: – Name: Message CountFunction: Count Field: Select Name: Message Count
Sort
VisualizationType: Single Number Trend: aktivieren Trend Preference: NeutralType: Area Chart Show Event annotations: deaktivieren Interpolation: linear
Parameter zum Einstellen der Dashboard-Widgets in Graylog.

Lasst euch jederzeit die Vorschau anzeigen und überprüft die Ergebnisse. Wenn ihr zufrieden seid, dann bestätigt abschließend die gemachten Einstellungen per Knopfdruck. Sobald ihr beide Widgets konfiguriert habt, sollte euer Ergebnis meiner Darstellung recht ähnlich sein. Lediglich die Werte werden sich unterscheiden.

Vergesst nicht, euer Widget oben rechts in der Ecke abzuspeichern. Jetzt habt ihr jederzeit den direkten Überblick, was sich in eurem WLAN tut, wie viele Personen sich im WLAN angemeldet haben und ob euer WLAN gehackt wurde!