Das Böse ist immer und überall…

Dafür, dass ich ein unscheinbares Web betreibe, gibt es ein weltweites Gerangel von Piraten, die versuchen ein richtiges Login zu erraten.

Es ist einem von ihnen schon einmal gelungen einzudringen. Damals hat mich Werner darauf aufmerksam gemacht, dass von meinem Web viel Traffic ausgeht. Genau das ist das Ziel der Hacker. Sie missbrauchen ein erobertes Web, speichern dort ihre eigenen Webseiten (gut versteckt im Dateisystem) inklusive Downloadmaterial. Das Web selbst weist keine sichtbaren Fehler für Besucher und Administrator auf, aber der Hoster merkt es am Datenvolumen, dass etwas nicht stimmt.

Wöchentliche Angriffe

Eine Auswertung von Login-Versuchen zwischen 30.3. und 6.4.2020 ergibt die häufigsten 10 Angreifer:

IP Country Block Count
123.207.29.152 China 11883
221.235.184.90 China 10093
47.107.186.183 China 4131
162.144.204.146 United States 353
218.43.111.153 Japan 352
173.212.239.226 Germany 244
198.71.227.9 United States 198
198.71.228.44 United States 195
132.148.229.170 United States 192
148.66.146.19 Singapore 137

Die größte Zahl der Login-Versuche kam aus China.

Der Angreifer benötigt Usernamen und Passwort. für den Usernamen verwendet er gängige Wörter, wie man in der folgenden Tabelle sieht:

UsernameLogin AttemptsExisting User
franz-fiala-admin518No
admin368Yes
[login]222No
klubderfreunde139No
ewkil.at38No
alex28No
test19No
mygc_wpdev19No
scare!7No
admin1233No

Man sieht, dass die Angreifer verschiedene Usernamen ausprobieren, die vom Domänennamen abgeleitet werden oder die auf den voreingestellten Wert “admin” tippen – ein Anlass, diesen Namen gleich zu ändern. Die Bezeichnung “franz-fiala-admin” ist übrigens der Autorenname, mit dem alle Seiten und Beiträge verfasst worden sind, und das ist auch das primäre Angriffsziel. Diese Bezeichnung wird von WordPress automatisch erstellt und man findet sie in jedem Beitrag und jeder Seite des Autors. Man öffnet eine Seite mit “Seitenquelltext anzeigen” und sucht dort nach class=”author”. Dort findet man die Systemschreibweise des Autors (hier “franz-fiala.admin”):

<span class="entry-author-link" itemprop="author" ><span class="author"><span class="fn"><a href="http://klubderfreunde.at/author/franz-fiala-admin/" title="Beiträge von FranzF" rel="author">FranzF</a></span></span></span>

Username

Die Abwehrstrategie muss es also sein, Usernamen zu verwenden, die ein Angreifer nicht erraten kann, denn dann muss er eine doppelte Hürde überwinden: den Usernamen und das Passwort. Daher:

  • Tipp1: Alle nicht benötigten User löschen, sie wären ein mögliches Angriffsziel.
  • Tipp2: Usernamen sollen keinen Zusammenhang zum Domänennamen oder zum Webtitel oder einem Seitennamen haben.
  • Tipp3: Der Username sollte nicht dem Autorennamen entsprechen.
  • Tipp4: Den voreingestellten User “admin” jedenfalls umbenennen oder löschen.

Passwort

Beim Anlegen eines Users kann man bei WordPress ein Passwort festlegen, wenn man nicht das sehr komplexe verwenden will, das WordPress anbietet. Wörter bis 6 Zeichen werden als “ganz schwach”, bis 8 Zeichen als “schwach”, bis 10 Zeichen als “mittel” und darüber als “stark” eingestuft. Bei Zeichenwiederholungen verschieben sich diese Grenzen nach oben. “Apfelstrudel” als Passwort wäre “mittel”, “Apfelstrudeln” wäre zwar grammatikalisch falsch, aber WordPress bewertet das Wort als “stark”. Zahlen und Zeichen haben weniger Einfluss auf die Bewertung durch WordPress.

Für Passwörter gibt es praktische Datenbanken, die aus Einbrüchen vor vielen Jahren stammen. Der Angreifer probiert also nicht unbedingt alle Kombinationen aus Zahlen, Buchstaben und Zeichen aus, sondern versucht es (wahrscheinlich) zuerst mit bekannten Passwörtern, die schon in anderen Zusammenhängen verwendet worden sind.

Beim Passwort sollte man – abgesehen von einer ausreichenden Länge und Komplexität – darauf achten, dass sich das Passwort nicht in einem dieser Verzeichnisse der kompromittierten Passwörter befindet, denn diese Liste würde ein Angreifer jedenfalls abarbeiten, bevor er systematisch ans Werk geht. Hier kann man das prüfen: https://haveibeenpwned.com/Passwords

Seit einem Einbruch, der möglicherweise durch Raten des Passworts möglich wurde, habe ich mich mit dem Tool Wordcence “bewaffnet”, das solche Attacken registriert und abblockt und auch noch weitere Hilfen anbietet.

WordFence

Wordfence ist ein Sicherheits-Plugin, das auch ohne seine kostenpflichtige Premium-Funktion gute Dienste bei der Abwehr von Angriffen leistet. Das Plugin wird weltweit in mehr als drei Millionen Websites verwendet und ist das am häufigsten angewendete Sicherheits-Plugin.

