TYPO3 Security Hardening Guide – Die besten Regeln für fertige Internet-Seiten

Dieser Text hilft Ihnen bei der Sicherheit von TYPO3. Wir erklären Einstellungen für den Server und das Programm. Wir zeigen Regeln für Erweiterungen. Und wir erklären, was Sie bei einem Angriff tun müssen. Mit Beispielen für die Einstellungen.

Auf einen Blick

  • Wichtige Regeln: Schalten Sie HTTPS (TLS 1.2+) ein. Stellen Sie trustedHostsPattern richtig ein. Schalten Sie die Fehler-Anzeige aus. Halten Sie die LTS-Version aktuell.
  • Nutzen Sie MFA für alle Admin-Konten. MFA ist eine doppelte Anmeldung. Schützen Sie das Install Tool. Nutzen Sie Rate Limiting. Das bremst zu viele Anmeldungen. Vergeben Sie nur wenige Rechte (PoLP-Prinzip).
  • Sicherheit ist eine gemeinsame Aufgabe. System-Admins, Entwickler und Redakteure müssen zusammenarbeiten.
  • Dieser Text erklärt Angriffe wie SQLi, XSS, CSRF und RCE. Er zeigt auch Hilfe für den Notfall.

Die Sicherheit von TYPO3 ist eine gemeinsame Aufgabe. Alle Personen müssen mithelfen. Das sind System-Admins, Entwickler und Redakteure. Dieser Text nutzt den offiziellen TYPO3 Security Guide . Der Text fasst alle wichtigen Regeln zusammen.

Letzte Änderung: 3. Dezember 2025. Mit TYPO3 v14.0 (Sprint Release).

Inhaltsverzeichnis  


Schnell-Checkliste  

Wir sortieren die Liste nach Wichtigkeit. Die wichtigsten Regeln kommen zuerst.

Sehr wichtig – Bitte sofort machen  

Wichtig – Anmeldung und Zugriff  

Mittel – Server und Struktur  

Pflege und Hilfe im Notfall  


TYPO3 Security Team 

Das TYPO3 Security Team kümmert sich um Sicherheits-Lücken. Das Team informiert alle Nutzer von TYPO3.

Aufgaben

  • Sicherheits-Meldungen annehmen und prüfen
  • Mit Entwicklern zusammenarbeiten
  • Warnungen und Updates veröffentlichen
  • Die Datenbank für Warnungen pflegen

Fehler melden

  • E-Mail: security@typo3.org (Verschlüsselung ist möglich)
  • Niemals öffentlich: Nutzen Sie keine GitHub-Issues. Nutzen Sie keine Forge-Tickets.
  • Geheime Meldung: Warten Sie gemeinsam auf das Update.
  • Anerkennung: Ihr Name steht später in der Warnung.
Wichtig: Keine öffentliche Diskussion

Sicherheits-Lücken dürfen Sie niemals öffentlich besprechen. Warten Sie immer auf ein offizielles Update. Sonst helfen Sie den Angreifern. Das gefährdet alle TYPO3-Seiten auf der Welt.


Versionen & Updates 

Sie müssen eine sichere TYPO3-Version wählen. Und Sie müssen regelmäßig Updates machen. Das ist sehr wichtig für die Sicherheit.

Dauer vom Support  

VersionTypNormaler SupportELTS verfügbarPHP-Version
TYPO3 14Sprint → LTS (April 2026)Bis ungefähr April 2029Ja (später)PHP 8.2+
TYPO3 13LTSBis Oktober 2027Ja (später)PHP 8.2+
TYPO3 12LTSBis April 2026Ja (später)PHP 8.1+
TYPO3 11LTSBeendetJa (kostet Geld)PHP 7.4–8.2
Sprint ReleasesEntwicklungKein SupportNeinunterschiedlich
TYPO3 v14 – Sprint Release verfügbar

