Fail2ban für WordPress einrichten

Beim Betrieb eines Servers wird der Nutzer schnell feststellen, dass er nicht der einzige ist, der gerne Zugriff auf den Ser­ver hätte. Um zu häu­fige Log­in­ver­su­che abzu­blo­cken, gibt es Fail2ban. Die­ses Pro­gramm­pa­ket durch­sucht die ent­spre­chen­den Logs und blockiert bös­wil­lige Ver­su­che, in das Sys­tem ein­zu­bre­chen. Damit gehört Fail2ban zu den Intru­sion Preven­tion-Sys­te­men. Damit kann es auch zur Auswertung von Login-Versuchen auf die eigenen WordPress-Installationen genutzt werden. Wer in die Logs schaut, wird dort ähnliche Zeilen finden:

18.217.216.181 – – [23/Nov/2021:19:32:40 +0100] „POST /wp-login.php HTTP/1.1“ 200 8408 „https://seeseekey.net/wp-login.php“ „Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0“

Um WordPress mit Fail2ban zu verheiraten muss ein einsprechender Jail und ein Filter angelegt werden. Was mich im Vorfeld in Bezug auf WordPress irritierte war der Statuscode 200, wenn ein Login in WordPress fehlschlägt. Hintergrund ist hier das WordPress bei einem erfolgreichen Login stattdessen den Statuscode 302 (Found) nutzt. Damit kann im ersten Schritt der Jail für Fail2ban erstellt werden:

nano /etc/fail2ban/jail.d/wordpress.conf

Diese Datei wird nun wie folgt befüllt:

[wordpress]
enabled = true
port = http,https
filter = wordpress
logpath = /var/log/nginx/access.log
maxretry = 3

Anschließend muss der genutzte Filter ebenfalls angelegt werden:

nano /etc/fail2ban/filter.d/wordpress.conf

Der entsprechende Filter sieht wie folgt aus:

# Filter for WordPress login

[INCLUDES]

before = common.conf
 
[Definition]

failregex = <HOST>.*POST.*(wp-login\.php|xmlrpc\.php).* 200

datepattern = %%d/%%b/%%Y:%%H:%%M:%%S %%z

Nach einem Neustart von Fail2ban mittels:

service fail2ban restart

ist der neue Jail aktiv. Über das Log kann die Arbeit desselben betrachtet werden:

tail -f /var/log/fail2ban.log

Damit sind die WordPress-Installationen gegen den Versuch unbefugter Logins besser abgesichert. Nach drei Fehlversuchen, wird die entsprechende IP-Adresse gesperrt, sodass weitere Verbindungsversuche von dieser IP-Adresse vom Server nicht mehr beantwortet werden.

Software unter Windows über die Kommandozeile installieren

Linux hat seinen Paketmanager, macOS hat Homebrew – unter Windows sieht es etwas mau aus, was die Installation von Applikationen auf der Kommandozeile angeht. Mittels des Werkzeuges Scoop kann dies allerdings geändert werden. Nach der einmaligen Installation von Scoop können über dieses Werkzeug Applikationen über die Kommandozeile installiert werden:

scoop install curl

Die Applikationen werden im Benutzerverzeichnis des angemeldeten Nutzers installiert, sodass keine administrative Berechtigungen für die Installationen benötigt werden.

scoop.sh

Die offizielle Seite des Projektes ist unter scoop.sh zu finden. Der Quelltext von Scoop ist auf GitHub zu finden und Freie Software. Er ist unter der The Unlicense-Lizenz lizenziert.

Lizenzhinweisgenerator für die Wikipedia und Commons

Wer Inhalte aus der Wikipedia oder der Wikimedia Commons nutzen möchte, sollte sich natürlich auch an die entsprechenden Nutzungsbedingungen der freien Lizenzen halten. Damit dies leicht von der Hand geht, gibt es ein passendes Werkzeug dafür: den Lizenznachweisgenerator.

Der Lizenzhinweisgenerator

Mithilfe des Generators ist es möglich, schnell einen entsprechenden Lizenzhinweis zu erstellen, um diesen anschließend zu nutzen. Dieser wird anhand der entsprechenden Lizenz (z. B. einer Creative Commons-Lizenz) des Inhaltes passgenau erstellt. Zu finden ist der Generator unter lizenzhinweisgenerator.de. Der Quelltext des Generators befindet sich auf GitHub, ist unter der GPL3 lizenziert und damit Freie Software.

