ADC

HTTP RFC コンプライアンスを強制する

NetScaler Web App Firewallは、HTTP RFC準拠の着信トラフィックを検査し、デフォルトでRFC違反のある要求をドロップします。ただし、特定のシナリオがあり、アプライアンスが非 RFC コンプライアンス要求をバイパスまたはブロックする必要がある場合があります。このような場合、グローバルレベルまたはプロファイルレベルでこのような要求をバイパスまたはブロックするようにアプライアンスを設定できます。

グローバルレベルで非 RFC 準拠要求をブロックまたはバイパスする

HTTP モジュールは、リクエストが不完全で、WAF で処理できないリクエストが無効であると識別します。たとえば、受信 HTTP リクエストにホストヘッダーがないとします。 このような無効な要求をブロックまたはバイパスするには、アプリケーションファイアウォールのグローバル設定でmalformedReqActionオプションを構成する必要があります。

‘malformedReqAction’ パラメーターは、受信したリクエストのコンテンツ長が無効か、チャンクされたリクエストが無効か、HTTP バージョンがないか、ヘッダーが不完全かどうかを検証します。

注:

malformedReqAction パラメータでブロックオプションを無効にすると、アプライアンスはすべての非 RFC コンプライアンス要求に対してアプリケーションファイアウォール処理全体をバイパスし、要求を次のモジュールに転送します。

コマンドラインインターフェイスを使用して無効な非 RFC 苦情 HTTP 要求をブロックまたはバイパスするには

無効な要求をブロックまたはバイパスするには、次のコマンドを入力します。

set appfw settings -malformedreqaction <action>

例:

set appfw settings –malformedReqAction block

不正なリクエストアクション設定を表示するには

不正なリクエストアクション設定を表示するには、次のコマンドを入力します。

show appfw settings

出力:

DefaultProfile:  APPFW_BYPASS UndefAction:  APPFW_BLOCK SessionTimeout:  900     LearnRateLimit:  400     SessionLifetime:  0 SessionCookieName:  citrix_ns_id ImportSizeLimit:  134217728 SignatureAutoUpdate:  OFF SignatureUrl:"https://s3.amazonaws.com/NSAppFwSignatures/SignaturesMapping.xml" CookiePostEncryptPrefix:  ENC GeoLocationLogging:  OFF CEFLogging:  OFF       EntityDecoding:  OFF     UseConfigurableSecretKey:  OFF SessionLimit:  100000    MalformedReqAction:  block log stats
 Done
<!--NeedCopy-->

NetScaler GUIを使用して無効な非RFC苦情HTTPリクエストをブロックまたはバイパスするには

  1. セキュリティ]>[NetScaler Web App Firewall]に移動します。
  2. NetScaler Web App Firewall]ページで、[設定]の下の[エンジン設定の変更 をクリックします。
  3. [NetScaler Web App Firewall設定の構成] ページで、[ 不正な形式の要求をログに記録する ]オプションを選択します。[ブロック]、[ログ]、または[統計]を選択します。
  4. OKをクリックして閉じます

注:

ブロックアクションの選択を解除するか、不正な形式のリクエストアクションを選択しなかった場合、アプライアンスはユーザーを脅かすことなくリクエストをバイパスします。

プロファイルレベルで非 RFC 準拠要求をブロックまたはバイパスする

他の非 RFC 準拠要求は、プロファイルレベルでブロックまたはバイパスするように設定できます。RFC プロファイルは、ブロックモードまたはバイパスモードのいずれかで設定する必要があります。この設定を行うと、Web App Firewall プロファイルに一致する無効なトラフィックはバイパスされるか、それに応じてブロックされます。RFC プロファイルは、次のセキュリティチェックを検証します。

  • 無効な GWT-RPC リクエスト
  • 無効なコンテンツタイプヘッダー
  • 無効なマルチパートリクエスト
  • 無効な JSON リクエスト
  • 重複する Cookie 名と値のペアチェック

注:

RFC プロファイルを「バイパス」モードで設定する場合は、「 HTML クロスサイトスクリプティング設定」および「HTML SQL インジェクション設定** 」セクションで変換オプションを無効にする必要があります。バイパスモードでRFCプロファイルを有効にして設定すると、アプライアンスには「クロスサイトスクリプトの変換」と「SQL 特殊文字の変換」の両方が現在オンになっているという警告メッセージが表示されます。APPFW_RFC_BYPASSと一緒に使用する場合は、オフにすることをお勧めします。

重要:

また、アプライアンスには、「Appfw セキュリティチェックは、このプロファイルが設定されている場合、RFC チェックに違反する要求には適用されない可能性があります。RFC 違反を含むリクエストが部分的に変換される可能性があるため、変換設定を有効にすることは推奨されません。」

コマンドラインインターフェイスを使用して Web App Firewall プロファイルで RFC プロファイルを構成するには

コマンドプロンプトで、次のコマンドを入力します。

set appfw profile <profile_name> -rfcprofile <rfcprofile_name

set appfw profile P1 -rfcprofile APPFW_RFC_BLOCK

注:

デフォルトでは、 RFC プロファイルはブロックモードの Web App Firewall プロファイルにバインドされます。

GUI を使用して Web App Firewall プロファイルで RFC プロファイルを構成するには

  1. セキュリティ]> NetScaler Web App Firewall]>[プロファイル]に移動します。
  2. [プロファイル] ページでプロファイルを選択し、[編集] をクリックします。
  3. Web App Firewall プロファイルページで 、[ 詳細設定] セクションの [プロファイル設定] をクリックします。
  4. [ HTML 設定] セクションで、 RFC プロファイルを APPFW_RFC_BYPASS mode に設定します。 警告メッセージが表示されます。「Appfw Security Check enabledは、このプロファイルが設定されている場合、RFC チェックに違反する要求には適用できない可能性があります。RFC 違反を含むリクエストが部分的に変換される可能性があるため、変換設定を有効にすることはお勧めしません。」
HTTP RFC コンプライアンスを強制する