TYPO3-Backend absichern
Das TYPO3-Backend ist ein besonders lohnendes Ziel für Angreifer, weshalb ein Passwort allein heute meist nicht mehr genügt. Der Artikel zeigt, wie starke Authentifizierung, 2FA und technische Schutzmassnahmen das Backend wirksam absichern.
Eine klassische TYPO3-Installation besteht aus einem Frontend und dem Backend. Das Frontend bildet die für Nutzer:innen sichtbare Website ab, während im Backend deren Inhalte angepasst werden können. Für potenzielle Angreifer ist daher die Kompromittierung des Backends besonders attraktiv. Manchen geht es dabei schlichtweg darum, die Website zu defacen – was so viel heisst wie die Website durch eigene Inhalte zu verunstalten. Wieder andere können die positive Reputation einer Website dafür missbrauchen, eigene Schadware weiter zu verteilen.
Das Passwort als minimale Authentifizierung
Das Passwort ist die Mindestanforderung für Backend-Benutzer:innen, um sich zu authentifizieren. Wenn man also einen Benutzernamen und dessen Passwort in Erfahrung bringt, erhält man Zugriff auf das TYPO3-Backend. Benutzernamen lassen sich oft relativ simpel enumerieren; häufig sind es einfache Dinge wie «admin» oder «administrator». Ausserdem ist es für einen potenziellen Angreifer leicht, auf einer Teamseite die Namen der Mitarbeitenden zu finden und daraus mögliche Benutzernamen zu konstruieren, z. B. «vorname.nachname». Mit diesem Wissen fehlt nur noch das Passwort.
Wie knackt man ein TYPO3-Passwort?
Um zu verstehen, warum Passwörter allein nicht mehr ausreichen, müssen wir zuerst verstehen, wie man sie bricht. Es gibt mehrere Methoden, ein Passwort zu einem Benutzernamen zu finden; im Folgenden die gängigsten.
01 – Social Engineering und Spear-Phishing
Unter Social Engineering versteht man das Ausnutzen von Naivität. Jemand ruft an und gibt sich als Techniker:in der Supportfirma XY aus: Er oder sie müsse dringend ein Update installieren und benötige daher das Passwort. Das klingt stumpf, funktioniert in der Realität aber beeindruckend oft. Menschen neigen in der Arbeitswelt dazu, zu helfen. Genau dieser Fakt wird ausgenutzt. Wenn das Ganze per E-Mail stattfindet, spricht man von Spear-Phishing: Dabei wird gezielt eine Person oder ein Unternehmen angegriffen. Beispielsweise könnte eine gefälschte E-Mail eines Vorgesetzten eintreffen mit der Aufforderung, etwas im TYPO3-Backend anzupassen. Mitgesendet wird ein Link, der angeblich direkt zum Element im Backend führt. Tatsächlich landet man auf einer gefälschten Login-Seite, die 1:1 wie die originale TYPO3-Login-Seite aussieht. Gibt man Benutzername und Passwort ein, werden die Daten an den Angreifer übermittelt.
Quellen: NCSC: Social Engineering, Kaspersky: Spear-Phishing
02 – Dictionary Attack
Wenn ein Angreifer unauffälliger agieren möchte und nicht mit dem Opfer in Kontakt treten will, gibt es technische Methoden, um ein Passwort zu knacken. Beliebt sind sogenannte Dictionary Attacks. Dabei wird eine kuratierte Liste möglicher Passwörter durchgearbeitet. Ein Programm probiert jedes Passwort aus und analysiert anschliessend, ob der Login erfolgreich war. Bei geringer Latenz zum Server und spezialisierter Angreifersoftware schafft ein Angreifer gut und gerne 100 bis 200 Logins pro Sekunde. Das bedeutet: Eine Liste mit den 10.000 am häufigsten genutzten Passwörtern ist in unter zwei Minuten durchprobiert. Wenn das keinen Erfolg hat, gibt es Software, die Dictionary-Listen generieren kann, die auf eine Person zugeschnitten sind. Wenn man zum Beispiel über Social Media herausfindet, dass sich die Zielperson für Fussball interessiert, lässt sich eine Liste mit Spielern und Vereinen erstellen, die potenziell als Passwort dienen könnten.
SecLists: 10k most common passwords
03 – Bruteforce Attack
Eine Bruteforce-Attacke hat theoretisch eine 100 % Erfolgsgarantie. Jedes Passwort lässt sich irgendwann finden. Das Problem ist die Zeit. Bruteforce bedeutet sinngemäss rohe Gewalt: Es wird jede mögliche Zeichenkombination ausprobiert. Bei einer vierstelligen PIN, zum Beispiel 0000, 0001, 0002 … 9999, bis der richtige gefunden ist. Eine vierstellige PIN ist in Sekunden bis Minuten geknackt.
Daher müssen Passwörter eine Mindestlänge und einen ausreichend grossen Zeichensatz (Zeichenraum) haben. Der Zeichenraum ist die Anzahl möglicher Zeichen pro Position: nur Zahlen → 10, nur Kleinbuchstaben → 26, Gross- und Kleinbuchstaben → 52. Kombiniert man zusätzlich Sonderzeichen, liegt man schnell bei über 90 möglichen Zeichen. In Kombination mit der Passwortlänge steigt der Aufwand exponentiell. In der Praxis wird der Angriff dadurch unattraktiv.
Beispielhafte Grössenordnungen (sehr abhängig von Hash-Verfahren, Rate-Limits und Angriffsszenario):
- 4 Zeichen: nur Zahlen ca. 1 Minute; Kleinbuchstaben+Zahlen ca. 4 Stunden; mit gross/klein+Zahlen+Sonderzeichen ca. 22 Tage.
- 6 Zeichen: nur Zahlen ca. 18 Stunden; Kleinbuchstaben+Zahlen ca. 156 Tage; erweitert ca. 442 Jahre.
- 8 Zeichen: nur Zahlen ca. 76 Tage; Kleinbuchstaben+Zahlen ca. 555 Jahre; erweitert ca. 3,9 Mio. Jahre.
- 12 Zeichen: nur Zahlen ca. 2.114 Jahre; Kleinbuchstaben+Zahlen ca. 930 Mio. Jahre; erweitert ca. 314 Billionen Jahre.
Schutz gegen Dictionary- und Bruteforce-Angriffe via Rate-Limiting
Aus technischer Sicht gibt es einen wirksamen Schutz gegen Dictionary- und Bruteforce-Angriffe: das Limitieren von Versuchen pro IP. Eine IP identifiziert vereinfacht einen Client. Wenn von einer IP tausende Loginversuche kommen, werden diese nach einer Schwelle abgelehnt. Praktisch sieht das so aus, dass man nach zum Beispiel fünf Fehlversuchen einige Minuten warten muss, bevor man es erneut probieren darf. Das entschleunigt Angriffe erheblich. Aus Sicht des Angreifers gibt es allerdings die Option, Proxies zu nutzen: Zwischenstationen, die die ursprüngliche IP verbergen und eine eigene IP mitsenden. Erreicht ein Angreifer das Rate-Limit, wechselt er einfach zur nächsten Proxy-IP und umgeht so die Wartezeit.
Fazit zu Passwörtern
Passwörter funktionieren als wirksamer Schutz nur noch, wenn sie ausreichend lang und/oder komplex sind. In der Praxis kann man jedoch nur begrenzt sicherstellen, was Nutzer:innen tatsächlich verwenden. Ist ein Passwort in gängigen Passwortlisten enthalten, ist ein erfolgreicher Angriff wahrscheinlich. Daher ist es sinnvoll, zusätzlich ein 2FA-Verfahren zu aktivieren, um nicht allein vom Passwort abhängig zu sein.
Meistens handelt es sich dabei um Time-based One-time Passwords (TOTP). Das ist ein kurzes Einmalpasswort, das sich alle paar Sekunden ändert. Damit verhindert man, dass sich ein Angreifer selbst mit erbeutetem Passwort einloggen kann. Da sich der Code ständig ändert, sind klassische Dictionary- oder Bruteforce-Angriffe auf den zweiten Faktor praktisch nicht möglich.
IP-Whitelist
Viele Firmennetzwerke bekommen von ihrem Provider einen statischen IP-Block, also einen IP-Adressraum, der fix einem Unternehmen zugeordnet ist, zum Beispiel 1.2.3.1–255. In diesem Fall lässt sich eine IP-Whitelist definieren. Damit stellt man sicher, dass sich ein Nutzer nur ins Backend einloggen kann, wenn der Zugriff aus diesem IP-Adressbereich erfolgt. Allen anderen wird der Login verweigert.
Der Nachteil: Ein Login ins TYPO3 ist dann nicht ohne Weiteres von anderen Standorten möglich. Im Homeoffice müsste man sich zum Beispiel zuerst via VPN mit dem Firmennetzwerk verbinden, damit der Login wieder funktioniert. Der Vorteil ist, dass sich die Angriffsfläche für Angreifer stark reduziert. Ein Angriff ist nur noch möglich, wenn sich der Angreifer im Firmennetzwerk befindet oder dieses bereits kompromittiert hat und den Angriff von dort ausführt.
Abschliessendes Fazit
Das TYPO3-Backend ist der zentrale Steuerpunkt der Website und damit ein besonders lohnendes Ziel für Angreifer. Ein starkes Passwort ist zwar notwendig, reicht allein aber häufig nicht mehr aus – insbesondere, weil Benutzernamen oft erratbar sind und Passwörter durch Phishing, Wiederverwendung oder automatisierte Angriffe kompromittiert werden können. In der Praxis entsteht robuste Sicherheit daher erst durch eine Kombination aus Massnahmen: 2FA (idealerweise TOTP) als zusätzlicher Faktor, Rate-Limiting und Monitoring zur Erkennung und Verlangsamung automatisierter Login-Versuche sowie, wo organisatorisch möglich, eine IP-Whitelist beziehungsweise der Zugriff über VPN. Je weniger Angriffsfläche das Backend bietet und je stärker die Anmeldung gegen Missbrauch abgesichert ist, desto geringer ist das Risiko von Defacement, Datenabfluss oder dem Missbrauch der Website zur Schadware-Verteilung.