TYPO3 v14.0 ist seit dem 25. November 2025 verfügbar. Die LTS-Version (v14.4) kommt im April 2026. Bis dahin können sich Einstellungen noch ändern. Sie brauchen PHP 8.2 oder neuer.

ELTS – Langer Support

Der normale Support endet irgendwann. Dann können Sie das ELTS-Programm kaufen. So bekommen Sie weiter wichtige Updates. Das ist sehr gut für alte Systeme.

Arten von Updates  

Maintenance Releases

  • Repariert kleine Fehler im System.
  • Macht kleine Verbesserungen.
  • Sie können diese Updates gut planen.
  • Beispiel: Version 12.4.10 → 12.4.11

Security Releases

  • Schließt sehr gefährliche Lücken.
  • Sie müssen diese sofort installieren.
  • Das Ziel ist innerhalb von 24 Stunden.
  • Sie erscheinen immer an einem Dienstag.
Security Releases: Keine Zeit verlieren!

TYPO3 ist Open-Source. Der Code ist für alle offen. Angreifer lesen den Code von neuen Updates. Sie bauen daraus schnell neue Angriffe. Installieren Sie Security Releases innerhalb von 24 Stunden.


Bedrohungen 

Sie müssen die häufigsten Angriffe kennen. Nur so können Sie TYPO3 gut schützen.


Allgemeine Richtlinien 

Diese Regeln gelten für alle Menschen im Projekt. Sie sind die Basis für die Sicherheit.

Passwort-Hygiene  

Anforderungen

  • Mindestens 12 Zeichen. Besser sind 16 Zeichen.
  • Nutzen Sie große und kleine Buchstaben.
  • Nutzen Sie Zahlen und Sonderzeichen.
  • Nutzen Sie keine eigenen Daten.
  • Nutzen Sie einen Passwort-Manager.

Organisatorisch

  • Nutzen Sie für jeden Dienst ein eigenes Passwort.
  • Klicken Sie niemals auf "Angemeldet bleiben" an fremden Geräten.
  • Teilen Sie Passwörter niemals per E-Mail.
  • Teilen Sie Passwörter niemals im Chat.
  • Ändern Sie Passwörter regelmäßig.

Informiert bleiben  

Geräte-Sicherheit  

Alle Geräte für das TYPO3-Backend müssen sicher sein.

  • Halten Sie Betriebssystem und Browser aktuell.
  • Schalten Sie Antivirus und Firewall ein.
  • Installieren Sie keine unbekannten Programme auf dem Gerät.
  • Nutzen Sie ein VPN in fremden Netzwerken.

Systemadministration 

System-Admins kümmern sich um den Server. Das ist die Basis für alle Sicherheits-Maßnahmen.

HTTPS-Verschlüsselung  

Pflicht für Live-Server

Ohne HTTPS kann jeder Ihre Passwörter lesen. Jede Internet-Seite braucht HTTPS (TLS).

  • Nutzen Sie mindestens TLS 1.2. TLS 1.3 ist besser.
  • Let's Encrypt gibt Ihnen kostenlose Zertifikate.
  • Setzen Sie den HSTS-Header. Er erzwingt HTTPS.
  • Setzen Sie [BE][lockSSL] = true in der TYPO3-Konfiguration.

Datei-Rechte  

Richtige Rechte verhindern verbotene Zugriffe.

Datei-TypRechteErklärung
Ordner755Jeder darf lesen. Nur der Besitzer darf schreiben.
PHP-Dateien644Nicht direkt ausführbar. Nur über den Webserver.
Konfigurations-Dateien640Andere Benutzer haben keinen Zugriff.
Upload-Ordner775Der Webserver muss Dateien schreiben können.

HTTP-Zugriffsbeschränkung  

Sperren Sie den Zugriff auf wichtige Dateien.

Ordner-Inhalte verstecken  

Schalten Sie die automatische Datei-Anzeige aus. Das verhindert das Lesen von geheimen Daten.

Security Headers  

