Vereinfachung der Sicherheits-HTTP-Header mit edgeNEXUS Traffic Management: X-Content-Type-Options

flightpath http header in action

 

Etwas, das bei den Sicherheitstests, die wir alle über uns ergehen lassen müssen, häufig auftaucht (leider aus gutem Grund), ist das Fehlen oder die Inkonsistenz bei der Angabe des HTTP-Headers X-Content-Type-Options in den Antworten des Webservers. Das mag ein Ärgernis sein, aber je sicherer unsere Website und ihre Besucher sind, desto besser.

Wozu ist dieser Header überhaupt gut? Ganz einfach: Chrome und Internet Explorer verfügen über eine sogenannte „MIME-Sniffing“-Funktion, die standardmäßig aktiviert ist und den Inhaltstyp einer Webserver-Antwort erkennt. Dies dient dazu, eine Webseite besser darzustellen, selbst wenn der Webserver etwas falsch macht oder eine Seite schlecht geschrieben ist und einen falschen Inhaltstyp angegeben hat.

Eine Website kann beispielsweise über den Header Content-Type und den Wert text/plain eine Antwort senden, die besagt, dass der enthaltene Inhalt Text ist. Der Browser erkennt, dass es sich um eine PDF-Datei handelt und zeigt diese korrekt an. Andernfalls könnte er versuchen, es als Text darzustellen, was zu einer verstümmelten oder unlesbaren Seite führt. Für einige Browser-Entwickler ist diese hübsche Seite besser als die Einhaltung von Standards.

Hört sich nicht so schlimm an? Nun, jede Software, die Sie in Ihrem Browser einsetzen, um das Herunterladen, Anzeigen oder Ausführen bestimmter Arten von Inhalten zu verhindern, kann durch diese Funktion umgangen werden. Es gibt viele Gründe, warum wir ausführbare Dateien, Zip-Dateien, Word-Dateien und dergleichen blockieren möchten. Unter Windows ist es immer noch möglich, einen PC mit nur einem GIF-Bild zu „besitzen“.

Jede Software, die wir zum Schutz vor solchen Bedrohungen einsetzen, indem sie diese Inhalte blockiert, kann nur den Wert des Content-Type-Headers prüfen und auf der Grundlage dieses Wertes entsprechend handeln. Wenn der Browser etwas völlig anderes tut als erwartet, ist das nicht hilfreich und stellt ein Risiko dar.

Das Schöne an der Verwendung eines Load Balancers ist, dass wir dies nur an einer einzigen Stelle tun müssen, um es auf allen unseren Servern einzusetzen. Wir müssen uns nicht auf Entwickler oder Apache-Neukonfigurationen verlassen. Auf dem edgeNEXUS Load Balancer importieren wir einfach eine jetPACK-Konfigurationsvorlage und weisen dem oder den virtuellen Diensten, die wir schützen möchten, eine flightPATH-Verkehrsregel zu.

Die Regel fügt die Kopfzeile nur hinzu, wenn sie nicht vorhanden ist. Sie funktioniert also auch dann, wenn unsere Webserver sie bereits einfügen oder nur für bestimmte Seiten einfügen. Diese Regel sollte Teil Ihrer Standardkonfiguration des Virtuellen Dienstes sein – Sie haben nichts zu verlieren, egal wie die Seite aussieht, obwohl ein Test natürlich immer empfehlenswert ist. Sie können das jetPACK auf der edgeNEXUS Github-Seite hier herunterladen.

Dies ist eine der vielen flightPATH-Regeln, die wir entwickelt haben und die Sie einsetzen können, um die Sicherheit Ihrer Website und ihrer Benutzer zu verbessern. Weitere Informationen über sicherheitsrelevante HTTP-Header finden Sie in diesen Artikeln:

 

Das Schöne an der Verwendung eines Load Balancers ist, dass wir dies nur an einer einzigen Stelle tun müssen, um es auf allen unseren Servern einzusetzen. Wir müssen uns nicht auf Entwickler oder Apache-Neukonfigurationen verlassen.

About Donna Toomey