Java >> Java Tutorial >  >> Tag >> HTTP

HTTP-Sicherheitsheader – XFrame-Optionen und Inhaltssicherheitsrichtlinien

Haben Sie jemals eine HTTP-Anforderung in einem Browser oder Fiddler verfolgt? Sie müssen diese HTTP-Sicherheitsheader im Anforderungs- oder Antwortheader gesehen haben?

X-Frame-Options SAMEORIGIN

ODER

Content-Security-Policy:frame-ancestors 'none'

Wissen Sie, worum es bei diesen Überschriften geht? In diesem Beitrag werde ich zeigen, warum wir diese Header verwenden. Diese Sicherheitsheader werden häufig angezeigt, wenn Sie eine Anwendung innerhalb von Iframes rendern. Zusammenfassend sind diese Header wichtig, wenn Sie Anwendungen mit einem Iframe innerhalb des Haupt-Iframes laden.

Warum sind diese Header erforderlich?

Diese Header helfen dabei, Clickjacking-Angriffe zu vermeiden. Hier können Sie mehr über Clickjacking lesen. Zur Abwehr von Clickjacking implementieren wir Frame-Breaking mit zwei Methoden.

   1. X-Frame-Optionen –

Dieser Header wird im Antwortheader verwendet, um anzugeben, ob einem Browser erlaubt werden kann, eine Webseite in einem <frame> darzustellen oder nicht oder <iframe> .

Mögliche Werte für diesen Header:

  1. VERWEIGERN – Der empfohlene Wert für X-Frame-Optionen und verhindert, dass eine Domain den Inhalt einrahmt.
  2. GLEICHER URSPRUNG – Dadurch kann nur die aktuelle Website den Inhalt einrahmen.
  3. ALLOW-FROM-URI – Dadurch kann der angegebene URI den Inhalt einrahmen.

   2. Inhaltssicherheitsrichtlinie –

In ähnlicher Weise werden X-Frame-Optionen vom Browser verwendet, um zu ermöglichen, eine Seite in einem Frame oder Iframe darzustellen, genauso wie Content-Security-Policy Kopfzeile verwendet. Dementsprechend unterstützen manche Browser X-Frame-Optionen und manche Content-Security-Policy. Ein Schlüsselmerkmal zwischen diesen beiden Headern (X-Frame-Options and Content-Security-Policy ) ist das Content-Security-Policy kann die Auflistung mehrerer Domains zulassen, von denen der Inhalt geladen werden soll.

Mögliche Werte für diesen Header sind:

  • Content-Security-Policy:frame-ancestors ‘none’ – Dies verhindert, dass eine Domain den Inhalt wiedergibt.
  • Content-Security-Policy:frame-ancestors ‘self’ – Dies erlaubt nur der aktuellen Seite, den Inhalt zu framen.
  • Option der Content-Security-Policy:frame-ancestors „self“, „*.betterjavacode.com“, „https://www.mytest.com“ – Dadurch kann die aktuelle Site, eine beliebige Subdomain von betterjavacode.com oder die Webseite unter www.mytest.com die Seite laden. Einfache Anführungszeichen sind hier wichtig.

Frühlingssicherheit

In ähnlicher Weise bietet Spring-Security eine Funktion zum Aktivieren der X-Frame-Options- und Content-Security-Policy-Direktive.

http.headers().frameOptions().disable();

http.headers().frameOptions().sameOrigin();

Schlussfolgerung

Abschließend habe ich gezeigt, warum und wie die HTTP-Sicherheitsheader X-Frame-Options und Content-Security-Policy verwendet werden. Also, wenn dir dieser Beitrag gefallen hat, abonniere meinen Blog hier. Weitere Details zu X-Frame-Optionen und Content-Security-Policy-Headern finden Sie auf dieser Seite.

Referenzen

  1. Clickjacking-Spickzettel – Clickjacking
  2. Clickjacking – Clickjacking-2


No
Java-Tag