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 bietet.
Momentan implementiert mein Unternehmen jedoch eine Integration, bei der eine Ausnahme von dieser Sicherheitsregel gemacht werden sollte: Seiten in einer bestimmten Domäne sollten ADFS in einen Iframe einbetten können.
Es scheint jedoch, dass ADFS es nicht zulässt, dies sofort zu ändern. Was ist der beste Weg, um diesen HTTP-Header zu ändern?
Zum Beispiel wie im RFC vorgeschlagen ( https://tools.ietf.org/html/rfc7034#section-2.3.2.3 )?
Eine Seite, die den angeforderten Inhalt in einem Frame rendern möchte, liefert dem Server ihre eigenen Ursprungsinformationen, die den zu rahmenden Inhalt über einen Abfragezeichenfolgenparameter bereitstellen.
Der Server überprüft, ob der Hostname seinen Kriterien entspricht, sodass die Seite von der Zielressource eingerahmt werden kann. Dies kann beispielsweise über eine Suche in einer Whitelist vertrauenswürdiger Domänennamen geschehen, die die Seite umrahmen dürfen. Bei einer Facebook-Schaltfläche "Gefällt mir" kann der Server beispielsweise überprüfen, ob der angegebene Hostname mit den Hostnamen übereinstimmt, die für diese Schaltfläche "Gefällt mir" erwartet werden.
Der Server gibt den Hostnamen in "X-Frame-Optionen: ALLOW-FROM" zurück, wenn in Schritt 2 die richtigen Kriterien erfüllt wurden.
- Der Browser erzwingt den Header "X-Frame-Options: ALLOW-FROM".
quelle
Antworten:
Verwenden Sie einen Webserver als Reverse-Proxy vor dem ADFS 3 und ändern Sie den HTTP-Header. Dies kann mit Apache oder Nginx erreicht werden . 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 zu liefern
Es ist ein weiterer Server und Dienst zu verwalten, aber ich verstehe, dass dies eine Anforderung ist, die Sie erfüllen müssen
quelle