HTTP Security Header prüfen

1. Header CheckSecurity Header

Über die HTTP-Header-Felder lassen sich über einen Webserver wichtige Parameter oder Argumente übermitteln. So zum Beispiel auch einige Security Header, die unter anderem Cross-Site-Scripting (XSS) erschweren sollen. Doch auch für Webseiten, die ausschließlich über TLS erreichbar sind, bieten die Security Header sinnvolle Ergänzungen. So kann bspw. die korrekte Anwendung von TLS-Certificate Pinning und HTTP Strict-Transport-Security (HSTS) für zusätzliche Sicherheit sorgen.

Mit dem Online-Tool securityheaders.io könnt ihr die Security Header einer Webseite oder eures eigenen Webservers überprüfen. Das Rating ist dem Vorbild von SSLLabs nachempfunden – ein Dienst, um die TLS-Einstellungen von Webservern unter die Lupe zu nehmen.

2. Ergebnisse

Unterstütze den Blog mit einem Dauerauftrag!

Unabhängig. Kritisch. Informativ. Praxisnah. Verständlich.

Die Arbeit von kuketz-blog.de wird vollständig durch Spenden unserer Leserschaft finanziert. Sei Teil unserer Community und unterstütze unsere Arbeit mit einer Spende.

Mitmachen ➡

2.1 Kuketz IT-Security

Security Report

2.2 Kuketz Blog

Security Report

Der Blog schneidet leider nicht ganz so gut, wie bspw. die Unternehmenswebseite, ab. Das liegt primär am fehlenden TLS-Certificate Pinning. Da die Laufzeit der Let’s Encrypt Zertifikate auf 90 Tage beschränkt sind, werde ich dies wohl auch vernachlässigen.

Der Content Security Policy (CSP) Header ist mittlerweile gesetzt – ein Sicherheitskonzept, mit dem sich unter anderem Cross-Site-Scripting (XSS) und andere Angriffe erschweren lassen. Doch dieser Security Header ist auf WordPress Blogs mit der Vielfalt von Plugins und verwendetem JavaScript nicht immer einfach zu integrieren. Ganz glücklich bin ich mit dem CSP-Header jedenfalls noch nicht…

3. Fazit

Probiert den Dienst doch einfach mal aus. Eines möchte ich euch aber noch mit auf den Weg geben: Nur weil eine Webseite womöglich keines dieser Security Header gesetzt hat, ist die Webseite nicht zwangsläufig »unsicher«. Das hängt immer von vielen weiteren Faktoren ab. Wer die HTTP Security Header allerdings korrekt setzt, der kann es einem Angreifer in Einzelfällen deutlich erschweren.

Über den Autor | Kuketz

Mike Kuketz

In meiner freiberuflichen Tätigkeit als Pentester / Sicherheitsforscher (Kuketz IT-Security) schlüpfe ich in die Rolle eines »Hackers« und suche nach Schwachstellen in IT-Systemen, Webanwendungen und Apps (Android, iOS). Des Weiteren bin ich Lehrbeauftragter für IT-Sicherheit an der Dualen Hochschule Karlsruhe, sensibilisiere Menschen in Workshops und Schulungen für Sicherheit und Datenschutz und bin unter anderem auch als Autor für die Computerzeitschrift c’t tätig.

Der Kuketz-Blog bzw. meine Person ist regelmäßig in den Medien (heise online, Spiegel Online, Süddeutsche Zeitung etc.) präsent.

Mehr Erfahren ➡

SpendeUnterstützen

Die Arbeit von kuketz-blog.de wird zu 100% durch Spenden unserer Leserinnen und Leser finanziert. Werde Teil dieser Community und unterstütze auch du unsere Arbeit mit deiner Spende.

Folge dem Blog

Wenn du über aktuelle Beiträge informiert werden möchtest, hast du verschiedene Möglichkeiten, dem Blog zu folgen:

Bleib aktuell ➡


Diskussion

4 Ergänzungen zu “HTTP Security Header prüfen”

  1. Comment Avatar Anonymous sagt:

    Vielen Dank for den Hinweis auf diesen interessanten Dienst.

  2. Comment Avatar Hannes sagt:

    Habe versucht, einige der HTTP Security Header (außer Public Key Pinning) über die „.htaccess“ zu setzen und mittels securityheaders.io einen Scan der Website durchzuführen. Getestet habe ich das Ganze mit zwei identischen PHP Web-Applikationen, aber auf unterschiedlichen Shared Hostings:

    1. Shared Hosting mit nginx Webserver: Security Header werden korrekt als Antwort an den Browser gesendet (ähnlich wie es auch hier auf kuketz-blog.de geschieht)

    2. Shared Hosting mit Apache Webserver, wobei PHP nicht als Modul, sondern im Benutzerkontext über FastCGI/fcgi ausgeführt wird: Der Antwortheader enthält KEINE Securty Header

    Ich verstehe nicht, wieso es im einen Fall klappt, im anderen dagegen nicht. Weiß jemand diesbezüglich mehr, ob es ggf. irgendwelche Restriktionen geben kann, die das Setzen dieser Header verhindert oder einschränkt?

    • Comment Avatar Anonymous sagt:

      Okay, es scheint tatsächlich so zu sein, dass diese HTTP Security Header für Umgebungen mit PHP-FPM und mod_fastcgi nicht mittels „.htaccess“ gesetzt werden können. Die entsprechenden Header müsste man vermutlich direkt in PHP über eine Response-Methode an den Browser senden. Hmm.

  3. Comment Avatar Petra sagt:

    Hallo und Danke für diesen interessanten Beitrag,
    das Fazit unter Punkt 3 hat mich ein wenig getröstet.

HilfeWenn du konkrete Fragen hast oder Hilfe benötigst, sind das offizielle Forum oder der Chat geeignete Anlaufstellen, um dein Anliegen zu diskutieren. Per E-Mail beantworte ich grundsätzlich keine (Support-)Anfragen – dazu fehlt mir einfach die Zeit. Kuketz-Forum

Abschließender Hinweis

Blog-Beiträge erheben nicht den Anspruch auf ständige Aktualität und Richtigkeit wie Lexikoneinträge (z.B. Wikipedia), sondern beziehen sich wie Zeitungsartikel auf den Informationsstand zum Zeitpunkt des Redaktionsschlusses.

Kritik, Anregungen oder Korrekturvorschläge zu den Beiträgen nehme ich gerne per E-Mail entgegen.