Citrix ADC

Web アプリケーションファイアウォールのプロファイル設定

次に、アプライアンス上で設定する必要があるプロファイル設定を示します。

コマンドプロンプトで入力します。

add appfw profile <name> [-invalidPercentHandling <invalidPercentHandling>] [-checkRequestHeaders ( ON | OFF )] [-URLDecodeRequestCookies ( ON | OFF )] [-optimizePartialReqs ( ON | OFF )] [-errorURL <expression>] [-logEveryPolicyHit ( ON | OFF )] [-stripHtmlComments <stripHtmlComments>] [-stripXmlComments ( none | all )] [-postBodyLimitSignature <positive_integer>][-fileUploadMaxNum <positive_integer>][-canonicalizeHTMLResponse ( ON | OFF )][-percentDecodeRecursively ( ON | OFF )] [-multipleHeaderAction <multipleHeaderAction> ...][-inspectContentTypes <inspectContentTypes> ...][-semicolonFieldSeparator ( ON | OFF )]

例:

add appfw profile profile1 [-invalidPercentHandling secure_mode] [-checkRequestHeaders ON] [-URLDecodeRequestCookies OFF] [-optimizePartialReqs OFF]

各項目の意味は次のとおりです。

パーセントハンドリングが無効です。パーセントエンコードされた名前と値を処理する方法を設定します。

使用可能な設定は次のように機能します。

asp_mode-解析のために無効なパーセントを取り除き、解析します。例፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz)が削除され、残りのコンテンツが検査され、SQLInjection チェックのアクションが実行されます。 secure_mode-無効なパーセントコード値を検出し、無視します。例:- curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz)が検出され、カウンタが増加し、コンテンツはそのままサーバに渡されます。 apache_mode-このモードはセキュアモードと同様に動作します。 可能な値:apache_mode、asp_mode、secure_mode デフォルト値:secure_mode

OptimizePartialReqs。オフ/オン(セーフオブジェクトなし)の場合、Citrix ADCアプライアンスは部分的な要求をバックエンドサーバーに送信します。この部分的な応答はクライアントに送り返されます。OptimizePartialReqs は、セーフオブジェクトが構成されている場合に意味があります。アプライアンスは、オフのときはサーバーから完全な応答の要求を送信し、オンの場合は部分的な応答のみを要求します。

使用可能な設定は次のとおりです。

ON -クライアントによる部分的な要求は、バックエンドサーバーへの部分的な要求になります。 OFF-クライアントによる部分的な要求は、バックエンドサーバーへの完全な要求に変更されます。 可能な値:ON、OFF デフォルト値:ON

URLDecodeRequestCookie。URL SQL およびクロスサイトスクリプティングチェックの対象にする前に、リクエスト Cookie をデコードします。

可能な値:ON, OFF デフォルト値:OFF

署名投稿本文制限 (バイト)。場所が ‘HTTP_POST_BODY’ として指定された署名について検査されるリクエストペイロード (バイト単位) を制限します。

デフォルト値:8096 最小値:0 最大値:4294967295

ポストボディ制限 (バイト)。Web アプリケーションファイアウォールによって検査される要求ペイロード (バイト単位) を制限します。

デフォルト値:20000000 最小値:0 最大値:10ギガバイト

セキュリティ設定とそのGUI手順の詳細については、「 Web App Firewall プロファイルの構成 」トピックを参照してください。

ポストボディ制限アクションPostBodyLimit は、許可される HTTP 本文の最大サイズを指定した場合、エラー設定を使用します。 エラー設定を適用するには、1 つ以上の Post Body Limit アクションを設定する必要があります。この設定は、転送エンコーディングヘッダーがチャンクされている要求にも適用されます。

set appfw profile <profile_name> -PostBodyLimitAction block log stats

Where, Block-このアクションは、セキュリティチェックに違反する接続をブロックします。これは、設定された HTTP 本文の最大サイズ(本文後制限)に基づいています。このオプションは常に有効にする必要があります。

Log - このセキュリティチェックの違反を記録します。

Stats-このセキュリティー検査の統計を生成します。

注:

ポストボディ制限アクションのログ形式は、 標準の監査ログ形式に従うように変更されました。次に例を示します。 ns.log.4.gz:Jun 25 1.1.1.1. <local0.info> 10.101.10.100 06/25/2020:10:10:28 GMT 0-PPE-0 : default APPFW APPFW_POSTBODYLIMIT 1506 0 : <Netscaler IP> 4234-PPE0 - testprof ><URL> Request post body length(<Post Body Length>) exceeds post body limit.

inspectQueryContentTypes 次のコンテンツタイプの注入された SQL スクリプトとクロスサイトスクリプトのリクエストクエリと Web フォームを検査します。

set appfw profile p1 -inspectQueryContentTypes HTML XML JSON OTHER

可能な値:HTML、XML、JSON、その他

デフォルトでは、このパラメーターは「inspectQueryContentTypes: HTML JSON その他」として設定され、基本アプリケーションプロファイルと高度なアプリfw プロファイルの両方に対して設定されます。

XML としてクエリコンテンツタイプを検査する場合の例:

> set appfw profile p1 -type XML
Warning: HTML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not HTML or JSON respectively.
<!--NeedCopy-->

HTML としてインスペクションクエリコンテンツタイプの例:

> set appfw profile p1 -type HTML
Warning: XML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not XML or JSON respectively
Done
<!--NeedCopy-->

JSON としてクエリコンテンツタイプを検査する例:

> set appfw profile p1 -type JSON
Warning: HTML, XML checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action will not be applicable when profile type is not HTML or XML respectively
Done
<!--NeedCopy-->

ErrorURL 式です。Citrix Web App Firewall がエラーURLとして使用するURL。最大長:2047。

注:

要求された URL のブロック違反の場合、エラー URL がシグニチャ URL に似ている場合、アプライアンスは接続をリセットします。

logeVeryPolicyHit -セキュリティチェックの結果に関係なく、すべてのプロファイルの一致をログに記録します。 指定可能な値:オン、オフ。 デフォルト値:オフ。

stripXmlComments -ユーザーのリクエストに応答して、保護された Web サイトから送信されたウェブページを転送する前に、XML コメントを削除します。 可能な値:なし、すべて、exclude_script_tag。 デフォルト値:なし

postbodyLimitSignature-シグニチャ内のロケーション HTTP_POST_BODY のシグニチャインスペクションで許可される HTTP ポストボディの最大サイズ(バイト単位)。 値の変更は、CPU および遅延プロファイルに影響を与える可能性があります。 デフォルト値:2048。 最小値:0 最大値:4294967295

fileUploadMaxNum -フォーム送信リクエストごとに許可されるファイルアップロードの最大数。最大設定(65535)では、アップロードの数に制限はありません。 デフォルト値:65535 最小値:0 最大値:65535

CanonicalizeHtmlResponse -保護されたウェブサイトから送信されたレスポンス内の特殊文字に対して HTML エンティティエンコーディングを実行します。 可能な値:ON, OFF デフォルト値:ON

PercentDecodeRecursively -アプリケーションファイアウォールがパーセンテージ再帰的デコードを使用するかどうかを構成します。 可能な値:ON, OFF デフォルト値:ON

MultipleHeaderAction -1 つ以上の複数のヘッダーアクション。使用可能な設定は次のように機能します。

  • ブロック。複数のヘッダーを持つ接続をブロックします。
  • ログ。複数のヘッダーを持つ接続をログに記録します。
  • KeepLast。複数のヘッダーが存在する場合は、最後のヘッダーのみを保持します。

InspectContentTypes — 1 つ以上の InspectContentType リスト。

  • application/x-www-form-urlencoded
  • multipart/form-data
  • text/x-gwt-rpc

可能な値:なし、アプリケーション/x-www-form-urlencoded、マルチパート/フォームデータ、テキスト/x-gwt-rpc

semicolonFieldSeparator -URL クエリおよび POST フォーム本文でフォームフィールドの区切り文字として ‘;’ を許可します。 可能な値: ON, OFF デフォルト値:OFF

Web アプリケーションファイアウォールのプロファイル設定