Diese Person existiert nicht

Neuronale Netze und Deep Learning sind aus unserer heutigen Welt nicht mehr wegzudenken. Auf der Webseite This Person Does Not Exist welche auf Generative Adversarial Networks basiert, kann sich angeschaut werden, was diese Netzwerke unter anderem leisten können. Die Webseite generiert Fotos von Menschen, die in der Realität nicht gelebt haben.

Auch wenn es aussieht wie eine Fotografie, ist es keine

Zu finden ist die Seite unter thispersondoesnotexist.com. Dort sind auch entsprechende Verlinkungen zu finden zu anderen Generatoren von Katzenbildern bis hin zu Chemikalien. Der entsprechende Quellcode für das Netzwerk bzw. der Trainingsumgebung ist auf GitHub zu finden. Lizenziert ist das Ganze unter der Nvidia Source Code License und damit leider keine Freie Software.

Find My und das immer wiederkehrende Gerät

Im Jahre 2016 habe ich mir einen Mac Mini gekauft. Ein paar Jahre später habe ich diesen wieder verkauft. Natürlich wurden vorher alle iCloud-Funktionen deaktiviert und der Mac zurückgesetzt, bevor er auf die Reise ging.

Das letzte Gerät in der Liste ist zu viel des Guten

Nun fiel mir später ab und an auf das dieser Mac Mini unter einem anderem Namen unter Find My, oder wie es im Deutschen heißt Wo ist? auftauchte. Also habe ich ihn dort wieder entfernt. Und doch taucht er nach einer Weile wieder auf. Da dies ein wenig seltsam war; schaute ich nach, ob das Gerät noch mit meiner Apple-ID verbunden war. Dies war allerdings nicht der Fall. Nachdem ich das Problem noch eine Weile ignoriert habe, raffte ich mich dann doch mal auf und redete mit dem Apple Support. Der Chat war leider nicht sonderlich hilfreich, sodass ich auf einen Rückruf verwiesen wurde und mein Problem nochmal schildern dürfte. Nachdem mein Problem verifiziert wurde, erhielt ich die Aussage:

Das ist wirklich kein alltägliches Problem. Da muss ich ein paar Minuten recherchieren.

Nach der Recherche war die Vermutung des Supports das sich der neue Besitzer des Gerätes nie vollständig mit seiner Apple-ID angemeldet hat und somit das Gerät bei Find My immer wieder bei mir landet. Da es in diesem Moment dafür keine offensichtliche Lösung gab, wurde das Problem an die Entwicklungsabteilung gemeldet.

Ein paar Tage später wurde ich dann gebeten noch die Seriennummer des alten Mac Mini herauszusuchen. Dank einer alten Rechnung war dies problemlos möglich. Anschließend wurde mein iCloud-Account nach einer persönlichen Ansprache von Apple in den Eskalationsmodus geschaltet und nun hieß es wieder warten. Die persönliche Ansprache ergab sich dadurch das mir in einem vorbereiteten Text erklärt wurde; was mit dem iCloud-Account möglich ist, wenn er im Eskalationsmodus aktiviert wurde. Dieser Text ist im Übrigen komplett in der Du-Form verfasst.

Ein Mac Mini von 2009

Wieder einige Tage später gab es wieder einen Rückruf. Die Entwicklungsabteilung hat sich zurückgemeldet. Die Lösung. Es gibt keine. Die Kontaktierung des neuen Besitzers ist nicht möglich und ein Zurücksetzen des Rechners in den Verloren-Modus, damit sich der Käufer meldet, erscheint mir doch etwas unethisch. Damit meldet sich der Rechner immer wieder in meinem Find My-Konto an, obwohl der Rechner eigentlich nicht mit mir verknüpft ist.

So bliebt nur noch die vom Support vorgeschlagene Lösung zu warten bis das Gerät seinen Geist aufgibt und mit einer neuen Apple-ID verknüpft wird. So etwas wie eine Blacklist, auf Kundenwunsch für bestimmte Geräte, ist hier wohl leider nicht vorgesehen. Angenehm war allerdings wie professionell der Support bei Apple organisiert ist und das man doch das Gefühl hat, dass versucht wird einem zu helfen. In diesem Fall leider erfolglos.