#はじめに
Windows ServerのADFSサービスですが、セキュリティ攻撃のターゲットになることが多く、セキュリティを管理している部門から各種設定を追加するようにといった要求が来ることがあります。ここでは、X-XSS-Protectionヘッタの設定方法に関して記述しています。
X-XSS-Protection ヘッターは、IE, Chrome, Safariの機能で、反射型クロスサイトスクリプティング (XSS) 攻撃を検出したときに、ページの読み込みを停止します。 本ヘッター設定は、最近のブラウザでは、不要ですが、古いブラウザに有効なため、セキュリティ監査で設定を要求される場合があります。
#事前確認
実行前に、ADFSサーバーアクセスした際にCSPヘッタが設定されていないことを確認します。
ブラウザ(chromeなど)を開き、F12キーをクリック、ネットワークのタブを選択します。続いて、ADFSのURLを開きます。
https:///adfs/ls/IdpInitiatedSignon.aspx
Response Headersを参照して、X-XSS-Protectionヘッター無いことを確認します。
#設定
ADFSサーバー(複数台ある場合プライマリサーバー)にログインします。サーバー上で、PowerShellを管理者モードで起動します。
下記のコマンドを実行します。
Set-AdfsResponseHeaders -SetHeaderName "X-XSS-Protection" -SetHeaderValue "1"
設定後下記コマンド設定内容を確認します。
Get-AdfsResponseHeaders | fl
ResponseHeaders : {[X-Frame-Options, DENY], [X-XSS-Protection, 1]}
ResponseHeadersEnabled : True
#確認
設定が正しく反映しているか確認します。確認の項目と同様にブラウザ(chromeなど)を開き、F12キーをクリック、ネットワークのタブを選択します。続いて、ADFSのURLを開きます。
#おまけ
以前、ADFSサーバーのヘッターを登録したのですが、設定に誤りがありうまく動作しなくなりました。この際のヘッター設定の削除ですが、Set-の対にRemove- があるかと思いきや、Remove- は、ADFSにありませんでした。
削除は、下記のコマンドで実行します。
Set-AdfsResponseHeaders -RemoveHeaders "ヘッター名"
#参考資料
[AD FS 2019 で HTTP セキュリティ応答ヘッダーをカスタマイズする][link1]
[link1]:[https://docs.microsoft.com/ja-jp/windows-server/identity/ad-fs/operations/customize-http-security-headers-ad-fs]