Web サービスを Web Application Firewall (WAF) に追加した後、スキャン防御モジュールの保護ルールを設定して、スキャン動作とスキャナーの特性を識別し、攻撃者やスキャナーによる Web サイトの大規模なスキャンを防止できます。これにより、Web サービスへの侵入リスクを低減し、無効なスキャントラフィックをブロックします。このトピックでは、スキャン防御テンプレートとルールの作成方法について説明します。
背景情報
スキャン防御モジュールは、次の種類のルールを提供します。
[高周波スキャンのブロック]:ソースが、現在の保護対象に設定されているコア Web 保護モジュールの保護ルールを短時間で複数回トリガーした場合、WAF はそのソースをブラックリストに追加します。WAF は、指定された期間、そのソースからのリクエストをブロックまたは監視します。
[ディレクトリトラバーサルブロック]:ソースが、保護対象の存在しない多数のディレクトリに短時間でアクセスした場合、WAF はそのソースをブラックリストに追加します。WAF は、指定された期間、そのソースからのリクエストをブロックまたは監視します。
[スキャンツールブロック]:WAF は一般的なスキャナーをブラックリストに追加します。対象となるスキャナーには、sqlmap、AWVS、Nessus、Appscan、Webinspect、Netsparker、Nikto、RSAS が含まれます。WAF は、これらのスキャナーからのリクエストをブロックまたは監視します。
テンプレートタイプ
スキャン防御モジュールは、次の 2 種類のテンプレートを提供します。
保護テンプレート | 説明 | 適用対象 |
デフォルト保護テンプレート | WAF が提供する初期のデフォルト保護テンプレートです。この保護テンプレートはデフォルトで有効になっています。 説明 デフォルトで有効になっている初期のデフォルト保護テンプレートは、Pro Edition、Enterprise Edition、または Ultimate Edition のサブスクリプション WAF インスタンスでのみ利用可能です。 | デフォルト保護テンプレートを作成すると、そのテンプレートはカスタム保護テンプレートに関連付けられていないすべての保護対象またはグループに適用されます。また、新しく追加された保護対象にも自動的に適用されます。設定は手動で調整できます。 |
カスタム保護テンプレート | ビジネス要件に基づいてカスタマイズする保護テンプレートです。カスタム保護テンプレートは手動で作成する必要があります。カスタム保護テンプレートは、単一のデフォルト保護テンプレートではビジネス要件を満たせないシナリオに適しています。 | 有効対象 を指定する必要があります。テンプレートは、関連付けられた保護対象および保護対象グループにのみ適用されます。 |
前提条件
WAF 3.0インスタンスを購入しました。 詳細については、「サブスクリプションWAF 3.0インスタンスの購入」および「従量課金 WAF 3.0 インスタンスを有効化する」をご参照ください。
Webサービスは、保護されたオブジェクトとしてWAF 3.0に追加されます。 詳細については、「保護対象および保護対象グループの設定」をご参照ください。
スキャン防御テンプレートの作成
WAF は、デフォルトで有効になっている初期のデフォルト保護テンプレートを提供します。カスタムルールを有効にするには、保護テンプレートを作成し、関連するルールを設定する必要があります。スキャン防御テンプレートを作成するには、次の手順を実行します。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスがデプロイされているリソースグループとリージョンを選択します。 中国本土または中国本土以外を選択します。
左側のナビゲーションウィンドウで、 を選択します。
Web コア保護 ページの下部にある スキャン保護 セクションで、テンプレートの作成 をクリックします。
スキャン保護 パネルで、パラメーターを設定し、OK をクリックします。
パラメーター
説明
[テンプレート名]
テンプレートの名前を指定します。
テンプレートの名前は1 ~ 255文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。
[デフォルトテンプレート]
デフォルト保護テンプレートでは、テンプレートを適用する対象を指定する必要はありません。このテンプレートは、カスタム保護テンプレートに関連付けられていないすべての保護対象および保護対象グループに適用されます。これには、新しく追加された保護対象および保護対象グループや、カスタム保護テンプレートから削除された保護対象や保護対象グループも含まれます。デフォルトテンプレートから手動で削除することもできます。保護モジュールごとに設定できるデフォルトテンプレートは 1 つだけであり、デフォルトテンプレートはテンプレート作成時にのみ設定できます。
[ルールの設定]
ルールを設定します。スキャン防御モジュールの保護テンプレートは、1 セットのルールにのみ対応しています。ルールセットは、次の 3 種類のルールで構成されています。
[高周波スキャンのブロック]
高頻度スキャンブロックを有効にすると、以下の設定が自動的に有効になります。IP アドレス (Statistical and Blocked Object) が 60 秒 (Time Range) 以内に、現在の保護対象に設定されている コア Web 保護ルール の保護ルールを 20 回 (Web コア保護ルールのトリガー) を超えてトリガーし、かつコア Web 保護モジュールの 2 (Maximum Number of Triggered Rules) つを超える異なる保護ルールをトリガーした場合、その IP アドレスはブラックリストに追加され、1,800 秒 (Blocking Period) 間ブラックリストに登録されたままになります。WAF は、その IP アドレスから送信されたリクエストをブロックまたは監視します。
ルール設定を変更するには、詳細設定をクリックします:
[ディレクトリトラバーサルブロック]
ディレクトリトラバーサルブロックを有効にすると、次の設定が自動的に有効になります。IP アドレス (Statistical and Blocked Object) が 10 秒 (Time Range) 以内に、保護対象オブジェクトに 50 回 (Maximum Number of Requests) を超えてリクエストし、50 (Maximum Number of Non-existent Directories) 個を超える存在しないディレクトリにアクセスし、かつレスポンスで返されるステータスコードのうち HTTP 404 ステータスコードが 70% (かつ 404 応答コードの比率が次の値より大きいか等しい) を占めると、その IP アドレスはブラックリストに追加されます。WAF は、その IP アドレスから送信されたリクエストをブロックまたは監視します。
説明ディレクトリのスキャンの統計には、
.jsや.pngなどの静的な Web ファイルタイプは含まれません。ルール設定を変更するには、詳細設定 をクリックします:
[スキャンツールブロック]:
スキャナーブロックを有効にすると、WAF は一般的なスキャナーをブラックリストに追加します。対象となるスキャナーには、sqlmap、AWVS、Nessus、Appscan、Webinspect、Netsparker、Nikto、RSAS が含まれます。WAF は、これらのスキャナーからのリクエストをブロックまたは監視します。
[Rule Action]
リクエストがルールに一致した場合に WAF が実行するアクションを選択します。有効な値は次のとおりです。
[ブロック]:ルールに一致するリクエストをブロックし、リクエストを開始したクライアントにブロックページを返します。
説明デフォルトでは、WAF は事前設定されたブロックページを返します。カスタム応答機能を使用して、カスタムブロックページを設定できます。詳細については、「カスタム応答ページの設定」をご参照ください。
[観察]:ルールに一致するリクエストをブロックせずにログに記録します。ルールに一致するリクエストに関するログをクエリして、保護パフォーマンスを分析できます。たとえば、ログに基づいて正当なリクエストがブロックされているかどうかを確認できます。
重要WAF 向け Simple Log Service 機能が有効になっている場合にのみ、ログをクエリできます。詳細については、「WAF 向け Simple Log Service 機能の有効化または無効化」をご参照ください。
観察 を選択すると、ルールに対してドライランを実行して、ルールが通常のリクエストをブロックするかどうかを確認できます。ルールがドライランに成功した場合、Action パラメーターを ブロック に設定できます。
説明セキュリティレポート ページでは、監視モードまたはブロックモードで一致したルールの詳細を表示できます。詳細については、「セキュリティレポート」をご参照ください。
[有効対象]
テンプレートを適用する保護オブジェクトと保護オブジェクトグループを選択します。
保護対象オブジェクトまたは保護対象オブジェクトグループに適用できる保護モジュールのテンプレートは1つだけです。 保護オブジェクトと保護オブジェクトグループをテンプレートに関連付ける方法については、「保護オブジェクトと保護オブジェクトグループ」をご参照ください。
保護対象または保護対象グループは、1 つのスキャン防御テンプレートにのみ関連付けることができます。デフォルト保護テンプレートを設定した場合、そのテンプレートはデフォルトでカスタム保護テンプレートに関連付けられていないすべての保護対象および保護対象グループに適用されます。デフォルトテンプレートを設定しない場合、デフォルトでは保護対象または保護対象グループは選択されません。テンプレートが適用される対象は手動で変更できます。
デフォルトでは、新しく作成された保護テンプレートは有効になっています。テンプレートリストで、保護テンプレートに対して次の操作を実行できます。
テンプレートに関連付けられている保護対象 / グループの数を表示します。
テンプレートを有効化または無効化するには、ステータス 列のスイッチをオンまたはオフに切り替えます。
「操作」列の編集または削除をクリックして、テンプレートを変更または削除します。
テンプレート名の左側にある
アイコンをクリックして、テンプレート内のルールを表示および管理します。ルールを見つけ、IP アドレスのブロックを解除する をクリックして、そのルールによってブロックされている IP アドレスをブロック解除します。
重要IP アドレスが 高周波スキャンのブロック または ディレクトリトラバーサルブロック 保護ルールによってブロックされている場合にのみ、IP アドレスのブロックを解除する を実行できます。
IP アドレスのブロックを解除する は、関連するルールとテンプレートが有効な場合にのみ実行できます。
次のステップ
セキュリティレポート ページの スキャン保護 タブで、ルールの保護の詳細を表示できます。詳細については、「セキュリティレポート」をご参照ください。
関連ドキュメント
WAF 3.0 の保護対象、保護モジュール、および保護プロセスの詳細については、「保護設定の概要」をご参照ください。
CreateDefenseTemplate API を呼び出して保護テンプレートを作成する方法の詳細については、「CreateDefenseTemplate」をご参照ください。
コア Web 保護の保護ルールを作成し、ルールを設定する方法の詳細については、「CreateDefenseRule」をご参照ください。