---
url: 'https://sithis.xyz/blog/trusted-host-settings'
title: 'Drupal Trusted Host Settings erklärt'
author:
  name: 'Joachim Namyslo'
  url: 'https://sithis.xyz/team/joachim'
  sameAs:
    - 'https://www.youtube.com/@jo_de'
    - 'https://github.com/nodedropweb'
    - 'https://www.drupal.org/u/Joachim-Namyslo'
date: '2026-08-29T21:13:31+00:00'
updated: '2026-10-12T06:23:23+00:00'
type: article
summary: 'Host-Header-Spoofing kann gefälschte Passwort-Reset-Links erzeugen: So schützt du deine Drupal-Seite mit trusted_host_patterns in der settings.php.'
tags:
  - settings-php
  - sicherheit
image: 'https://sithis.xyz/sites/default/files/styles/social_media_facebook/public/2026-10/level-12-trusted-host-tuersteher.png.webp?itok=JdpRewSZ'
files:
  - 'https://sithis.xyz/sites/default/files/audio/level-12-der-tuersteher-fuer-deine-domain-trusted-host-settings.mp3?v=1791721496'
published: true
og:
  site_name: 'Drupal TV'
  'image:type': image/webp
  'image:width': '1200'
  'image:height': '630'
  updated_time: '2026-10-12T08:23:23+02:00'
  'image:alt': 'Schild mit Schlüsselloch lässt die Anfrage von example.com durch und blockiert böse-seite.de.'
  locale: de_DE
---
# Der Türsteher für deine Domain (Trusted Host Settings)

## Key Facts

- Eine rote Warnmeldung im Drupal-Statusbericht zu trusted\_host\_patterns bedeutet: diese Einstellung fehlt noch
- Ohne sie können Angreifer deiner Seite vorgaukeln, sie sei eine andere Domain ("Host Header Spoofing") – das führt zu gefälschten Links in Passwort-Reset-Mails
- Eine einfache Whitelist in der settings.php sagt Drupal, nur auf Anfragen an deine echte Domain zu antworten
- Die Konfiguration nutzt reguläre Ausdrücke (Regex) – hier sind fertige Vorlagen für Live, Localhost und DDEV zum Kopieren

Im Statusbericht deiner Drupal-Seite steht eine rote Warnung zu den „vertrauenswürdigen Hosts“. Die Seite läuft ja, also ignorierst du sie? Besser nicht.

Diese Einstellung entscheidet darüber, ob Angreifer deiner Seite eine falsche Domain vorgaukeln können, um Nutzer auf gefälschte Links zu locken. Sie einzurichten dauert zwei Minuten. In diesem Artikel siehst du, wie der Angriff funktioniert, wie du die Einstellung in der settings.php einträgst (Drupals zentrale Konfigurationsdatei) und bekommst fertige Vorlagen für deine Live-Seite, für Subdomains und für die lokale Entwicklung. Reguläre Ausdrücke sehen kryptisch aus, aber wir erklären sie.

## Das Szenario: Identitätsdiebstahl per E-Mail

Warum ist das gefährlich? Ein Angreifer sendet eine Anfrage an deine Seite, behauptet aber im Header, er sei böse-seite.de. Deine Drupal-Seite glaubt das, weil der Türsteher fehlt. Fordert ein Nutzer zeitgleich ein neues Passwort an, generiert Drupal den Reset-Link mit der falschen Domain: <http://böse-seite.de/user/reset/>.... Klickt der Nutzer darauf, landet sein neues Passwort direkt beim Angreifer.

Damit das nicht passiert, bringen wir Drupal bei, nur auf deine echte Domain zu hören.

## Die settings.php bearbeiten

Öffne /sites/default/settings.php (Drupal schützt die Datei oft vor Änderungen; falls du sie nicht speichern kannst, gib dir kurz Schreibrechte, etwa mit chmod u+w) und suche den Abschnitt $settings\['trusted\_host\_patterns'\]. Konfiguriert wird über reguläre Ausdrücke – sieht kryptisch aus, ist aber logisch:

| Zeichen | Bedeutung | Beispiel |
|---|---|---|
| ^ | Start: Hier beginnt die Domain | ^drupal |
| $ | Ende: Hier hört sie auf | de$ |
| \\. | Ein echter Punkt (muss maskiert werden) | google\\.de |
| .+ | Platzhalter, z. B. für Subdomains | ^.+\\.seite\\.de$ |

### 1. Live-Szenario (Production)

Deine Hauptdomain (example.com) und die www-Variante erlauben:

```php
$settings['trusted_host_patterns'] = [
  '^example\.com$',
  '^www\.example\.com$',
];
```

### 2. Beliebige Subdomains erlauben

Du hast viele Subdomains (blog., shop., team.) und willst nicht jede einzeln eintragen:

```php
$settings['trusted_host_patterns'] = [
  '^example\.com$',
  '^.+\.example\.com$',
];
```

### 3. Entwicklungsumgebung (DDEV / Localhost)

Hier geht es um deine lokale Testumgebung auf dem eigenen Rechner. DDEV ist eine verbreitete Umgebung dafür.

Lokal ändern sich URLs häufig. Für Localhost (XAMPP/MAMP):

```php
$settings['trusted_host_patterns'] = [
  '^localhost$',
  '^127\.0\.0\.1$',
];
```

Für DDEV, das Domains wie mein-projekt.ddev.site nutzt, deckt dieser Eintrag alles ab:

```php
$settings['trusted_host_patterns'] = [
  // Erlaubt alles, was auf .ddev.site endet
  '^.+\.ddev\.site$',
];
```

## Der Check: Ist die Anzeige grün?

Speichere die settings.php, gehe im Drupal-Backend zu Berichte → Statusbericht und suche die Zeile "Einstellungen für vertrauenswürdige Hosts". Ist sie grün, ist dein Türsteher aktiv und deine Nutzer sind geschützt.

**Fazit:** Die Trusted Host Settings sind kein Bürokratie-Posten, sondern ein essenzieller Sicherheitsmechanismus. Es dauert zwei Minuten, sie einzurichten – mach es, bevor du live gehst.

Dein nächster Schritt: Öffne noch heute deinen Statusbericht. Ist die Zeile rot, trägst du deine Domain ein. Ist sie grün, bist du fertig.

Weiterführende Links

[Offizielle Drupal-Dokumentation – Trusted Host settings](https://www.drupal.org/docs/getting-started/installing-drupal/trusted-host-settings)

[Host Header Attacks erklärt (PortSwigger)](https://portswigger.net/web-security/host-header)

[OWASP Guide zu Host Header Injection](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/17-Testing_for_Host_Header_Injection)