ADC

インポート

Web App Firewall の一部の機能は、Web App Firewall の設定時にアップロードした外部ファイルを利用します。GUI を使用して、インポートペインでこれらのファイルを管理します。このペインには、インポートできる 4 種類のファイル (HTML エラーオブジェクト、XML エラーオブジェクト、XML スキーマ、Web サービス記述言語 (WSDL) ファイル) に対応する 4 つのタブがあります。NetScalerコマンドラインを使用すると、これらの種類のファイルをインポートすることはできますが、エクスポートすることはできません。

HTML エラーオブジェクト

HTML または Web 2.0 ページへのユーザーの接続がブロックされたり、ユーザーが存在しない HTML または Web 2.0 ページを要求したりすると、Web App Firewall は HTML ベースのエラー応答をユーザーのブラウザに送信します。Web App Firewall が使用しなければならないエラーレスポンスを設定する場合、次の 2 つの選択肢があります。

  • リダイレクト URL を設定できます。リダイレクト URL は、ユーザーがアクセスできる任意の Web サーバーでホストできます。たとえば、Web サーバーに 404.html というカスタムエラーページがある場合、接続がブロックされたときにユーザーをそのページにリダイレクトするように Web App Firewall を構成できます。
  • HTML エラーオブジェクトを設定できます。これは Web App Firewall 自体でホストされる HTML ベースの Web ページです。このオプションを選択した場合は、HTML エラーオブジェクトを Web App Firewall にアップロードする必要があります。これは、「インポート」ペインの「HTML エラーオブジェクト」タブで行います。

エラーオブジェクトは、Web App Firewall エラーオブジェクトカスタマイズ変数以外の HTML 以外の構文を含まない標準 HTML ファイルでなければなりません。CGI スクリプト、サーバーで解析されたコード、または PHP コードを含めることはできません。カスタマイズ変数を使用すると、リクエストがブロックされたときにユーザーが受け取るエラーオブジェクトにトラブルシューティング情報を埋め込むことができます。Web App Firewall がブロックするほとんどのリクエストは違法ですが、Web App Firewall が適切に設定されていても、特に最初にデプロイしたときや、保護されているウェブサイトに大幅な変更を加えた後で、正当なリクエストがブロックされることがあります。エラーページに情報を埋め込むことで、ユーザーがテクニカルサポート担当者に提供する必要のある情報をユーザーに提供し、問題を解決できるようになります。