Worfence bietet einen

  • Scan nach Schadsoftware,
  • Blockieren von Angriffen,
  • Blockierung von Ländern,
  • Darstellung der Zugriffe,
  • Login-Sicherheit (2-Faktor Authentizierung auch ohne Premium),
  • Import/Export von Einstellungen zu anderen Webs,
  • Integriertes Whois Lookup,
  • Umfangreiche Diagnose-Seite,
  • Wordfence Central (gemeinsame Verwaltung mehrer Web),
  • Benachrichtigung durch Push-Mails,
  • Dashboard,
  • Firewall (nur Premium).

WordFence muss man nicht unter Werkzeug oder Einstellungen suchen, denn es generiert einen eigenen Menü-Punkt:

Dashboard

So meldet sich das Dashboard von Wordfence:

Die gelb angemerkten Stellen fordern Aufmerksamkeit. Oft geht es aber darum, dass man in verschiedenen Details mehr Sicherheit mit der Kaufversion erreichen könnte.

Trotz umfangreicher Einstellmöglichkeiten, genügt es, Wordfence zu installieren. Was man tun sollte:

  • eine E-Mail-Adresse für Push-Nachrichten angeben
  • einen Scan ausführen und eventuellen Problemen nachgehen
  • 2FA (Zwei-Faktor-Authentizierung) aktivieren

Sollte ein Scan ergeben, dass es massive Veränderungen an WordPress-Dateien gibt, gibt, bitte beim Clubbüro melden, wir werden versuchen, das Web zu säubern und WordPress neu zu installieren.

Wordfence Central

Man kann mehrere Webs in einer von Wordfence angeboteten Webseite gemeinsam administrieren.

Tools

Man kann das aktuelle Protokoll aller Zugriffe in Echtzeit mitverfolgen und verdächtige IPs mit einer integrierten Whois-Abfrage analysieren. Einstellungen können exportiert werden, um sie in anderen Webs zu importieren. Sehr beeindruckt hat mich die übersichtliche Diagnosefunktion, die jeden Winkel von WordPress “ausleuchtet”.

Wenn man die einzelnen Zugriffe verfolgt, würde man sich die Firewall-Funktion wünschen – leider nur in der Bezahl-Version – mit der man auch Länder vom Zugriff aussperren kann. Sperrt man zum Beispiel China, hätte man einen großen Teil unerwünschter Besucher ausgeschlossen.

Protokolle

Wordfence generiert regelmäßige Protokolle, die den Administrator warnen oder ihn zum Handeln auffordern.

2FA (Zwei-Faktor-Authentizierung)

Die Aktivierung der Zwei-Faktor-Authentizierung sichert ein Web gegen Angriffe perfekt ab. Wordfence bietet diese Sicherheitsstufe kostenlos an, und man sollte sie nutzen.

Um die Zwei-Faktor-Authenizierung benutzen zu können, benötigt man eine zugehörige App am Handy. Ich verwende den Microsoft Authenticator.

Die Authenticator-App meldet sich am Handy mit folgendem Symbol:

Um eine Verbindung zwischen Wordfence und der Authenticator-App herzustellen, wählt man in WordpPress Dashboard -> Wordfence -> Login Security

Den QR-Code links scannt man mit der Authenticator-App, den Code, den die App danach generiert, gibt man in das Feld rechts unten ein (“123456”). Die Recovery Codes kopiert man und speichert an einem sicheren Ort, für den Fall, dass man keinen Zugang zur Authenticator App hat.

In der Authenticator-App am Handy geht man auf Einstellungen -> Konto hinzufügen -> Anderes Konto und wird aufgefordert, den angebotenen QR-Code (oberes Bild) zu scannen. Man erhält eine 6-stellige Zahl, die man in Wordfence eingibt. Damit ist die Installation abgeschlossen.

Meldet man sich nun an WordPress an, beginnt die Anmeldung zuerst wie gewohnt:

Erste Phase der Anmeldung

Das folgende Fenster verlang nach einem Code. Jetzt öffnet man die Authenticator App am Handy und überträgt die dort angezeigte 6-stellige Zahl in die Maske von WordPress.

Zweite Phase der Anmeldung

Fertig!

Wer sich häufig in seiner Webseite an- und abmeldet, kommt bald auf die Idee, die 2-Faktor-Authentizierung wieder auszuschalten, weil die zusätzliche Eingabe einer Zahl den Vorgang verkompliziert. Das sollte man nicht tun, sondern besser die zahlreichen Konfigurationsmöglichkeiten dieser Anmeldung studieren, denn es gibt einige Vereinfachungsmöglichkeiten.

  • 2FA für Benutzergruppen (Administrator, Editor, Author, Contributor, Subscriber) ein- oder ausschalten
  • 2FA für Administratoren erzwingen
  • 2FA erst nach 30 Tagen wieder anfordern
  • 2FA für bestimmte IP-Adressen ausschalten

Titelbild

Das Titelbild wurde mit Inkscape erstellt. Es besteht aus dem vektorisierten Wordfence-Logo und einem WordPress-Logo (Zeichen F411 aus dem Zeichensatz Font Awesome 5 Brands Regular). Die beiden Bilder wurden übereinander gelegt und mit der Funktion Pfad -> Exklusiv Oder verknüpft.

Links

Wordfence (Homepage)