Ratgeber

Cross-Site-Scripting und mehr verhindern: Sichere Websites durch Security-Header

(Bild: Shutterstock)

Der jüngste Datenklau auf Facebook zeigt: Websites sind immer noch von Attacken wie Cross-Site-Scripting betroffen. Durch Security-Header kannst du sichere Websites gestalten.

Internet-Sicherheit aus dem HTTP-Header

Websites sind angreifbar. In der Kommunikation mit dem Nutzer müssen sie empfindliche Daten aufnehmen, verarbeiten und zurücksenden. In diesen Prozess können sich Hacker und Schad-Skripte einklinken. Sie manipulieren und ergänzen die Kommunikation, um Nutzerdaten auszulesen und ganze Websites lahm zu legen.

Gerade die Betreiber von Onlineshops sind hiervon betroffen. Werden Sicherheitslücken in ihrer Software bekannt, müssen sie schnell reagieren. Ansonsten droht ihnen Opfer einer Attacke oder eines Erpressers zu werden. Umso wichtiger ist es, das Thema Internet-Sicherheit nicht allein der Shop-Software zu überlassen. Mit Einstellungen am HTTP-Header können viele Sicherheitslücken geschlossen oder zumindest eingedämmt werden. Diese Einstellungen nennen wir Security-Header.

Im Folgenden stellen wir euch einige dieser Security-Header vor und zeigen, wogegen sie eingesetzt werden können. Im Anschluss erläutern wir euch, wie ihr diese Einstellungen in eurem Webserver hinzufügen könnt.

Wichtig vorab: Der erste Schritt zu einer sicheren Website ist ein SSL-Zertifikat. Security-Header funktionieren teilweise nur über eine HTTPS-Verbindung. Wir gehen bei der Beschreibung der Security-Header davon aus, dass du bereits ein SSL-Zertifikat verwendest.

Du willst wissen, wie gut deine Website bereits durch Security-Header geschützt ist? Unter diesem Link kannst du deine Website kostenlos testen lassen.

Security-Header im Überblick

Content-Security-Policy (CSP)

Mit einer Content-Security-Policy bestimmst du, von wo aus Inhalte auf deiner Website geladen werden dürfen. Dadurch kannst du zum Beispiel unterbinden, dass durch eingeschleusten Code ein Schad-Skript von außerhalb aufgerufen wird. Das hilft besonders gegen Cross-Site-Scripting, kurz XSS. Bei einer XSS-Attacke wird fremder Code, meist in Form von JavaScript, auf der Seite ausgegeben. Hacker nutzen hierbei Eingabe-Formulare oder Parameter in der URL.

Du kannst die CSP für Skripte (script-src) auf den Wert 'self' setzen. In diesem Fall wird deine Website nur noch JavaScript-Code ausführen, der auf deinem Server liegt. Wird auf der Website weiterer Code von vertrauenswürdigen Quellen eingesetzt, kann man diese als weitere Parameter ergänzen.

Durch diese Maßnahme wird Cross-Site-Scripting komplett unterbunden – jedoch auch jeglicher JavaScript-Code, der inline – also direkt im Quellcode der Website – aufgerufen wird. Du kannst deine Einstellungen erst einmal über die Test-Funktion Content-Security-Policy-Report-Only überprüfen.

X-XSS-Protection

Dieser Security-Header bietet einen zusätzlichen Schutz gegen Cross-Site-Scripting. Durch X-XSS-Protection überprüft der Browser übertragene Daten. Erkennt er dabei Muster von XSS, wird deren Ausgabe abgelehnt. Das ist besonders für Nutzer wichtig. Allerdings funktioniert die X-XSS-Protection am besten in Chrome. Andere Browser kennen den Security-Header zwar auch, setzen ihn aber nicht so gut um. Tests mit Firefox haben sogar ergeben, dass der Schutz gar nicht greift und XSS weiterhin möglich ist.

Die X-XSS-Protection sollte daher als Ergänzung zu einer gut eingestellten Content-Security-Policy genutzt werden. Aktiviert wird sie einfach durch das Setzen auf 1 und kann, wie auch die CSP, um eine Test-Ausgabe erweitert werden.

X-Frame-Options

Eine beliebte Methode von Kriminellen ist das sogenannte Clickjacking. Dabei wird eine Website unter einer anderen URL in einen Frame geladen. Dem ungeschulten Nutzer fällt dabei nicht auf, dass er nicht auf der eigentlichen Website aktiv ist. Über sensible Eingabe-Masken wie beispielsweise den Login werden dann unsichtbare Felder gelegt, die die eingegebenen Daten mitlesen. Im schlimmsten Fall gelangen die Betrüger so an zahlreiche Login-Daten.

Mit dem Security-Header X-Frame-Options kannst du Clickjacking unterbinden. Auf dem Wert DENY darf deine Website nicht mehr in einem Frame erscheinen. Stellst du die X-Frame-Options auf SAMEORIGIN, ist das Einbinden unter deiner eigenen Domain immer noch möglich.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.