Wie kann der x-frame-options HTTP-Header von ADFS 3 manipuliert werden?

Wie kann der x-frame-options HTTP-Header von ADFS 3 manipuliert werden?

Standardmäßig enthalten ADFS 3-Antworten den HTTP-Header „X-Frame-Options: DENY“. Dies verhindert, dass ADFS in einem Iframe ausgeführt wird, da dies eine Möglichkeit für Clickjacking-Angriffe darstellt.

Im Moment implementiert mein Unternehmen jedoch eine Integration, bei der eine Ausnahme von dieser Sicherheitsregel gemacht werden soll: Seiten auf einer bestimmten DomainsollenADFS in ein Iframe einbetten können.

Es scheint jedoch, dass ADFS dies nicht standardmäßig zulässt. Was ist also die beste Möglichkeit, diesen HTTP-Header zu ändern?

Wie beispielsweise im RFC vorgeschlagen (https://www.rfc-editor.org/rfc/rfc7034#section-2.3.2.3)?

  1. Eine Seite, die den angeforderten Inhalt in einem Frame darstellen möchte, übermittelt ihre eigenen Herkunftsinformationen über einen Query-String-Parameter an den Server, der den zu rahmenden Inhalt bereitstellt.

  2. Der Server überprüft, ob der Hostname seinen Kriterien entspricht, sodass die Seite von der Zielressource eingerahmt werden darf. Dies kann beispielsweise über eine Suche in einer Whitelist vertrauenswürdiger Domänennamen geschehen, die die Seite eingerahmt werden dürfen. Bei einer „Gefällt mir“-Schaltfläche von Facebook kann der Server beispielsweise überprüfen, ob der angegebene Hostname mit den für diese „Gefällt mir“-Schaltfläche erwarteten Hostnamen übereinstimmt.

  3. Der Server gibt den Hostnamen in „X-Frame-Options: ALLOW-FROM“ zurück, wenn in Schritt 2 das richtige Kriterium erfüllt wurde.

  4. Der Browser erzwingt den Header „X-Frame-Options: ALLOW-FROM“.

Antwort1

Verwenden Sie einen Webserver als Reverse-Proxy vor dem ADFS 3 und ändern Sie den HTTP-Header. Dies kann erreicht werden mitApacheoderNginx. Testen Sie dies gründlich, bevor Sie es bereitstellen, da ADFS 3 möglicherweise keinen Proxy haben möchte. Ich habe keine Möglichkeit, einen Proof of Concept bereitzustellen

Es ist ein weiterer Server und Dienst, der verwaltet werden muss, aber ich verstehe, dass dies eine Anforderung ist,müssen erfüllen

Antwort2

verwandte Informationen