DELISORIA
In English
Portfolio01Magazin02Kontakt03 In English EN
Zurück zur Übersicht

Magazin · · 2 Min. Lesezeit

Eine Sicherheitsrichtlinie ohne Hintertür

Fast jede Website erlaubt sich mit 'unsafe-inline' die Ausnahme, die die ganze Regel entwertet. Was der Verzicht kostet — und was er einbringt.

Was eine Content-Security-Policy verspricht

Mit der ersten Antwort des Servers reist eine Zusage mit: die Content-Security-Policy. Sie sagt dem Browser, woher diese Seite Skripte, Stile und Bilder laden darf — und der Browser setzt das durch. Schafft es ein Angreifer, fremden Code in eine Seite zu schmuggeln, führt der Browser ihn schlicht nicht aus, weil die Richtlinie es verbietet. Die Richtlinie ist damit das Sicherheitsnetz für den Tag, an dem alle anderen Vorkehrungen versagt haben.

Sofern sie ernst gemeint ist. Die meisten Richtlinien enthalten zwei Wörter, die das Netz zerschneiden: 'unsafe-inline'.

Die Ausnahme, die die Regel frisst

'unsafe-inline' erlaubt Code und Stile, die direkt im HTML stehen. Das klingt harmlos und ist bequem — fast jedes Werkzeug, fast jeder Baukasten verlangt es. Aber eingeschleuster Code steht genau dort: im HTML. Eine Richtlinie mit dieser Ausnahme verbietet also die Wege, die ein Angreifer nicht braucht, und erlaubt den einen, den er benutzt. Der Name sagt es ehrlich: unsafe.

Unsere Richtlinie kommt ohne die Ausnahme aus — für Skripte und für Stile. Alles, was die Seite ausführt oder gestaltet, liegt in eigenen Dateien auf der eigenen Domain. Im HTML steht kein einziges style-Attribut und kein einziger eingebetteter Skriptblock.

Was das im Alltag verlangt

Der Verzicht ist keine einmalige Einstellung, sondern eine Bauweise. Abstände und Farben, die früher als style-Attribut ins HTML gerutscht wären, werden zu benannten Klassen im Stylesheet. Produktfarben, die aus Daten kommen, erzeugt der Generator beim Bauen als Klassen — nicht als Attribute im HTML. Und ein Prüfwerkzeug wacht darüber: Taucht irgendwo wieder ein Inline-Stil auf, schlägt es an, bevor der Browser ihn verwerfen würde.

Genau das ist der eigentliche Wert der strengen Richtlinie: Sie zwingt zu einer Ordnung, die auch ohne sie richtig wäre.

Genau das ist der eigentliche Wert der strengen Richtlinie: Sie zwingt zu einer Ordnung, die auch ohne sie richtig wäre. Die Ausnahme abzulehnen heißt, die Unordnung abzulehnen, die sie decken müsste.

Der Rest der Kopfzeilen

Die Richtlinie steht nicht allein. Kein Einbetten in fremde Seiten, keine Typ-Rätselei des Browsers, sparsame Referrer, keine Berechtigungen für Kamera, Mikrofon oder Standort, die niemand braucht. Jede dieser Kopfzeilen ist eine Zeile Konfiguration — zusammen sind sie der Unterschied zwischen einer Seite, die sicher aussieht, und einer, die es dem Browser gegenüber schriftlich gibt. Nachprüfbar von jedem, mit einem Blick in die Antwort des Servers.