ADC

NetScaler Gatewayおよび認証仮想サーバーが生成する応答に対するコンテンツセキュリティポリシー応答ヘッダーのサポート

NetScalerリリースビルド13.0~76.29以降、NetScaler Gatewayおよび認証仮想サーバーが生成する応答では、コンテンツセキュリティポリシー(CSP)応答ヘッダーがサポートされます。

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 サーバーを設定する必要があります。

注意事項

CLIを使用して仮想サーバーとNetScaler Gatewayが生成する応答を認証するようにCSPを構成するには、コマンドプロンプトで次のコマンドを入力します。

set aaa parameter -defaultCSPHeader <ENABLE/DISABLE>

NetScaler Gateway用のCSPを構成し、GUIを使用して仮想サーバーが生成した応答を認証すること。

  1. NetScaler Gateway > グローバル設定に移動し、[認証設定]の下の[ 認証AAA設定の変更 ]をクリックします。

    CSP global-1

  2. [ AAA パラメータの設定 ] ページで、[ デフォルト CSP ヘッダーで有効 ] フィールドを選択します。

    CSP global-2

カスタムコンテンツ-セキュリティ-ポリシーヘッダー

AAA エンドポイントが生成する応答の VPN 仮想サーバと認証仮想サーバのリライトポリシーを使用してカスタム CSP ヘッダーを設定できます。

以下は、次の 2 つの指定されたソースからのイメージとスクリプトのみをそれぞれ含めるための CSP ヘッダーのカスタマイズの例です。https://company.fqdn.comhttps://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 csp_pol true modify_csp
<!--NeedCopy-->

ポリシーを認証仮想サーバーにバインドするには、

bind authentication vserver auth_vs -policy csp_pol -priority 1 -type AAA_RESPONSE

bind authentication vserver auth_vs -policy csp_pol -priority 2 -type RESPONSE
<!--NeedCopy-->

ポリシーを VPN 仮想サーバーにバインドするには、

bind vpn vserver vpn_vs -policy csp_pol -priority 1 -type AAA_RESPONSE

bind vpn vserver vpn_vs -policy csp_pol -priority 2 -type RESPONSE
<!--NeedCopy-->

注:

特定の AAA 生成応答では、コンテンツスイッチングおよび負荷分散仮想サーバでカスタム CSP ヘッダーを設定できません。

NetScaler Gatewayおよび認証仮想サーバーが生成する応答に対するコンテンツセキュリティポリシー応答ヘッダーのサポート