バッファオーバーフローチェック
-
URL の最大長。Web App Firewall がリクエストされた URL で許可する最大長。より長い 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
NetScaler GUIを使用してバッファオーバーフローセキュリティチェックを構成する
-
[NetScaler Web App Firewall プロファイル ]ページで、 [詳細設定] セクションに移動し、[ セキュリティチェック]をクリックします。
-
セキュリティチェックセクションで 、「 バッファオーバーフロー 」を選択し、「 アクション設定」をクリックします。
-
バッファオーバーフロー設定ページで 、次のパラメータを設定します。 a. アクション。コマンドインジェクションセキュリティチェックのために実行するアクションを 1 つ以上選択します。 b. URL の最大長保護されている Web サイトの URL の最大長 (文字数)。より長い URL を持つリクエストはブロックされます。 c. クッキーの最大長。保護された Web サイトに送信される Cookie の最大長 (文字数)。長い 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>\*\*
-
「 NetScaler 」>「 システム 」>「 監査 」の順に選択して、Syslogビューアにアクセスすることもできます。 監査メッセージセクションで、 Syslog メッセージリンクをクリックして Syslog Viewer を表示します。このビューアには、他のセキュリティチェック違反ログを含むすべてのログメッセージが表示されます。これは、要求処理中に複数のセキュリティチェック違反がトリガーされる可能性がある場合のデバッグに役立ちます。
-
アプリケーションファイアウォール > ポリシー > 監査に移動します。 監査メッセージセクションで 、 Syslog メッセージリンクをクリックして Syslog Viewer を表示します。このビューアには、他のセキュリティチェック違反ログを含むすべてのログメッセージが表示されます。
-
イベントタイプとしてAPPFW_BUFFEROVERFLOW_URLチェックボックスを有効にして、対応するログメッセージをフィルタリングします。
-
チェックボックスをオンにして、ルールを選択します。
-
オプションの「 アクション 」ドロップダウンリストを使用して、リラクゼーションをデプロイします。
バッファオーバーフロー違反の統計
> sh appfw stats
> stat appfw profile <profile name>
-
システム > セキュリティ > アプリケーションファイアウォールに移動します。
-
スクロールバーを使用して、バッファオーバーフロー違反とログに関する統計を表示します。統計テーブルはリアルタイムデータを提供し、7秒ごとに更新されます。
ハイライト
-
バッファオーバーフローセキュリティチェックでは、URL、Cookie、およびヘッダーの最大長を制限するように制限を設定できます。
-
ブロック、 ログ 、 統計アクションにより 、トラフィックを監視し、アプリケーションに最適な保護を設定できます。
-
Syslog ビューアでは、バッファオーバーフロー違反に関するすべてのログメッセージをフィルタリングして表示できます。
-
BufferOverflowMaxURLLength 違反に対しては、クリックしてデプロイする機能がサポートされています 。個別のルールを選択して展開することも、複数のログメッセージを選択して、現在設定されている URL の最大長を微調整したり緩和したりすることもできます。選択したグループの URL の最大値が新しい値として設定され、現在違反としてフラグが付けられているこれらのリクエストがすべて許可されます。
-
Web App Firewall は、受信したリクエストを検査する際に個々の Cookie を評価するようになりました。クッキーヘッダーで受信されたクッキーのいずれかの長さが、設定された BufferOverflowMaxCookieLength を超えると、バッファオーバーフロー違反がトリガーされます。