-
-
JSON クロスサイトスクリプティング保護
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
JSON クロスサイトスクリプティング保護チェック
受信した JSON ペイロードに悪意のあるクロスサイトスクリプティングデータが含まれていると、WAF はリクエストをブロックします。次の手順では、CLI および GUI インターフェイスを使用してこれを設定する方法について説明します。
JSON クロスサイトスクリプティング保護の設定
JSON クロスサイトスクリプティング保護を設定するには、次の手順を完了する必要があります。
- アプリケーションファイアウォールプロファイルを JSON として追加します。
- JSON クロスサイトスクリプティングアクションを設定して、クロスサイトスクリプティングの悪意のあるペイロードをブロックする
JSON タイプのアプリケーションファイアウォールプロファイルの追加
最初に、アプリケーションファイアウォールが JSON Web コンテンツを JSON クロスサイトスクリプティング攻撃から保護する方法を指定するプロファイルを作成する必要があります。
コマンドプロンプトで入力します:
add appfw profile <name> -type (HTML | XML | JSON)
注記:
プロファイルタイプを JSON に設定すると、HTML や XML などの他のチェックは適用されません。
例
add appfw profile profile1 –type JSON
JSON クロスサイトスクリプティング違反のサンプル出力
JSONcross-site scriptingAction: block log stats
Payload: {"username":"<a href="jAvAsCrIpT:alert(1)">X</a>","password":"xyz"}
Log message: Aug 19 06:57:33 <local0.info> 10.106.102.21 08/19/2019:06:57:33 GMT 0-PPE-0 : default APPFW APPFW_JSON_cross-site scripting 58 0 : 10.102.1.98 12-PPE0 - profjson http://10.106.102.24/ Cross-site script check failed for object value(with violation="Bad URL: jAvAsCrIpT:alert(1)") starting at offset(12). <blocked>
Counters
1 357000 1 as_viol_json_xss
3 0 1 as_log_json_xss
5 0 1 as_viol_json_xss_profile appfw__(profjson)
7 0 1 as_log_json_xss_profile appfw__(profjson)
<!--NeedCopy-->
JSON クロスサイトスクリプティングの設定アクション
JSON クロスサイトスクリプティング攻撃からアプリケーションを保護するには、1 つ以上の JSON クロスサイトスクリプティングアクションを設定する必要があります。 コマンドプロンプトで入力します:
set appfw profile <name> - JSONcross-site scriptingAction [block] [log] [stats] [none]
例
set appfw profile profile1 –JSONcross-site scriptingAction block
使用可能なクロスサイトスクリプティングアクションは、「 ブロック-このセキュリティチェックに違反する接続をブロックする」です。 Log - このセキュリティチェックの違反を記録します。 Stats-このセキュリティー検査の統計を生成します。 [なし]-このセキュリティー検査に対するすべてのアクションを無効にします。
注:1 つ以上のアクションを有効にするには、「set appfw プロファイル-jsonCross-Site ScriptingAction」に続けて有効にするアクションを入力します。
例
set appfw profile profile1 -JSONSQLInjectionAction block log stat
GUI を使用して JSON クロスサイトスクリプティング (クロスサイトスクリプティング) 保護を設定する
以下の手順に従って、クロスサイトスクリプティング (クロスサイトスクリプティング) 保護を設定します。
- ナビゲーションペインで、[ セキュリティ ] > [ プロファイル] に移動します。
- 「 プロファイル 」ページで、「 追加」をクリックします。
- NetScaler Web App Firewall プロファイルページで 、[ 詳細設定 ] の [ セキュリティチェック] をクリックします。
- [ セキュリティチェック ] セクションで、[ JSON クロスサイトスクリプティング (クロスサイトスクリプティング) 設定] に移動します。
- チェックボックスの近くにある実行可能アイコンをクリックします。
- [ アクション設定 ] をクリックして、[ JSON クロスサイトスクリプティング設定] ページにアクセスします。
- JSON クロスサイトスクリプティングアクションを選択します。
- [OK] をクリックします。
- [NetScaler Web App Firewall プロファイル ]ページで、[ 詳細設定 ]の[ 緩和ルール]をクリックします。
- [ 緩和ルール ] セクションで [JSON クロスサイトスクリプティング設定] を選択し、[ 編集] をクリックします。
- [ JSON クロスサイトスクリプティング緩和ルール ] ページで、[ 追加 ] をクリックして JSON クロスサイトスクリプティング緩和ルールを追加します。
- リクエストの送信先の URL を入力します。この URL に送信されたすべてのリクエストはブロックされません。
- [Create] をクリックします。
JSON ベースのクロスサイトスクリプティングのためのきめ細かい緩和の構成
Web App Firewall には、JSON ベースのクロスサイトスクリプティング (XSS) インスペクションチェックから特定の JSON キーまたは値を緩和するオプションがあります。細粒度緩和ルールを使用して JSON ペイロードを緩和する複数のオプションを設定できます。 以前は、JSON 保護チェックの緩和を設定する唯一の方法は URL 全体を指定することであり、URL 全体の検証はバイパスされていました。 JSON ベースの SQL セキュリティ保護により、次のことが緩和されます。
- キーネーム
- キーバリュー
JSON ベースのクロスサイトスクリプティング (XSS) 保護により、特定のパターンを許可し、残りをブロックする緩和を構成できます。たとえば、Web App Firewall には現在、100 を超える SQL キーワードのデフォルトセットがあります。ハッカーはこれらのキーワードを SQL インジェクション攻撃で使用できるため、Web App Firewall はすべてを潜在的な脅威としてフラグを立てます。特定の場所で安全と考えられる 1 つ以上のキーワードを緩和する場合は、セキュリティチェックをバイパスして残りをブロックする緩和ルールを設定できます。 リラクゼーションで使用されるコマンドには、値タイプと値表現のオプションパラメータがあります。値式が正規表現かリテラル文字列かを指定できます。値のタイプは空白のままにすることも、[キーワード] または [特殊文字列] を選択することもできます。
注:
正規表現は強力です。特に PCRE 形式の正規表現に慣れていない場合は、作成した正規表現をすべて再確認してください。例外として追加する URL を正確に定義していることを確認し、それ以外は何も定義しないでください。ワイルドカード、特にドットとアスタリスク (.*) のメタ文字やワイルドカードの組み合わせを不注意に使用すると、ブロックする意図のない Web コンテンツへのアクセスをブロックしたり、JSON SQL インジェクションチェックによってブロックされるような攻撃を許可したりするなど、望ましくない結果が生じる可能性があります。
考慮すべきポイント
- 値式はオプションの引数です。フィールド名には値式がない場合があります。
- 1 つのキー名を複数の値式にバインドできます。
- 値式には値型を割り当てる必要があります。値の型は、タグ、属性、パターンです。
- キー名と URL の組み合わせごとに複数の緩和ルールを設定できます。
コマンドインターフェイスを使用して、クロスサイトスクリプティング (XSS) インジェクション攻撃に対する JSON の細粒度緩和の設定
JSON ファイル粒度緩和ルールを構成するには、細粒度緩和エンティティを Web App Firewall プロファイルにバインドする必要があります。
コマンドプロンプトで入力します:
bind appfw profile <profile name> -jsonxssURL <URL> -key <key name> -isregex <REGEX/NOTREGEX> -valueType <keyword/SpecialString> <value Expression> -isvalueRegex <REGEX/NOTREGEX>
<!--NeedCopy-->
例:
bind appfw profile appprofile1 -jsonxssurl www.example.com -key name -isRegex NOTREGEX -valueType Tag “sname” -isvalueRegex NOTREGEX
<!--NeedCopy-->
GUI を使用して JSON ベースのクロスサイトスクリプティング (XSS) インジェクションの細粒度緩和ルールを構成するには
- [ アプリケーションファイアウォール] > [プロファイル] に移動し、プロファイルを選択して [ 編集] をクリックします。
- [ 詳細設定 ] ウィンドウで、[ 緩和規則] をクリックします。
- 「 緩和ルール 」セクションで、JSON SQL インジェクションレコードを選択し、「 編集」をクリックします。
- [ JSON クロスサイトスクリプティング緩和規則 ] スライダーで、[ 追加] をクリックします。
-
[ JSON クロスサイトスクリプティング緩和規則 ] ページで、次のパラメータを設定します。
- 有効
- 名前は正規表現ですか
- キー名
- URL
- 値のタイプ
- コメント
- リソース ID
- [Create] をクリックします。
共有
共有
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.