web-dev-qa-db-ja.com

ADFS 3のx-frame-options HTTPヘッダーはどのように操作できますか?

デフォルトでは、ADFS 3応答には "X-Frame-Options:DENY" HTTPヘッダーが含まれています。これにより、クリックジャッキング攻撃が発生する可能性があるため、ADFSがiframeで実行されなくなります。

現在、私の会社はこのセキュリティルールに例外を設ける必要のある統合を実装しています。特定のドメインのページはADFSをiframeに埋め込むことができるはずです

ただし、ADFSでは、これをすぐに変更することはできません。では、このHTTPヘッダーを変更する最良の方法は何でしょうか。

たとえば、RFCで提案されているように( https://tools.ietf.org/html/rfc7034#section-2.3.2. )?

  1. 要求されたコンテンツをフレームにレンダリングしたいページは、独自のOrigin情報をサーバーに提供し、クエリ文字列パラメーターを介してフレーム化されるコンテンツを提供します。

  2. サーバーは、ホスト名がその基準を満たしていることを確認し、ページがターゲットリソースによってフレーム化されることを許可します。これは、たとえば、ページのフレーム化が許可されている信頼できるドメイン名のホワイトリストのルックアップを介して発生する可能性があります。たとえば、Facebookの「いいね」ボタンの場合、サーバーは、指定されたホスト名がその「いいね」ボタンに期待されるホスト名と一致することを確認できます。

  3. 手順2で適切な条件が満たされた場合、サーバーは「X-Frame-Options:ALLOW-FROM」でホスト名を返します。

  4. ブラウザは「X-Frame-Options:ALLOW-FROM」ヘッダーを強制します。
7
wkampmann

ADFS 3の前でWebサーバーをリバースプロキシとして使用し、HTTPヘッダーを変更します。これは、 Apache または Nginx を使用して実行できます。 ADFS 3にはプロキシが不要な場合があるため、配信する前にこれを十分にテストしてください。概念実証を提供する方法がありません

管理するサーバーとサービスがもう1つありますが、これはあなたが必要な要件であることを理解しています満たす必要があります

1
kamihack