バッファオーバーフローチェック
-
URL の最大長。要求された URL で Web App Firewall が許可する最大長。より長い URL を持つリクエストはブロックされます。可能な値: 0〜65535。デフォルト: 1024
-
クッキーの最大長。Web App Firewall がリクエスト内のすべての Cookie を許可する最大長です。より長いクッキーを使用したリクエストは、違反をトリガーします。可能な値: 0〜65535。デフォルト:4096
-
ヘッダーの最大長。Web App Firewall で HTTP ヘッダーを許可する最大長。長いヘッダーを持つリクエストはブロックされます。可能な値: 0〜65535。デフォルト:4096
-
クエリ文字列の長さ。受信リクエストのクエリ文字列に許可される最大長。クエリが長くなるリクエストはブロックされます。可能な値: 0〜65535。デフォルト: 1024
-
要求の長さの合計です。着信要求に許可される最大要求長。長い長さの要求はブロックされます。可能な値: 0〜65535。デフォルト:24820
コマンドラインを使用したバッファオーバーフローのセキュリティチェックの設定
add appfw profile <name> -bufferOverflowMaxURLLength <positive_integer> -bufferOverflowMaxHeaderLength <positive_integer> - bufferOverflowMaxCookieLength <positive_integer> -bufferOverflowMaxQueryLength <positive_integer> -bufferOverflowMaxTotalHeaderLength <positive_integer>
add appfw profile profile1 –bufferOverflowMaxURLLength 7000 –bufferOverflowMaxHeaderLength 7250 – bufferOverflowMaxCookieLength 7100 –bufferOverflowMaxQueryLength 7300 –bufferOverflowMaxTotalHeaderLength 7300
Citrix ADC GUIを使用してバッファオーバーフローのセキュリティチェックを構成する
-
Security > Web App FirewallおよびProfilesに移動します。
-
\[プロファイル\] ページで、プロファイルを選択し、\[編集\] をクリックします。
-
[Citrix Web App Firewall プロファイル]ページで、[詳細設定]セクションに移動し、[セキュリティチェック]をクリックします。
-
「 セキュリティチェック 」セクションで、「 バッファオーバーフロー 」を選択し、「 アクション設定」をクリックします。
-
バッファオーバーフロー設定 ページで、次のパラメータを設定します。 a. アクション。コマンドインジェクションセキュリティチェックに対して実行するアクションを 1 つ以上選択します。 b. URL の最大長。保護された Web サイトの URL の最大長(文字単位)。より長い URL を持つリクエストはブロックされます。 c. Cookieの最大長。保護された Web サイトに送信される Cookie の最大長(文字数)。クッキーの長いリクエストはブロックされます。 d. ヘッダーの 最大長保護された Web サイトに送信されるリクエストの HTTP ヘッダーの最大長(文字単位)。長いヘッダーを持つリクエストはブロックされます。 e. クエリーの最大長。保護された Web サイトに送信されるクエリ文字列の最大長(バイト単位)。長いクエリ文字列を持つリクエストはブロックされます。 f. ヘッダーの最大合計長。保護された Web サイトに送信されるリクエストの HTTP ヘッダーの合計長に対する最大長(バイト単位)。HttpProfileにおけるこの値とMaxHeaderLenの最小値が使用されます。長い長さの要求はブロックされます。
-
\[ OK**\]を**クリックして\[閉じる\]をクリックします。

