🔒 Domain-Sicherheit: Warum die Trusted Host Settings in Drupal 11 Dein bester Freund sind!

16 November 2025
Lesedauer des Inhalts
3 Minuten

Hallo Web-Held!

Deine Drupal 11-Installation steht und Du bist bereit, die digitale Welt zu erobern. Aber halt! Bevor Du loslegst, gibt es eine essenzielle Einstellung, die Du unbedingt kennen und aktivieren musst, um Deine Seite vor fiesen Tricks zu schützen: Die Trusted Host Settings!

Klingt kompliziert? Ist es nicht! Wir zeigen Dir, was dahintersteckt, warum es so wichtig ist und wie Du es in wenigen Minuten konfigurierst.

Was sind Trusted Host Settings und wozu brauche ich die?

Stell Dir vor, Du hast ein tolles Restaurant ($Ihre\_Domain$), aber jemand lenkt seine Gäste ($Angreifer\_Domain$) einfach auf Deine Adresse um. Dein Service-Personal (Drupal) sieht den falschen Namen auf der Reservierung, glaubt, die Gäste gehören zu $Angreifer\_Domain$ und serviert ihnen Deine Visitenkarten mit der falschen Adresse drauf! Ziemlich blöd, oder?

Genau das passiert bei sogenannten HTTP Host Header Spoofing-Angriffen.

  • Der Kern des Problems: Deine Drupal 11-Installation – die wie ihre Vorgänger auf Symfony aufbaut – verlässt sich standardmäßig auf den HTTP Host Header, um herauszufinden, unter welcher Domain sie gerade läuft (z. B. www.deine-seite.de).
  • Der Angriff: Ein Angreifer kann diesen Header manipulieren und eine Anfrage an Deinen Server schicken, die vorgibt, von einer bösartigen Domain zu stammen.
  • Die Folge: Drupal erstellt dann interne Links (z. B. in E-Mails zum Passwort-Reset) oder Cache-Einträge mit der falschen, böswilligen Domain! Das führt zu Verwirrung und kann im schlimmsten Fall zu Phishing-Attacken führen (Szenario: User klickt auf einen falschen Passwort-Link).

Die Trusted Host Settings beheben dieses Problem, indem sie Drupal klipp und klar sagen: "Hey, nur DIESE Domains sind erlaubt. Alles andere ignorieren wir!"

✍️ So aktivierst Du den Schutz: Die Syntax erklärt

Die Konfiguration ist schnell erledigt und wird in Deiner sites/default/settings.php-Datei vorgenommen. Du suchst die Zeile $settings['trusted_host_patterns'] und füllst das Array mit sogenannten regulären Ausdrücken (Regular Expressions).

Das Basis-Muster für Drupal 11 und später 

Die Einstellung sieht so aus:

$settings['trusted_host_patterns'] = [
  '^deine-seite\.de$',
  '^www\.deine-seite\.de$',
  // Füge weitere Domains oder Subdomains hier hinzu!
];

Die wichtigsten Regex-Zeichen

Keine Angst vor den komischen Zeichen. Die sind wichtig, um Deine Domain exakt zu bestimmen:

Zeichen Bedeutung Beispiel-Anwendung
^ Startet den String. Stellt sicher, dass das Muster am Anfang beginnt.
$ Beendet den String. Stellt sicher, dass das Muster am Ende endet.
\. Matcht einen echten Punkt. Muss bei jeder Domain verwendet werden, da . in Regex sonst jedes beliebige Zeichen bedeutet!
.* Matcht beliebig viele Zeichen. Nützlich für Wildcards oder Subdomains.

⚙️ Konfigurationsbeispiele für jede Umgebung

Je nachdem, wo und wie Du Deine Drupal 11-Seite betreibst, brauchst Du leicht unterschiedliche Muster.

1. Die Live-Umgebung (mit Subdomains)

Wenn Du Deine Domain example.com und alle ihre Subdomains (wie blog.example.com oder staging.example.com) erlauben möchtest:

$settings['trusted_host_patterns'] = [
  // Nur die Hauptdomain (ohne www)
  '^example\.com$',
  // Alle Subdomains von example.com
  '^.+\.example\.com$',
];
 

2. Lokale Entwicklung (Localhost)

Wenn Du auf Deinem PC entwickelst, musst Du localhost und die lokale IP-Adresse freigeben:

$settings['trusted_host_patterns'] = [
  '^localhost$',
  // 127.0.0.1 muss maskiert werden
  '^127\.0\.0\.1$',
];

3. Entwicklung mit Tools (Lando, DDEV, MAMP)

 

Für lokale Dev-Umgebungen wie Lando oder DDEV nutzt Du am besten die Umgebungsvariablen. Diese Tools stellen Dir oft den korrekten Hostnamen zur Verfügung, was die Konfiguration in Drupal 11 super flexibel macht:

// Beispiel für Lando: Holt sich den App-Namen automatisch
$settings['trusted_host_patterns'] = [
  '^'.getenv('LANDO_APP_NAME').'\.lndo\.site$', // Lando Proxy
  // ... ggf. weitere Einträge
];

Wichtig: Platziere diese Einstellung unbedingt NACH dem großen Kommentarblock in der settings.php, der die Trusted Host Configuration beschreibt!

Fazit

Die Trusted Host Settings sind keine Kür, sondern Pflicht. Sie sind Dein erster Verteidigungswall gegen eine häufige Klasse von Angriffen, die Deine Nutzer verwirren und die Integrität Deiner Links zerstören können. Nimm Dir jetzt die zwei Minuten Zeit, die Du brauchst, um diese Einstellung vorzunehmen!

Dein Drupal 11-Projekt wird es Dir danken! 💪

Geschrieben von

Joachim
Über
Image

Joachim (Profil auf Drupal.org) ist : Dein Drupal Brückenbauer

Ziel: Die Komplexität von Drupal und der damit in Verbindung stehenden Linux-Infrastruktur für dich abbauen, um Dir den schnellstmöglichen…

Tags

Kommentare