XML クロスサイトスクリプティングチェック
<![CDATA[rn
<script language="Javascript" type="text/javascript">alert ("Got you")</script>rn
]]>
アクションオプション
-
ブロック—リクエストでクロスサイトスクリプティングタグが検出されると、ブロックアクションがトリガーされます。
-
ログ:XML クロスサイトスクリプティングチェックによって実行されたアクションを示すログメッセージを生成します。ブロックを無効にすると、クロスサイトスクリプティング違反が検出された場所 (ELEMENT、ATTRIBUTE) ごとに個別のログメッセージが生成されます。ただし、要求がブロックされると、1 つのメッセージだけが生成されます。ログを監視して、正当な要求に対する応答がブロックされているかどうかを判断できます。ログメッセージの数が大幅に増加すると、攻撃を開始しようとしたことを示している可能性があります。
-
統計情報— 違反やログに関する統計を収集します。stats カウンタの予期しない急増は、アプリケーションが攻撃を受けていることを示している可能性があります。正当なリクエストがブロックされる場合、新しい緩和ルールを構成する必要があるか、既存の緩和ルールを変更する必要があるかを確認するために、構成を再確認しなければならない場合があります。
リラクゼーションルール
-
名前—リテラル文字列または正規表現を使用して、要素または属性の名前を設定できます。次の式では、文字列 name_ で始まり、その後に大文字または小文字、または数字からなる文字列、つまり 2 文字以上で 15 文字以下のすべての要素が除外されます。
\^name_[0-9A-Za-z]{2,15}$
-
XMLcross-site scripting: ABC IsRegex: NOTREGEXLocation: ATTRIBUTE State: ENABLED -
XMLcross-site scripting: ABC IsRegex: NOTREGEXLocation: ELEMENT State: ENABLED -
XMLcross-site scripting: abc IsRegex: NOTREGEXLocation: ELEMENT State: ENABLED -
XMLcross-site scripting: abc IsRegex: NOTREGEXLocation: ATTRIBUTE State: ENABLED
-
場所— XML ペイロード内のクロスサイトスクリプティングチェック例外の場所を指定できます。デフォルトでは ELEMENT オプションが選択されています。 属性に変更できます。
-
コメント:これはオプションのフィールドです。この緩和ルールの目的を説明するには、最大255文字の文字列を使用できます。
コマンドラインを使用して XML クロスサイトスクリプティングチェックを設定する
> set appfw profile <name> -XMLcross-site scriptingAction (([block] [log] [stats]) | [none])
> bind appfw profile <name> -XMLcross-site scripting <string> [isRegex (REGEX | NOTREGEX)] [-location ( ELEMENT | ATTRIBUTE )] –comment <string> [-state ( ENABLED | DISABLED )]
> unbind appfw profile <name> -XMLcross-site scripting <String>
> bind appfw profile test_pr -XMLcross-site scripting ABC
1) XMLcross-site scripting: ABC IsRegex: NOTREGEX
Location: ELEMENT State: ENABLED
`> unbind appfw profile test_pr -XMLcross-site scripting abc`
ERROR: No such XMLcross-site scripting check
`> unbind appfw profile test_pr -XMLcross-site scripting ABC`
Done
GUI を使用して XML クロスサイトスクリプティングチェックを設定する
-
「緩和規則」テーブルで、「XML クロスサイトスクリプティング」エントリをダブルクリックするか、エントリを選択して「編集」をクリックします。
-
XML クロスサイトスクリプティング緩和規則ダイアログボックスで、緩和規則の追加、 編集、 削除、 有効化、 または無効化の操作を実行します 。
<http://support.citrix.com/proddocs/topic/ns-security-10-map/appfw-signatures-con.html>
xss/allowed/attribute
xss/allowed/tag
xss/denied/pattern
-
ターゲットのクロスサイトスクリプティング行を選択します。
XML クロスサイトスクリプティングチェックでのログ機能の使用
> \*\*Shell\*\*
> \*\*tail -f /var/log/ns.log | grep APPFW_XML_cross-site scripting\*\*
<blocked>アクションを示すネイティブログ形式の XML クロスサイトスクリプティングセキュリティチェック違反ログメッセージの例
Oct 7 01:44:34 <local0.warn> 10.217.31.98 10/07/2015:01:44:34 GMT ns 0-PPE-1 : default APPFW APPFW_XML_cross-site scripting 1154 0 : 10.217.253.69 3466-PPE1 - owa_profile http://10.217.31.101/FFC/login.html Cross-site script check failed for field script="Bad tag: script" <\*\*blocked\*\*>
<not blocked>アクションを示す CEF ログ形式の XML クロスサイトスクリプティングセキュリティチェック違反ログメッセージの例
Oct 7 01:46:52 <local0.warn> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_XML_cross-site scripting|4|src=10.217.30.17 geolocation=Unknown spt=33141 method=GET request=http://10.217.31.101/FFC/login.html msg=Cross-site script check failed for field script="Bad tag: script" cn1=1607 cn2=3538 cs1=owa_profile cs2=PPE0 cs4=ERROR cs5=2015 act=\*\*not blocked\*\*
-
Web App Firewall > プロファイルに移動し、ターゲットプロファイルを選択して、 セキュリティチェックをクリックします。 **「XML クロスサイトスクリプティング」行を強調表示して、「ログ」をクリックします。**プロファイルの XML クロスサイトスクリプティングチェックから直接ログにアクセスすると、GUI はログメッセージをフィルタリングし、これらのセキュリティチェック違反に関連するログのみを表示します。
-
「 NetScaler 」>「 システム 」>「 監査 」の順に選択して、Syslogビューアにアクセスすることもできます。 監査メッセージセクションで 、 Syslog メッセージリンクをクリックして Syslog Viewer を表示します。このビューアには、他のセキュリティチェック違反ログを含むすべてのログメッセージが表示されます。これは、要求処理中に複数のセキュリティチェック違反がトリガーされる可能性がある場合のデバッグに役立ちます。
XML クロスサイトスクリプティング違反の統計
> **sh appfw stats**
> **stat appfw profile** <profile name>
-
スクロールバーを使用して、XML クロスサイトスクリプティング違反とログに関する統計を表示します。統計テーブルはリアルタイムデータを提供し、7秒ごとに更新されます。