HTTP-Security-Header schützen vor vielen Angriffen. Der Server sendet diese Header an den Browser. Der Browser weiß dann genau, was sicher ist.

Wichtige Header  

HeaderWertSchutz gegen
Strict-Transport-Securitymax-age=31536000; includeSubDomainsAngriffe auf die Verschlüsselung
X-Frame-OptionsSAMEORIGINClickjacking
X-Content-Type-OptionsnosniffFalsche Datei-Typen
Referrer-Policystrict-origin-when-cross-originVerraten von Informationen
Permissions-Policygeolocation=(), microphone=()Unerlaubte Kamera oder Mikrofon
Content-Security-PolicyMuss man für jedes Projekt anpassenXSS und Code-Injection

Einstellungen  

Content-Security-Policy immer testen!

Eine falsche Content-Security-Policy kann die Website kaputt machen. Starten Sie immer mit Content-Security-Policy-Report-Only. Prüfen Sie die Fehler im Browser. Schalten Sie den Header erst danach scharf.

Kontrolle  

Testen Sie Ihre Header mit diesen Werkzeugen:

Datenbank-Sicherheit  

Keine Web-Tools auf Live-Servern

Installieren Sie phpMyAdmin oder Adminer nicht auf Live-Servern. Sie sind ein sehr großes Risiko.

Backups  

Die offizielle TYPO3-Anleitung empfiehlt viele verschiedene Backups:

ZeitraumInstallation mit Composer (v12+)Alte Installation (Legacy)Aufbewahren
Jeden TagDatenbank + fileadmin/Datenbank + fileadmin/7 Tage
Jede WocheDB + fileadmin/ + config/ + var/log/DB + fileadmin/ + typo3conf/ + uploads/4 Wochen
Jeden MonatAlles (mit composer.lock)Alles (mit dem typo3/ Core)6 Monate
Jedes JahrEin komplettes ArchivEin komplettes ArchivViele Jahre
Composer oder Klassisch – Was sichern?

Installation mit Composer (unsere Empfehlung):

  • config/ – Einstellungen vom System.
  • fileadmin/ – Dateien von Benutzern.
  • var/log/ – Logs für die Fehler-Suche.
  • composer.json und composer.lock – So können Sie den Code genau wiederherstellen.

Alte Installation (Legacy):

  • typo3conf/ – Einstellungen und Erweiterungen.
  • fileadmin/ und uploads/ – Dateien von Benutzern.
  • typo3/ – Wichtige Core-Dateien.
Wichtige Regeln für Backups
  • Niemals im normalen Ordner speichern. Backups dürfen nicht öffentlich sein.
  • Verschlüsselung nutzen. Backups enthalten Passwörter und Kunden-Daten.
  • Externe Kopie. Speichern Sie eine Kopie woanders. Das schützt vor Erpressungs-Trojanern (Ransomware).
Wiederherstellung testen!

Ein Backup ist nur so gut wie der letzte Test. Testen Sie die Wiederherstellung regelmäßig in einer sicheren Umgebung. Prüfen Sie auf fehlende Daten.


Integration & Konfiguration 

Integratoren stellen TYPO3 ein. Sie sorgen für sichere Einstellungen im System.

Install Tool schützen  

Das Install Tool erlaubt tiefe Änderungen im System. Es braucht besonderen Schutz:

  1. Legen Sie die Datei ENABLE_INSTALL_TOOL an. Legen Sie diese in var/transient/ ab (bei Composer).
  2. Nutzen Sie ein eigenes Passwort. Nutzen Sie nicht das Admin-Passwort.
  3. Das Tool schließt sich nach 60 Minuten selbst. Die Datei wird gelöscht.
Verboten: KEEP_FILE

Schreiben Sie niemals KEEP_FILE in die Datei. Das verhindert die automatische Löschung. Das ist auf Live-Servern streng verboten.

Application Context (TYPO3_CONTEXT)  

Der Application Context ändert Einstellungen für verschiedene Server. Das ist sehr wichtig für die Sicherheit. Die Fehler-Suche (Debugging) darf nur in der Entwicklung an sein.

