Zwei-Faktor-Authentifizierung (2FA) für WordPress

Mit der Zwei-Faktor-Authentifizierung über den Google 2FA Authenticator kann die Sicherheit der WordPress Website erhöht werden. Unbefugte können sich auch mit Kenntnis von Benutzername und Kennwort nicht mehr so leicht Zugang zum WordPress Account verschaffen.

Warum eine Zwei-Faktor-Verifizierung?

Die Einrichtung einer Zwei-Faktor-Authentifizierung ermöglicht es, die Sicherheit von Online-Konten zu erhöhen. Neben Benutzername und Password wird damit eine zweite Komponente für den Login erforderlich, meistens in Form eines sechsstelligen Bestätigungscodes.

Das Two Factor Authentication Plugin

WordPress und besonders der zu schützende WordPress Admin-Account, kann mit einer Zwei-Faktor-Authentifizierung zusätzlich gesichert werden. Es stehen hierzu eine Reihe von Plugins zur Verfügung.

Sichere WordPress-Anmeldung ermöglicht das WordPress Plugin „Two Factor Authentication“. Mit OTP Token über den Google 2FA Authenticator, diesen Token man für WordPress verwendet. Die Benutzer die 2FA aktivieren, benötigen einen einmaligen Code, damit sie sich weiterhin anmelden können.

Um das Plugin nutzen zu können, wird eine OTP (One-Time-Password) App für das Smartphone benötigt, komfortabel geht es mit dem weit verbreiteten Google Authenticator, die App es für Android hier gibt und für das iPhone hier. Alternative bietet sich die Authy (2FA) App an.

Nachdem das Plugin in WordPress installiert ist, aktiviert man 2FA für den authentifizierten Benutzer, mit Klick auf Aktiviert bei „Aktiviere Zwei-Faktor-Authentifizierung“ und scannt anschliessend den QR-Code mit dem privaten Schlüssel ein, dazu öffnet man die OTP App auf dem Smartphone und drückt auf das Plus (+) unten rechts, dann scannt man den QR-Code. Nach dem Aktivieren wird für den angemeldeten Benutzer-Account das Einmal-Passwort mit der nächsten Anmeldung angefordert, der sechsstellige Bestätigungscode erscheint im Google Authenticator auf dem Smartphone.

2fa google authenticator mit WordPress Plugin Two Factor Authentication

In den Two Factor Authentication Administrator-Einstellungen können Benutzerrollen gewählt werden, weitere Optionen gibt es in der Premium Version.

WordPress Plugin Two Factor Authentication Administrator-Einstellungen

Wichtig! Wechselt man von einem Mobilen Gerät zu einem anderen, auf diesem Google Authenticator genutzt wird, zeigt die Anleitung hier was zu beachten ist, und wie man für den Umzug vorgehen muss.

Die Google 2FA Authenticator App kann aus dem Store auf das Handy oder Tablett geladen werden, mit abfotografieren des untenstehenden QR-Code für Apple und Android Geräte.

Google Authenticator AppleGoogle Authenticator Android
Google Authenticator Apple Google Authenticator Android

Maximum Transmission Unit (MTU) mit Ping Prüfen

Die MTU mit Ping auf dem Übertragungsweg prüfen, wird das ICMP Paket fragmentiert, ist die maximale MTU eines Pfades überschritten.

Die Maximum Transmission Unit beschreibt die maximale Paketgröße eines Protokolls in der Vermittlungsschicht des OSI-Modells, welche ohne Fragmentierung der Frames in der Sicherungsschicht in Netzwerke übertragen werden kann. Diese Paketgröße passt in die Nutzlast (Payload) des Protokolls der Sicherungsschicht.

Festlegen der optimalen MTU-Größe für Router

Um die MTU eines Pfades zu Prüfen, muss man an Ping den Parameter -f übergeben, um das „don’t fragment bit (DF-Bit-Set)“ für die ICMP Testpakete im IPv4-Header zu setzen, erst dann erhält man eine Nachricht, falls die MTU überschritten wird.

ICMP Paket und MTU Size

ICMP Paket und Maximum Transmission Unit (MTU), MTU ping ICMP Paket fragmentiert

Eine Windows Eingabeaufforderung öffnen und Ping ausführen, um die MTU-Größe eines Pfades zu ermitteln.

