Drupal 8 Trusted Host Settings Warning

Drupal gibt folgenden Hinweis dazu: The trusted_host_patterns setting is not configured in settings.php. This can lead to security vulnerabilities. It is highly recommended that you configure this. See Protecting against HTTP HOST Header attacks for more information.

Was kann bei HTTP HOST Header attacks passieren?

Die Domain kann verbogen (umgeleitet) werden. z.B. www.beispiel.de auf www.böse.beispiel.de So können Passwörter abgefangen werden, e-Mails umgeleitet werden und noch vieles mehr.

Deshalb warnt auch Drupal 8 vor diesem Problem.

Wie kann ich das Problem lösen?

In der settings.php Datei gibt es dafür eine einfache Einstellung.

Die settings.php Datei ist hier zu finden: deindrupalverzeichnis/sites/default/settings.php.

Die Rechte für die settings.php sollten auf (0444) gesetzt sein. So hat niemand schreibrechte. Wir wollen aber änderungen an der Datei durchführen. Dazu setzten wir die Rechte auf (0644) und öffnen die settings.php mit unserem Editorprogramm.

Fast am Ende der settings.php finden wir folgenden Eintrag:

/**

* Trusted host configuration.

*

* Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host

* header spoofing.

*

* To enable the trusted host mechanism, you enable your allowable hosts

* in $settings['trusted_host_patterns']. This should be an array of regular

* expression patterns, without delimiters, representing the hosts you would

* like to allow.

*

* For example:

* @code

* $settings['trusted_host_patterns'] = array(

* '^www\.example\.com$',

* );

* @endcode

* will allow the site to only run from www.example.com.

*

* If you are running multisite, or if you are running your site from

* different domain names (eg, you don't redirect http://www.example.com to

* http://example.com), you should specify all of the host patterns that are

* allowed by your site.

*

* For example:

* @code

* $settings['trusted_host_patterns'] = array(

* '^example\.com$',

* '^.+\.example\.com$',

* '^example\.org$',

* '^.+\.example\.org$',

* );

* @endcode

* will allow the site to run off of all variants of example.com and

* example.org, with all subdomains included.

*/

Genau darunter definieren wir nun für unsere Eigene Domain unseren „vertrauensvollen“ Host.

$settings['trusted_host_patterns'] = array(

'^www\.beispiel\.de$',

);

wenn Deine Seite immer mit www.beispiel.de aufgerufen wird.

$settings['trusted_host_patterns'] = array(

'^beispiel\.de$',

);

wenn Deine Seite immer mit beispiel.de aufgerufen wird.

$settings['trusted_host_patterns'] = array(

'^www\.beispiel\.de$',

'^beispiel\.de$',

);

wenn Deine Seite unter www.beispiel.de und beispiel.de augerufen weden kann.

Wie Deine Seite aufgerufen werden kann, kannst Du in der .htaccess Datei festlegen. Wenn Du dort nichts eingestellt hast ist Deine Seite über www.beispiel.de und beispiel.de erreichbar und Du mußt die letzte Variante wählen.

Wichtig!!!

Wenn Du mit der Änderung der settings.php fertig bist und diese wieder im richtigen Verzeichnis gespeichert hast müssen dir Recht wieder zurückgesetzt werden. Also auf (0444) (keine Schreibrechte) gesetzt werden.

Nach einer erfolgreichen Drupal 8 Installation wird in der Regel folgende Sicherheitswarnung im Statusreport erscheinen „Trusted Host Settings nicht aktiviert“.

0 Kommentare
Nov 18, 2016 By Marcus