Empfohlene Server  

ContextZweckFehler-SucheZwischen-Speicher
ProductionLive-SystemAusgeschaltetEingeschaltet
Production/StagingTest-Server (Staging)AusgeschaltetEingeschaltet
DevelopmentEntwicklungEingeschaltetWenig
Development/LocalEntwicklung am eigenen PCEingeschaltetMinimal
TestingAutomatische TestsEingeschaltetAusgeschaltet

Einstellungen  

Einstellungen für verschiedene Server  

TYPO3 lädt automatisch zusätzliche Dateien für verschiedene Context-Werte:

Niemals den Production-Context vergessen!

Wenn Sie keinen Context setzen, nimmt TYPO3 Production. Setzen Sie ihn trotzdem immer von Hand. Das verhindert böse Fehler.

Offizielle Anleitung: Application Context

Lokale Entwicklung mit DDEV  

DDEV ist die beste Umgebung für die Entwicklung. Es nutzt sichere Container. Das ist viel sicherer als klassische Server.

Sicherheit

  • Sichere Umgebung. Die Projekte laufen getrennt in Containern.
  • Automatisch HTTPS. Das Zertifikat funktioniert sofort.
  • Gleiches System. Sie haben die gleiche PHP-Version wie auf dem Live-Server.
  • Keine Programme am PC. Sie brauchen kein lokales PHP oder MySQL.

Gute Arbeit

  • Schneller Start. Einfach ddev config und ddev start tippen.
  • PHP wechseln. Einfach in der .ddev/config.yaml umstellen.
  • Viele Dienste. Redis, Solr und MailHog sind schon dabei.
  • Composer und Node. Alles ist fertig eingebaut.
DDEV für Teams

Speichern Sie .ddev/config.yaml in Git. Dann hat jeder im Team sofort die gleiche Umgebung. Es gibt keine komischen Fehler mehr.

Einstellungen für das ganze System  

Hier sind alle wichtigen Einstellungen für die Sicherheit. Sie stehen in config/system/settings.php.

Sehr wichtige Einstellungen für Live-Server

Diese drei Einstellungen sind sehr wichtig für Live-Server:

  • trustedHostsPattern – Erlaubte Domains (niemals .* eintragen!)
  • displayErrors = 0 – Keine Fehler im Internet anzeigen.
  • devIPmask = '' – Keine Debug-IPs eintragen.

Benutzer und Rechte  

Wenig Rechte vergeben (PoLP-Prinzip)  

Jeder Benutzer bekommt nur die nötigsten Rechte.

  • Redakteure: Sehen nur ihre eigenen Seiten und Dateien.
  • Administratoren: Sie sind keine System Maintainer.
  • System Maintainer: Haben alle Rechte. Es sollte nur 1 bis 2 System Maintainer geben.

Multi-Faktor-Authentifizierung (MFA)  

Pflicht für alle Admins

MFA ist eine doppelte Anmeldung. Sie ist für alle Admin-Konten Pflicht. Schalten Sie MFA sofort ein.

Erweiterungen verwalten (Extensions)  

  • Nutzen Sie nur sichere Quellen (TER, Packagist).
  • Machen Sie regelmäßig Updates für alle Erweiterungen.
  • Löschen Sie ungenutzte Erweiterungen. Jede Erweiterung ist ein Risiko.
  • Lesen Sie auch Warnungen für Erweiterungen.
Achtung: Warnungen gibt es nur für offizielle Erweiterungen

Das TYPO3 Security Team prüft nicht automatisch. Das Team wartet auf Meldungen.

  • Keine automatische Prüfung. Das Team prüft Erweiterungen nicht von selbst.
  • Warten auf Meldungen. Jemand muss einen Fehler an security@typo3.org melden.
  • Nur für TER-Erweiterungen. Warnungen gibt es nur für das offizielle TER.
Achtung bei fremden Erweiterungen

