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.

bsnes unter elementaryOS installieren

Unter elementaryOS kann bsnes leider nicht ohne weiteres aus den offiziellen Paketquellen installiert werden. Es befindet sich nur Higan in diesen. Higan entstand aus bsnes und aus diesem wiederum bsnes in seiner neusten Inkarnation. Über Flatpak und das entsprechende Repository Flathub kann bsnes trotzdem installiert werden. Dazu muss dieses im Terminal aktiviert werden und anschließend das bsnes-Paket installiert werden:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub dev.bsnes.bsnes

Nachdem die Anweisung für die Installation abgeschickt wurde, muss die Installation einmal bestätigt werden:

Looking for matches…

dev.bsnes.bsnes permissions:
    ipc      network      pulseaudio      x11     devices     file access [1]     dbus access [2]

    [1] home:ro
    [2] org.a11y.*


        KENNUNG                 Zweig          Op         Remote          Download
 1.     dev.bsnes.bsnes         stable         i          flathub         < 4,5 MB

Proceed with these changes to the system installation? [Y/n]: 

Danach wird bsnes installiert und kann anschließend genutzt werden. Das offizielle Repository von bsnes ist auf GitHub zu finden, die entsprechende Webseite unter bsnes.dev.

AnyDesk als TeamViewer-Alternative

Die Weihnachtszeit ist ja bekanntlich die Zeit im Jahr, in welcher die Eltern besucht werden und die IT wieder auf Vordermann gebracht wird. Für die schnelle Hilfe zwischendurch gibt es allerdings auch andere Lösungen. Früher habe ich dafür immer gerne TeamViewer genutzt, allerdings ist die Software mit der Zeit nicht unbedingt besser geworden und vor allem unter Linux fühlte sich das Ganze ziemlich unschön an. Auf der Suche nach Alternativen bin ich schlussendlich bei AnyDesk gelandet.

AnyDesk unter macOS

Die Firma hinter AnyDesk, die AnyDesk Software GmbH aus Stuttgart, wurde 2014 von einigen ehemaligen TeamViewer-Mitarbeitern gegründet. Für den persönlichen Gebrauch ist AnyDesk kostenfrei, sodass der Anwendungsfall für gelegentliche Hilfe unter Freunden und Verwandten problemlos abgedeckt werden kann. Die Software läuft nativ unter Linux, macOS, Windows, iOS und Android. Damit steht einem betriebssystemübergreifenden Support nichts im Weg steht. AnyDesk kann über die offizielle Webseite unter anydesk.com bezogen werden.

Steam unter elementaryOS 6 installieren

Die Spieleplattform Steam kann auch unter elementaryOS 6 (Odin) installiert werden. Der einfachste Weg führt hierbei über Flatpak. Dazu muss im ersten Schritt das Terminal geöffnet werden:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.valvesoftware.Steam

Damit beginnt die Installation von Steam, bis es zu einer entsprechenden Nachfrage kommt:

Required runtime for com.valvesoftware.Steam/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/21.08) found in remotes:

   1) flathub
   2) freedesktop

Was wollen Sie installieren (0 zum Abbrechen)? [0-2]: 1

Hier sollte flathub gewählt werden und damit wird die Installation fortgeführt. Nach ein paar Minuten ist Steam installiert und kann gestartet werden. Beim ersten Start aktualisiert sich Steam, bis schließlich die Anmeldemaske erscheint.