Der Parameter -f legt fest das die Pakete nicht fragmentiert werden.
Die Größe des Sendepuffers wird mit -l angegeben.

C:\> ping -4 -f 1.1.1.1 -l 1473

Ping wird ausgeführt für 1.1.1.1 mit 1473 Bytes Daten:
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.
Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.

Ping-Statistik für 1.1.1.1:
    Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4
    (100% Verlust),

Wie die oben ausgeführten Ergebnisse zeigen, müssten die Pakete fragmentiert werden. Würde der Parameter -f ausgelassen, würde Ping antworten mit Fragmentierung, was wir jedoch gezielt nicht möchten.

MTU überschritten ICMP Ping wird fragmentiert

Wenn man als Antwort „Paket müsste fragmentiert werden, DF-Bit-Set ist jedoch gesetzt.“ bekommt, hat die ICMP Ping-Anforderung die maximale MTU überschritten.

  Am besten ist es, Ping mit MTU-Wert stufenweise zu verringern, in Zehnerschritten +/-10 (zB. 1472, 1462, 1440, 1400) bis eine Paketgröße erreicht wird, und die Antworten empfängt ohne das ICMP Ping Pakete fragmentiert werden.

C:\> ping -4 -f 1.1.1.1 -l 1472

Ping wird ausgeführt für 1.1.1.1 mit 1472 Bytes Daten:
Antwort von 1.1.1.1: Bytes=1472 Zeit=7ms TTL=56
Antwort von 1.1.1.1: Bytes=1472 Zeit=9ms TTL=56
Antwort von 1.1.1.1: Bytes=1472 Zeit=8ms TTL=56
Antwort von 1.1.1.1: Bytes=1472 Zeit=6ms TTL=56

Ping-Statistik für 1.1.1.1:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 6ms, Maximum = 9ms, Mittelwert = 7ms

Die oben ausgeführten Ergebnisse zeigen an, dass die Pakete nicht fragmentiert werden.

MTU Größe ICMP Ping ist fragmentiert

Um nun die richtige MTU-Größe zu bekommen, nimmt man 1472 und addiert 28 dazu. Beim obigen Beispiel ist 1472 der richtige Wert, und die Größe 1500 für das Netzwerk in dem man arbeitet.

  Berechnung: 8 Bytes für den ICMP-Header + 20 Bytes für den IP-Header + 1472 Bytes für den ICMP-Payload:  8 + 20 + 1472 = 1500

Das Control Message Protocol Protokoll (ICMP) im Layer 3 der Netzwerkschicht, das vom Ping zum Senden einer Nachricht über die ICMP-Nutzlast (Payload) verwendet wird, die mit dem IP-Header gekapselt ist. Die MTU darf die Größe des ICMP-Pakets von 1500 Byte nicht überschreiten.

ICMP Paket Network layer

IP headerICMP headerICMP payload size  MTU (1500)
20 bytes8 bytes1472 bytes
(maximum)
20 + 8 + 1472 = 1500
Ethernet
header
IP headerICMP headerICMP payload size  MTU (1514)
1420 bytes8 bytes1472 bytes
(maximum)
14 + 20 + 8 + 1472 = 1514

Hinweis. Die Standardgröße der ICMP-Nutzlast beträgt 32 Byte und das Maximum ist 1472. Wenn die Größe des Nutzlastpakets größer als 1472 ist, wird das Paket in kleine Pakete fragmentiert.

ICMP Paket dekodierung mit Wireshark

Wireshark ICMP Echo Request, MTU ping wird fragmentiert

Das ICMP Paket das von der Quellmaschine gesendet wird, ist eine Echoanforderung. In der Abbildung ist zu sehen, das mit ICMP-Abfragecode 8 auf die Ping-Anforderung geantwortet wird.

Ping mit DF-Bit-Set für Linux Shell und macOS Terminal

Linuxping -M do -s 1472 1.1.1.1
macOSping -D -s 1472 1.1.1.1
Ping mit DF-Flag (ohne fragmentierung)

Im Terminal den Linux ping mit DF-Bit-Set für keine Fragmentierung.

$ ping -M do -s 1473 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 1473(1501) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500
^C
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 31ms

Typische MTU-Größen ping ICMP fragmentiert

MediumMTU in Bytes
Ethernet1500
PPPoE1492
VPN gekapselt1420
ATM4500