HSTS für meine Domain aktivieren
oxo888oxo
- sicherheit
- webserver
Hallo
Ich betreibe eine Website. Die Seite ist bei Ionos (ehemals 1&1) gehostet. Ich habe dort ein Premium Webspace Paket.
Wenn ich meine Seite unter https://www.experte.de/security-check?d=spaceart.de teste, bekomme ich unter dem Punk "SSL Security Header" die Meldung, dass bei mir HSTS nicht aktiviert ist. Das würde ich nun gerne ändern.
Aber leider bekomme ich das nicht hin.
Ich habe in meiner htaccess-Datei eine Umleitung von hhtp auf https wie folgt umgesetzt:
RewriteEngine On
RewriteCond %{SERVER_PORT} !=443 [OR]
RewriteCond %{HTTP_HOST} ^www\.spaceart\.de
RewriteRule ^(.*)$ https://spaceart.de/$1 [R=301,L]
Ich kenne ich in diesen Konfigurations-Dingen leider nicht wirklich gut aus. Darum habe ich versucht, mir per Google-Suche da was an Wissen anzulesen. Dort habe ich auch mehrere Tipps gefunden, wie man HSTS per htaccess-Datei aktivieren kann. Aber leider bekomme ich das nicht hin.
Könnt Ihr mir da evtl. helfen?
Gruß Ingo
Lieber Ingo,
dass bei mir HSTS nicht aktiviert ist.
dabei geht es um entsprechende HTTP-Header. Diese müssen vom Webserver an den Browser übertragen werden. Entweder das geschieht mittels einer Serverkonfiguration (.htaccess vielleicht?), oder mit einer serverseitigen Scriptsprache (z.B. PHP), wenn Deine Seite eine Webanwendung (z.B. CMS) ist.
Liebe Grüße
Felix Riesterer
Hallo oxo888oxo,
Darum habe ich versucht, mir per Google-Suche da was an Wissen anzulesen. Dort habe ich auch mehrere Tipps gefunden, wie man HSTS per htaccess-Datei aktivieren kann.
Header set Strict-Transport-Security "max-age=3600" env=HTTPS
in die .htaccess zu schreiben, sollte ja nicht so schwer sein.
Aber leider bekomme ich das nicht hin.
Das reicht dann leider nicht als Fehlerbeschreibung.
Bis demnächst
Matthias
Hallo Matthias
Header set Strict-Transport-Security "max-age=3600" env=HTTPS
in die .htaccess zu schreiben, sollte ja nicht so schwer sein.
Ja das stimmt natürlich. Das habe ich versucht. Ich habe das einfach genau so in die erste Zeile meiner .htaccess geschrieben.
In dem von Dir verlinkten Artikel wird ja noch das hier genannt. Das habe ich auch probiert:
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Bei beiden Varianten scheint es aber nicht zu funktionieren. Überprüft habe ich es hiermit. Der Link führt direkt zum Scanergebnis von https://securityheaders.com/
Wie man dort sehen kann, scheint bei mir also der Header nicht zu funktionierten. Was mache ich denn da falsch?
Gruß Ingo
Hallo nochmal
Ich glaube, dass ich jetzt doch noch was herausbekommen habe vielleicht. Meine Seiten sind ja keine *.html sondern *.php Seiten. Und das mit den Headern per .htaccess-Datei scheint bei *.php Seiten nicht zu gehen.Darum muss ich das wohl per PHP in allen Seiten einbinden.
Kann das sein?
Gruß Ingo
Hallo,
Ich glaube, dass ich jetzt doch noch was herausbekommen habe vielleicht. Meine Seiten sind ja keine *.html sondern *.php Seiten.
ja und?
Und das mit den Headern per .htaccess-Datei scheint bei *.php Seiten nicht zu gehen.
Völlig egal. Es sind HTTP-Ressourcen. Ob die statisch aus einer Datei gelesen oder mit PHP generiert werden, spielt keine Rolle. Es sei denn, du hättest die Direktive in einem <Files>-Container oder einem anderen Konstrukt, das sie auf bestimmte Dateien begrenzt.
Darum muss ich das wohl per PHP in allen Seiten einbinden.
Nein. Meine Developer Toolbar zeigt mir übrigens, dass dein Server sehr wohl folgenden Header sendet:
strict-transport-security:"max-age=3600"
Kann es sein, dass sich der Dienst, den du da zum Überprüfen verwendest, sich an der untypischen Kleinschreibung stört? Auch alle anderen Header sind in durchgehender Kleinschreibung.
Live long and pros healthy,
Martin
Hallo Der Martin,
Nein. Meine Developer Toolbar zeigt mir übrigens, dass dein Server sehr wohl folgenden Header sendet:
strict-transport-security:"max-age=3600"
Für die Startseite nicht, wohl aber für die Bilder.
Bis demnächst
Matthias
Hallo,
Meine Developer Toolbar zeigt mir übrigens, dass dein Server sehr wohl folgenden Header sendet:
strict-transport-security:"max-age=3600"
Für die Startseite nicht, wohl aber für die Bilder.
also mein Browser zeigt den für die Ressource https://spaceart.de/, Sub-Requests habe ich gar nicht betrachtet.
Live long and pros healthy,
Martin
Hallo Der Martin,
Bis demnächst
Matthias
Hallo,
ich habe gerade nochmal versucht, das nachzustellen, es ist mir aber nicht gelungen. Irgendwie verrenne ich mich immer im Labyrinth der Informationen, die die Developer Tools mir bieten könnten, ohne sie jedoch gezielt zu erreichen.
Jedenfalls sehe ich jetzt beim erneuten Versuch den erwarteten Header auch nicht mehr.
Live long and pros healthy,
Martin
Hallo Martin,
ich sehe den strict-transport-security Header nicht bei
https://spaceart.de/
https://spaceart.de/index.php
Bei den übrigen PHP Seiten sehe ich ihn.
Ingo, ist in der index.php etwas drin, dass die vorhandenen Header löscht? Oder setzt Du ihn mittlerweile überall manüll, nur in der Index-Seite nicht?
Gerade mal experimentiert: mit headers_list() kommt man an die aktuell vorhandenen Header heran. Mit header_remove kann man sie auch entfernen - auch wenn sie vom Server hinzugefügt wurden (gilt für FastCGI und IIS, habe keinen Apache hier).
Rolf
Hallo Rolf
Ingo, ist in der index.php etwas drin, dass die vorhandenen Header löscht? Oder setzt Du ihn mittlerweile überall manuell, nur in der Index-Seite nicht?
Ja, ich hatte ihn zum Testen überall per PHP eingefügt, nur in der Index-Seite nicht. Damit hatte ich hier wohl leider Verwirrung gestiftet. Dafür bitte ich erstmal um Entschuldigung.
Ich habe das jetzt soeben korrigiert. Jetzt habe ich den Code NUR noch in der .htaccess-Datei. Dort steht jetzt also ganz am Anfang folgendes:
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Leider sagt der Test unter https://securityheaders.com/ jetzt, dass HSTS nicht aktiv ist.
Ich hatte ja auf verschiedenen Webseiten immer wieder gelesen, dass man auf statischen Seiten den Header per .htaccess-Datei und auf php-Seiten per PHP setzen muss/soll. Aber da habt Ihr mir ja hier gesagt, dass das nicht richtig ist. Demnach müsste es doch auf meinen php-Seiten auch so funktionieren, wie ich es jetzt gemacht habe.
Ich habe diesbezüglich heute auch eine E-Mail an meinen Hostingprovider Inos (ehemals 1&1) gesendet. Und die haben mir das so geschrieben:
Eintrag in der .htaccess bei statischer Seite: Header always set Strict-Transport-Security "max-age=31536000"
Header-Eintrag am Anfang des PHP-Skripts bei dynamischer Seite: <?php header("strict-transport-security: max-age=63072000; includeSubDomains; preload");?>
Kann es evtl. sein, dass das irgendwie eine spezielle Sache des Providers ist. Also, dass die das setzen des Headers per .htaccess nicht zulassen?
Gruß Ingo
Hallo Der Martin,
Kann es sein, dass sich der Dienst, den du da zum Überprüfen verwendest, sich an der untypischen Kleinschreibung stört? Auch alle anderen Header sind in durchgehender Kleinschreibung.
Nein.
https://securityheaders.com/?q=https%3A%2F%2Fspaceart.de%2Ffavicon.png&followRedirects=on
Bis demnächst
Matthias
Hallo nochmal
Erstmal danke ich Euch allen für Eure nette und schnelle Hilfe. Ich habe es nun hinbekommen.
Ich hatte mir nicht korrekt klargemacht, dass die Absicherung ja für meine *.php-Seiten und auch für Bilder usw. erfolgen muss. Ich hatte also immer gedacht, ich muss den Eintrag entweder in die .htaccess-Date oder die *.php-Seiten machen.
Das ist aber wohl falsch. Ich muss den Eintrag an beiden Stellen machen, damit eben die *.php-Seiten und auch die Bilder usw. berücksichtigt weden.
Ich habe das jetzt so umgesetzt und jetzt funktiniert es alles korekt.
Gruß Ingo
Hallo oxo888oxo,
nur eines wundert mich, warum konnte dein persönlicher Berater dir nicht weiter helfen? 😉
Gruss
Henry
Hallo Henry,
nur eines wundert mich, warum konnte dein persönlicher Berater dir nicht weiter helfen? 😉
Bis demnächst
Matthias
Hallo Matthias,
Hallo Henry,
nur eines wundert mich, warum konnte dein persönlicher Berater dir nicht weiter helfen? 😉
Konnte er doch.
Schon klar. Wollte nur zeigen was Leute glauben könnten, die diese Werbung sehen. Da ist dann ein Berater Tag & Nacht für mich da, der alles für mich regelt. 😉
Gruss
Henry
Hallo,
nur eines wundert mich, warum konnte dein persönlicher Berater dir nicht weiter helfen? 😉
Konnte er doch.Schon klar. Wollte nur zeigen was Leute glauben könnten, die diese Werbung sehen. Da ist dann ein Berater Tag & Nacht für mich da, der alles für mich regelt. 😉
natürlich ist das so! Und falls du doch mal ein paar Minuten warten musst, lässt er vorab deine SmartHome-Kaffeemaschine einen Espresso machen.
Wie? Du hast keine SmartHome-Kaffeemaschine? Okay, dann schickt er dir stattdessen eine Tasse Kaffee per e-Mail. 😋
Live long and pros healthy,
Martin
Hallo Der,
natürlich ist das so! Und falls du doch mal ein paar Minuten warten musst, lässt er vorab deine SmartHome-Kaffeemaschine einen Espresso machen.
Wie? Du hast keine SmartHome-Kaffeemaschine? Okay, dann schickt er dir stattdessen eine Tasse Kaffee per e-Mail. 😋
Ja, so habe ich das auch verstanden, alles andere wäre irreführend. 😱
Gruss
Henry
Hallo Henry
Schon klar. Wollte nur zeigen was Leute glauben könnten, die diese Werbung sehen. Da ist dann ein Berater Tag & Nacht für mich da, der alles für mich regelt. 😉
Ich kann da tatsächlich Rund um die Uhr anrufen. Dann ist es natürlich nicht immer der gleiche Mensch, der da drangeht :-) Aber wenn es nicht ganz so irre spezifisch ist, wird einem da auch nachts um 3:00 Uhr am Sonntag geholfen.
Aber Du hast natürlich Recht. Die Werbung übertreibt da schon etwas :-)
Gruß Ingo
Hallo Henry
nur eines wundert mich, warum konnte dein persönlicher Berater dir nicht weiter helfen? 😉
Du wirst lachen, aber das hat er sogar tatsächlich. Ich habe da bei denen ja so einen persönlichen Berater und der hat mir tatsächlich den nötigen Geistesblitz verschafft.
Gruß Ingo