バッファオーバーフローのセキュリティチェックでのログ機能の使用
> \*\*Shell\*\*
> \*\*tail -f /var/log/ns.log | grep APPFW_BUFFEROVERFLOW\*\*
Oct 22 17:35:20 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|\*\*APPFW_BUFFEROVERFLOW_COOKIE\*\*|6|src=10.217.253.62 geolocation=Unknown spt=41198 method=GET request=http://aaron.stratum8.net/FFC/sc11.html \*\*msg=Cookie header length(43) is greater than maximum allowed(16).\*\* cn1=119 cn2=465 cs1=owa_profile cs2=PPE1 cs3=wvOOOb+cJ2ZRbstZpyeNXIqLj7Y0001 cs4=ALERT cs5=2015 \*\*act=not blocked\*\*
Oct 22 18:39:56 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|\*\*APPFW_BUFFEROVERFLOW_URL\*\*|6|src=10.217.253.62 geolocation=Unknown spt=19171 method=GET request=http://aaron.stratum8.net/FFC/sc11.html \*\*msg=URL length(39) is greater than maximum allowed(20).\*\* cn1=707 cn2=402 cs1=owa_profile cs2=PPE0 cs3=kW49GcKbnwKByByi3+jeNzfgWa80000 cs4=ALERT cs5=2015 \*\*act=not blocked\*\*
Oct 22 18:44:00 <local0.info> 10.217.31.98 10/22/2015:18:44:00 GMT ns 0-PPE-2 : default APPFW \*\*APPFW_BUFFEROVERFLOW_HDR\*\* 155 0 : 10.217.253.62 374-PPE2 khhBEeY4DB8V2D3H2sMLkXmfWnA0002 owa_profile \*\*Header(User-Agent) length(82) is greater than maximum allowed(10)\*\* : http://aaron.stratum8.net/ \*\*<blocked>\*\*
-
\[アプリケーションファイアウォール\] > \[プロファイル\] に移動し、ターゲットプロファイルを選択して \[セキュリティチェック\] をクリックします。\[バッファオーバーフロー\] 行をハイライト表示し、\[ログ\] をクリックします。 プロファイルのBuffer Overflow Security Checkから直接ログにアクセスすると、GUI によってログメッセージが除外され、これらのセキュリティチェック違反に関連するログのみが表示されます。
-
また、「 NetScaler 」>「 システム 」>「 監査 」に移動して、Syslogビューアにアクセスすることもできます。 \[監査メッセージ\] セクションで、\[ Syslog メッセージ \] リンクをクリックして Syslog Viewer を表示します。このビューアーには、他のセキュリティチェック違反ログを含むすべてのログメッセージが表示されます。これは、要求処理中に複数のセキュリティー検査違反がトリガーされる可能性がある場合のデバッグに役立ちます。
-
\[アプリケーションファイアウォール\] > \[ポリシー\] > \[監査\] に移動します。\[ 監査メッセージ \] セクションで、\[ Syslog メッセージ \] リンクをクリックして Syslog Viewer を表示します。このビューアーには、他のセキュリティチェック違反ログを含むすべてのログメッセージが表示されます。
-
Syslogビューアで、 モジュール オプションで APPFW を選択します。
-
対応するログ・メッセージをフィルタリングするには、 イベント・タイプとして「APPFW_BUFFEROVERFLOW_URL 」チェック・ボックスを有効にします。
-
ルールを選択するには、チェックボックスをオンにします。
-
緩和をデプロイするには、オプションの \[Action\] ドロップダウンリストを使用します。
-
\[アプリケーションファイアウォール\] > \[プロファイル\] に移動し、ターゲットプロファイルを選択し、\[セキュリティチェック\] をクリックして \[バッファオーバーフロー の設定\] ペインにアクセスし、\[URL の最大長\] の値が更新されたことを確認します。
バッファオーバーフロー違反の統計情報
> sh appfw stats
> stat appfw profile <profile name>
-
\[システム\] > \[セキュリティ\] > \[アプリケーションファイアウォール\] に移動します。
-
右側のペインで、\[統計 リンク\] にアクセスします。
-
スクロールバーを使用して、バッファオーバーフローの違反とログに関する統計を表示します。統計テーブルはリアルタイムデータを提供し、7秒ごとに更新されます。
ハイライト
-
バッファオーバーフローセキュリティチェックでは、許可される URL、Cookie、およびヘッダーの最大長を強制する制限を設定できます。
-
Block、 Log、 Statsアクションを使用すると、トラフィックを監視し、アプリケーションに最適な保護を設定できます。
-
Syslog ビューアを使用すると、バッファオーバーフロー違反に関連するすべてのログメッセージをフィルタリングおよび表示できます。
-
クイック展開 機能は、 バッファーオーバーフロー最大URLLength 違反に対してサポートされています。個々のルールを選択して展開することも、複数のログメッセージを選択して、URL の最大許容長である現在設定されている値を調整して緩和することもできます。選択したグループの URL の最大値が新しい値として設定され、現在違反としてフラグが付けられているすべての要求が許可されます。
-
Web App Firewall は、着信リクエストを検査する際に、個々の Cookie を評価するようになりました。Cookie ヘッダーで受信した 1 つの Cookie の長さが、設定されている BufferOverflowMaxCookieLengthを超えると、バッファオーバーフロー違反がトリガーされます。