csrfフォムのタグ付けチェック
クロスサイトリクエストフォージェリ(CSRF)フォームのタグ付けチェックでは,保護されたWebサイトからユーザーに送信された各网络フォームに,一意で予測できないFormIDのタグが付けられます。その後,ユーザーが返したWebフォームを調べて,提供されたFormIDが正しいことを確認します。このチェックは、クロスサ。このチェックは,データの有無にかかわらず,Webフォームを含むHTMLリクエストにのみ適用されます。XMLリクエストには適用されません。
CSRFフォームのタグ付けチェックは,攻撃者が独自のWebフォームを使用して,保護されたWebサイトにデータを含む大量のフォーム応答を送信することを防ぎます。このチェックでは、Webフォームを詳細に分析する他のセキュリティー検査と比較して,CPU処理能力が比較的少なくて済みます。したがって,保護されたWebサイトまたはWeb应用防火墙自体のパフォーマンスを大幅に低下させることなく,大量の攻撃を処理できます。
csrfフォムのタグ付けチェックを有効にする前に,次の点に注意する必要があります。
- フォムのタグ付けを有効にする必要があります。CSRFチェックはフォームのタグ付けに依存し、それがなければ動作しません。
- そのプロファイルによって保護されているフォームを含むすべてのWebページに対して,Citrix ADC統合キャッシュ機能を無効にする必要があります。統合キャッシュ機能とCSRFフォムのタグ付けには互換性がありません。
- リファラチェックを有効にすることを検討する必要があります。リファラーチェックは開始URLチェックの一部ですが,開始URL違反ではなく,クロスサイトリクエストフォージェリを防ぐことができます。リファラチェックは,csrfフォムのタグ付けチェックよりもcpuの負荷を軽減します。リクエストが推荐人チェックに違反した場合,リクエストはすぐにブロックされるため,CSRFフォームタグチェックは呼び出されません。
- CSRFフォームのタグ付けチェックは,フォームオリジンURLとフォームアクションURLで異なるドメインを使用するWebフォームでは機能しません。たとえば,CSRFフォームタグ付けでは,example.comとexample.orgが異なるドメインであるため,
http://www.example.com
のフォム生成元urlとhttp://www.example.org/form
.plのフォムアクションURLを持。
ウィザードまたはGUIを使用する場合は,(CSRFフォームのタグ付けチェックの変更]ダイアログボックスの[全般]タブで,[ブロック],[ログ],[ラーニング],および[統計]アクションを有効または無効にできます。
コマンドラインインターフェイスを使用する場合は,次のコマンドを入力してCSRFフォームのタグ付けチェックを設定できます。
设置appfw概要文件<名称> -CSRFtagAction[* *屏蔽* *][* *记录* *][* *学习* *][* *数据* *][* *不* *]
CSRFフォムのタグ付けチェックの緩和を指定するには,guiを使用する必要があります。CSRF フォームのタグ付けチェックダイアログボックスの「チェック」タブで、「追加」をクリックして「CSRF フォームのタグ付けの追加」リラクゼーションチェックダイアログボックスを開くか、既存のリラクゼーションを選択して「開く」をクリックして「CSRF フォームのタグ付けチェックリラクゼーションを変更」ダイアログボックスを開きます。どちらのダイアログボックスも、緩和の設定に同じオプションを提供します。
Citrix Web应用防火墙セッション制限を0以下の値に設定すると,アラートが生成されます。これは,Web应用防火墙セッションが正しく機能する必要がある高度な保護チェック機能に影響する設定です。
csrfフォムタグ付けチェック緩和の例を以下に示します。
注:次の式は,フォームオリジンURLロールとフォームアクションURLロールの両方で使用できるURL式です。
新しいクエリを除き,
http://www.example.com/search.pl?
で始まるクエリの後に任意の文字列を含むurlを選択します。^ http://www[][]例子com/search [] pl ? [^ ?] * $ < !——NeedCopy >
http://www.example-espanol.com
で始まるURLを選択し,大文字と小文字,数字,非ASCII特殊文字,および選択された記号で構成されるパスとファイル名を含めます。n文字およびその他の特殊文字は,utf - 8文字セットの各特殊文字に割り当てられた16進コードを含むエンコードされたutf - 8文字列として表されます。
^ http://www [] example-espa \ xC3 \ xB1ol [,] com/ (x [0-9A-Fa-f] ([0-9A-Za-z] | \ [0-9A-Fa-f]) ([0-9A-Za-z_ -] | \ x [0-9A-Fa-f] [0-9A-Fa-f ])\*/)\*([ 0-9A-Za-z x] | \ [0-9A-Fa-f] [0-9A-Fa-f]) x ([0-9A-Za-z_ -] | \ [0-9A-Fa-f] [0-9A-Fa-f]) *(。)(asp php | | htp |年代html ?) $ < !——NeedCopy >
- /search.cgiという文字列を含むすべてのURLを選択してください。:
^[^?<>]\*/ 搜索(。)cgi ? [^ ?< >] \ * $ < !——NeedCopy >
重要
正規表現は強力です。pcre形式の正規表現に精通していない場合は,記述した正規表現を再確認してください。例外として追加するurlを正確に定義していることを確認し,それ以外は何も定義しないでください。ワイルドカード,特にドットとアスタリスク(. *)メタキャラクタとワイルドカードの組み合わせを不注意に使用すると,ブロックする意図がないWebコンテンツへのアクセスをブロックしたり,チェックによってブロックされた攻撃を許可したりするなど,望ましくない結果が生じる可能性があります。
ヒント
[URLの開始]アクションで[リファラーヘッダーを有効にする]が有効になっている場合は,リファラーヘッダーURLがStartURLにも追加されていることを確認します。
注
Citrix ADCがappfw_session_limitに達し,CSRFチェックが有効になっていると,Webアプリケーションがフリーズします。
Webアプリケーションがフリーズしないようにするには,次のコマンドを使用してセッションタイムアウトを減らし,セッション制限を増やします。
命令行:> set appfw settings -sessiontimeout 300 From shell: root@ns# nsapimgr_wr.sh -s appfw_session_limit=200000
appfw_session_limitに達した場合にSNMPアラームをログに記録して生成すると,問題のトラブルシューティングとデバッグに役立ちます。