Erweiterungen aus anderen Quellen bekommen niemals Warnungen vom Security Team. GitHub oder private Ordner sind andere Quellen.

Das bedeutet: Ihr Team ist für diese Erweiterungen ganz allein verantwortlich. Sie müssen selbst Fehler suchen und beheben.

Der Ablauf bei einem Fehler  

Wenn jemand einen Fehler im TER meldet, gibt es feste Regeln:

  1. Geheime Nachricht. Das Team informiert den Entwickler heimlich.
  2. Der Entwickler muss antworten. Er muss zeigen, dass er noch arbeitet.
  3. Reparatur bauen. Der Entwickler baut heimlich ein Update (Patch).
  4. Gemeinsame Veröffentlichung. Warnung und Update kommen gleichzeitig heraus.

Wenn der Entwickler nicht antwortet: Das Team löscht die Erweiterung aus dem TER. Das Team warnt alle Nutzer.

Warnungen nach dem Login  

TYPO3 zeigt oft Warnungen nach dem Login an. Nehmen Sie diese ernst. Reparieren Sie die Fehler sofort.

  • Der Core ist zu alt.
  • Es gibt unsichere Erweiterungen.
  • Wichtige Einstellungen fehlen.

Extension-Entwicklung 

Entwickler haben eine große Verantwortung. Ein schlechter Code gefährdet das ganze System.

Goldene Regel für Entwickler

Trauen Sie niemals fremden Eingaben. Alle Daten von außen sind gefährlich. Sie müssen alle Daten gut prüfen.

Eingaben prüfen  

Prüfen Sie alle Eingaben auf dem Server:

  • Typ prüfen: Ist es eine Zahl oder ein Text?
  • Länge prüfen: Wie lang darf der Text sein?
  • Erlaubte Werte: Erlauben Sie nur gute Werte (Whitelist).
  • Zeichen-Satz: Erzwingen Sie UTF-8.

SQL-Injection verhindern  

XSS verhindern  

Fluid prüft Ausgaben ganz automatisch. Achten Sie auf Ausnahmen:

Stelle im CodeSchutz
Fluid-Variablen in HTMLWerden automatisch geprüft
<f:format.raw>Wird nicht geprüft. Niemals für Benutzer-Daten nutzen!
ViewHelper-ArgumenteWerden nicht geprüft. Sie müssen selbst prüfen!
JavaScript-CodeNutzen Sie JSON.stringify() oder htmlspecialchars()

Extbase-Sicherheit  

  • Erlaubte Properties: Erlauben Sie nur bestimmte Properties.
  • __trustedProperties: Extbase prüft dies automatisch. Es ist sehr sicher.
  • Validatoren: Nutzen Sie Extbase Validatoren für alle Objekte.

Redakteur-Sicherheit 

Auch Redakteure müssen sehr vorsichtig sein. Ein Fehler kann das ganze System öffnen.

Sichere Inhalte eingeben  

  • Nutzen Sie den normalen Text-Editor (RTE). Schreiben Sie kein eigenes HTML.
  • Nutzen Sie keine fremden Einbettungen (Embeds).
  • Prüfen Sie alle Links vor dem Speichern.
  • Fügen Sie niemals Skripte in Texte ein.

Dateien richtig hochladen  

Erlaubt

  • Bilder: jpg, png, gif, svg, webp
  • Dokumente: pdf, docx, xlsx, pptx
  • Archive: zip (nach guter Prüfung)

Verboten

  • Ausführbare Dateien: php, exe, sh, bat
  • Web-Dateien: html, htm, js
  • Server-Dateien: htaccess, conf
  • Datei-Namen prüfen: Nutzen Sie keine Sonderzeichen.
  • Datei-Größe beachten: Melden Sie sehr große Dateien der IT.
  • Herkunft prüfen: Laden Sie keine fremden Dateien hoch.