Web App Firewall エラーページのカスタマイズ変数は次のとおりです。

  • ${NS_TRANSACTION_ID}. Web App Firewall がこのトランザクションに割り当てたトランザクション ID。
  • ${NS_APPFW_SESSION_ID}. Web App Firewall セッション ID。
  • ${NS_APPFW_VIOLATION_CATEGORY}. 違反した特定の Web App Firewall セキュリティチェックまたはルール。
  • ${NS_APPFW_VIOLATION_LOG}. 違反に関連する詳細なエラーメッセージ。

  • $ { COOKIE 指定されたCookie の内容。<CookieName>を、エラーページに表示したい特定の Cookie の名前の代わりに使用してください。トラブルシューティングのために内容を表示したい Cookie が複数ある場合は、このカスタマイズ変数の複数のインスタンスを、それぞれ適切な Cookie 名で使用できます。 :Cookie の整合性チェックでブロックを有効にしている場合、Web App Firewall がブロックするため、ブロックされた Cookie はエラーページに表示されません。

これらの変数を使用するには、通常のテキスト文字列であるかのように、エラーページオブジェクトの HTML または XML に埋め込みます。エラーオブジェクトがユーザーに表示されると、Web App Firewall はカスタマイズ変数ごとに、変数が参照する情報を置き換えます。カスタム変数を使用する HTML エラーページの例を以下に示します。

<!doctype html public "-//w3c//dtd html 4.0//en">  <html>  <head>  <title>Page Not Accessible</title>  </head>  <body>  <h1>Page Not Accessible</h1>  <p>The page that you accessed is not available. You can:</p>  <ul>  <li>return to the <b><a href="[homePage]">home page</a></b>, re-establish your session, and try again, or,</li>  <li>report this incident to the help desk via <b><a href="mailto:[helpDeskEmailAddress]">email</a></b> or by calling [helpDeskPhoneNumber].</li>  </ul>  <p>If you contact the help desk, please provide the following information:</p>  <table cellpadding=8 width=80%>  <tr><th align="right" width=30%>Transaction ID:</th><td align="left" valign="top" width=70%>${NS_TRANSACTION_ID}</td></tr>  <tr><th align="right" width=30%>Session ID:</th><td align="left" valign="top" width=70%>${NS_APPFW_SESSION_ID}</td></tr>  <tr><th align="right" width=30%>Violation Category:</th><td align="left" valign="top" width=70%>${NS_APPFW_VIOLATION_CATEGORY}</td></tr>  <tr><th align="right" width=30%>Violation Log:</th><td align="left" valign="top" width=70%>${NS_APPFW_VIOLATION_LOG}</td></tr>  <tr><th align="right" width=30%>Cookie Name:</th><td align="left" valign="top" width=70%>${COOKIE("[cookieName]")}</td></tr>  </table>  <body>  <html>
<!--NeedCopy-->

このエラーページを使用するには、テキストエディターまたは HTML エディターにコピーします。NetScaler変数と区別できるように角括弧で囲まれた次の変数は、適切なローカル情報に置き換えてください。(これらはそのままにしておきます。):

  • [homePage]。ウェブサイトのホームページの URL。
  • [helpDeskEmailAddress]。ユーザーにブロックインシデントの報告に使用させたいメールアドレス。
  • [helpDeskPhoneNumber]。ブロッキングインシデントを報告するためにユーザーに問い合わせる電話番号。
  • [cookieName]。エラーページに内容を表示したいCookie の名前。

XML エラーオブジェクト

XML ページへのユーザーの接続がブロックされたり、存在しない XML アプリケーションを要求したりすると、Web App Firewall は XML ベースのエラー応答をユーザーのブラウザに送信します。エラーレスポンスを設定するには、XML ベースのエラーページを [インポート] ペインの [XML エラーオブジェクト] タブの Web App Firewall にアップロードします。すべての XML エラー応答は Web App Firewall でホストされます。XML アプリケーションのリダイレクト URL は設定できません。

** 注**:XML エラーオブジェクトでも HTML エラーオブジェクトと同じカスタマイズ変数を使用できます。

XML スキーマ

Web App Firewall は、XML または Web 2.0 アプリケーションに対するユーザーのリクエストに対して検証チェックを実行すると、そのリクエストをそのアプリケーションの XML スキーマまたはデザインタイプドキュメント(DTD)と照らし合わせて検証し、スキーマまたは DTD に従わないリクエストを拒否できます。XML スキーマと DTD はどちらも、特定タイプの XML ドキュメントの構造を記述する標準 XML 設定ファイルです。

WSDL

Web App Firewall は、XML SOAP ベースの Web サービスに対するユーザーのリクエストに対して検証チェックを実行すると、その Web サービスの Web サービスタイプ定義 (WSDL) ファイルと照らし合わせてリクエストを検証できます。WSDL ファイルは、特定の XML SOAP Web サービスの要素を定義する標準の XML SOAP 設定ファイルです。

API 仕様インポートオブジェクト

API 仕様は、エンドポイント、メソッド、パラメータ、データ形式を含む API の設計を定義します。API 仕様のインポート機能により、REST API を記述するために一般的に使用されるオープン API 仕様をインポートできます。 Web App Firewall は、API ベースの Web サービスに対するユーザーのリクエストを検証チェックするときに、その Web サービスの API 仕様ファイルに指定されているスキーマと照合してリクエストを検証します。 NetScalerはREST APIのスキーマ検証をサポートしています。ペイロードはアプリケーションJSONで、gRPC APIリクエストの場合はProtoBufです。

NetScalerは次の仕様形式をサポートしています:

  • オープン API-スワッガー 2.0、OAS 3.0、3.1
  • プロトバフ-v3 と v2
インポート