この記事は機械翻訳されています.免責事項
NetScaler Gateway および認証仮想サーバーで生成された応答に対するコンテンツセキュリティポリシーの応答ヘッダーのサポート
NetScalerリリースビルド13.0〜76.29以降、コンテンツセキュリティポリシー(CSP)応答ヘッダーは、NetScaler Gateway および認証仮想サーバーで生成された応答でサポートされています。
Content-Security-Policy(CSP)レスポンスヘッダーは、クロスサイトスクリプティング(CSS)攻撃を回避するためにブラウザが使用するポリシーの組み合わせです。 HTTP CSP レスポンスヘッダーを使用すると、Web サイト管理者は、ユーザーエージェントが特定のページに対してロードできるリソースを制御できます。いくつかの例外を除いて、ポリシーには主にサーバーオリジンとスクリプトエンドポイントの指定が含まれます。これにより、クロスサイトスクリプティング攻撃から保護できます。 CSP ヘッダーは、ブラウザーがページをレンダリングする方法を変更し、CSS を含むさまざまなクロスサイトインジェクションから保護するように設計されています。ウェブサイトの適切な操作を妨げないように、ヘッダー値を正しく設定することが重要です。たとえば、ヘッダーがインライン JavaScript の実行を妨げるように設定されている場合、Web サイトはそのページでインライン JavaScript を使用してはいけません。
CSP レスポンスヘッダーの利点は次のとおりです。
- CSP 応答ヘッダーの主な機能は、CSS 攻撃を防ぐことです。
- サーバーでは、コンテンツのロード元となるドメインを制限することに加えて、どのプロトコルを使用できるかを指定できます。たとえば(理想的にはセキュリティの観点から)、サーバーはすべてのコンテンツをHTTPSを使用してロードする必要があることを指定できます。
- CSPは、「tmindex.html」や「homepage.html」などのファイルを保護することで、クロスサイトスクリプティング攻撃からNetScalerを保護するのに役立ちます。ファイル “tmindex.html” は認証に関連しており、ファイル “homepage.html” は公開されたアプリ/リンクに関連しています。
NetScaler Gateway のコンテンツセキュリティポリシーヘッダーと認証仮想サーバーが生成する応答の構成
CSP ヘッダーを有効にするには、CSP HTTP ヘッダーを返すように Web サーバーを設定する必要があります。
注意事項
- デフォルトでは、CSP ヘッダーは無効になっています。
- デフォルトの CSP ポリシーを有効または無効にする場合は、次のコマンドを実行することをお勧めします。
Flush cache contentgroup loginstaticobjects
- /logon/LogonPoint/index.html の CSP を変更するには、ディレクトリ
/var/netscaler/logon
の下にあるログオンディレクトリに対応するセクションで、必要に応じて「ヘッダーセット Content-Security-Policy」値を変更します。- GUI を使用して書き換えアクションとポリシーを設定する方法については、「書き換え」を参照してください。
CLIを使用して認証仮想サーバーおよびNetScaler Gateway が生成する応答用にCSPを構成するには、コマンドプロンプトで次のコマンドを入力します。
set aaa parameter -defaultCSPHeader <ENABLE/DISABLE>
GUIを使用して、NetScaler Gateway と認証仮想サーバーが生成する応答用にCSPを構成します。
-
NetScaler Gateway > グローバル設定に移動し、[認証設定]の下の[ 認証AAA設定の変更 ]をクリックします。
-
[ AAA パラメータの設定 ] ページで、[ デフォルト CSP ヘッダーで有効 ] フィールドを選択します。
Content-Security-Policy ヘッダーのカスタマイズの例
次に、CSP ヘッダーのカスタマイズで、次の 2 つの指定されたソースからのイメージとスクリプトのみをそれぞれ含める例を示します。https://company.fqdn.com, https://example.com.
。
設定例
add rewrite action modify_csp insert_http_header Content-Security-Policy "\"default-src 'self'; script-src 'self' https://company.fqdn.com 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src http://localhost:* https://example.com 'self' data: http: https:; style-src 'self' 'unsafe-inline'; font-src 'self'; frame-src 'self'; child-src 'self' com.citrix.agmacepa://* citrixng://* com.citrix.nsgclient://*; form-action 'self'; object-src 'self'; report-uri /nscsp_violation/report_uri\""
add rewrite policy add_csp true modify_csp
bind authentication vserver auth1 -policy add_csp -priority 1 -gotoPriorityExpression NEXT -type AAA_RESPONSE