Phishing erkennen  

  • Senden Sie niemals Passwörter per E-Mail.
  • Prüfen Sie die Adresse (URL), bevor Sie ein Passwort tippen.
  • Melden Sie komische E-Mails sofort an die IT.
  • Fragen Sie lieber nach, bevor Sie auf einen Link klicken.

Nach einem Angriff 

Ein Angriff kann immer passieren. Sie brauchen einen guten Plan für den Notfall.

Warnzeichen erkennen  

Klar sichtbar

  • Fremde Inhalte auf der Website.
  • Weiterleitungen auf fremde Seiten.
  • Warnungen von Google oder anderen Suchmaschinen.
  • Unbekannte Admin-Benutzer im System.

Schwer sichtbar

  • Sehr viele Besucher auf einmal.
  • Der Server verschickt Spam-E-Mails.
  • Neue Dateien in fremden Ordnern.
  • Geänderte Zeiten bei wichtigen Dateien.

Sofort-Hilfe  

Website sofort offline nehmen

Sperren Sie sofort den Zugriff. Das stoppt weiteren Schaden. Das schützt Ihre unschuldigen Besucher.

Beweise sichern

Sichern Sie den aktuellen Zustand. Kopieren Sie Dateien, Datenbank und Logs. Das hilft später bei der Fehler-Suche.

Alle Passwörter ändern

Ändern Sie sofort alle Passwörter. TYPO3, Datenbank, Server und E-Mail.

Fehler suchen  

Wiederherstellung  

Säubern Sie das System nicht von Hand!

Das Säubern von Hand ist sehr fehleranfällig. Oft bleiben versteckte Hintertüren im System. Die Angreifer kommen dann schnell zurück.

So machen Sie es richtig:

  1. Suchen Sie ein sauberes Backup von vor dem Angriff.
  2. Installieren Sie TYPO3 neu auf einem sauberen Server.
  3. Spielen Sie die Datenbank aus dem Backup ein.
  4. Machen Sie alle Updates für TYPO3 und Erweiterungen.
  5. Schließen Sie die Sicherheits-Lücke vom Angriff.
  6. Ändern Sie alle Passwörter.
  7. Gehen Sie erst dann wieder online.

Besserer Schutz für die Zukunft  

  • Schreiben Sie die Lösung auf.
  • Prüfen Sie das ganze System genau.
  • Überwachen Sie den Server noch besser.
  • Schulen Sie Ihr Team für mehr Sicherheit.
  • Verbessern Sie Ihren Notfall-Plan.

Composer & Code-Integrität 

Der einzige empfohlene Weg

Die Installation mit Composer ist der einzige empfohlene Weg. Das alte System (Legacy) ist nur für Tests gut.

Vorteile für die Sicherheit  

VorteilComposerKlassisch (Legacy)
Pakete prüfenChecksums werden geprüftKeine automatische Prüfung
UpdatesSichere UpdatesCode-Leichen sind möglich
Fehler suchenFehler prüfen mit composer auditGeht nicht
Gleicher Codecomposer.lock speichert den ZustandGeht nicht
Ordner-SchutzWichtige Dateien sind getrenntAlles ist öffentlich

Sichere Updates machen  


Zusammenfassung  

Composer nutzen

Das ist unsere Empfehlung für sichere Installationen. Sie bekommen immer verifizierte Pakete.

Sofort updaten

Installieren Sie Security Releases immer innerhalb von 24 Stunden.

Mehrere Schutz-Ebenen

Schützen Sie Server, Programm, Benutzer und Prozesse gleichzeitig.


Ressourcen  

Was ist Leichter Lesen?

A2

Diese Seite ist in Leichter Sprache geschrieben. Leichte Sprache hilft vielen Menschen, Texte besser zu verstehen. Die Sätze sind kurz. Schwierige Wörter werden erklärt.

Dieser Text wurde nach den Regeln der Leichten Sprache erstellt. Textniveau: A2 (Gemeinsamer Europäischer Referenzrahmen).

Lassen Sie uns ueber Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.