コア Web 保護ルールを使用して、サービスを標的とする一般的な Web アプリケーション攻撃を自動的に検知し、ブロックします。このトピックでは、モジュールのコンポーネントについて説明し、カスタムルールグループと保護テンプレートを作成する方法を解説します。
このトピックでは、コア保護モジュールのオリジナルバージョンについて説明します。新しい WAF コンソールにアップグレードした場合、または初めてコア保護モジュールを使用する場合は、「コア Web 保護ルールとルールグループ」をご参照ください。アップグレードの詳細については、「WAF 3.0 の基本保護ルールモジュールのアップグレードに関するお知らせ」をご参照ください。WAF コンソールの ページで Web コア保護ルール のスタイルを確認することで、使用しているバージョンを判断できます。
新バージョン | セキュリティ保護の経験に基づいた組み込みのルールセットであり、SQL インジェクション、XSS、コード実行、Web シェルアップロード、コマンドインジェクションなどの一般的な Web アプリケーション攻撃から防御します。[テンプレートの作成] をクリックして、保護ルールテンプレートを作成します。 |
旧バージョン | セキュリティ保護の経験に基づいた組み込みのルールセットであり、SQL インジェクション、XSS、コード実行、Web シェルアップロード、コマンドインジェクションなどの一般的な Web アプリケーション攻撃から防御します。[テンプレートの作成] をクリックして保護テンプレートを作成するか、[ルールグループ管理] をクリックしてルールグループを管理できます。 |
背景情報
デコード
コア保護ルールは、以下を含む 23 種類のデコード形式をサポートしています。
JSON、XML、Multipart などの構造化データ形式を解析し、検知精度を向上させます。
Unicode や HTML エンティティエンコーディングなどのエンコーディングバイパス技術を識別し、検知再現率を向上させます。
検知モジュール
コア保護モジュールは、3 つの検知モジュールを使用します。
ルール保護 (デフォルトで有効)
既知の攻撃パターンを識別し、一般的な Web アプリケーション攻撃から保護するために、事前定義されたルールグループに依存するパターンマッチング保護方式です。
WAF は、保護の厳格度に基づいた 3 つの組み込みルールグループを提供します。
ルールグループ
使用する状況
[柔軟なルールグループ]
アプリケーションで中程度のルールグループを使用すると頻繁に誤検知が発生する場合、または phpMyAdmin や Adminer などの SQL に似たクエリ文字列を生成するツールを実行する場合に使用します。このグループは検知感度が低く、誤検知が少なくなります。
[中程度のルールグループ] (デフォルト)
標準的な Web アプリケーションに適しています。妥当な誤検知率で、バランスの取れた検知範囲を提供します。不明な場合は、これを選択してください。
[厳格なルールグループ]
検知範囲の最大化が、時折発生する誤検知のリスクよりも優先される、高セキュリティ環境に適しています。
ビジネスニーズに基づいて、カスタムルールグループを設定することもできます。
セマンティック保護 (デフォルトで有効)
リクエストのコンテンツとコンテキストを分析してセマンティクスと構文構造を理解する、よりインテリジェントな保護方式です。これにより、未知の攻撃パターンを識別し、SQL インジェクション攻撃から保護します。
インテリジェント O&M (デフォルトで無効)
過去のビジネストラフィックに基づいた AI 学習を使用して、URL 単位で適用できないルールを識別し、自動的にホワイトリストを追加することで、誤検知のリスクを効果的に低減します。
保護テンプレート
テンプレート | デフォルトの保護テンプレート | カスタム保護テンプレート | |
作成者 | システム (自動的に提供) | ユーザー (手動で作成) | |
検知モジュール | ルール保護 | デフォルトで有効です。[中程度のルールグループ]を[ブロック]モードで適用します。 | カスタマイズ可能です。任意のルールグループ (デフォルトまたはカスタム) を選択し、アクションを設定できます。 |
セマンティック保護 | デフォルトで有効です。[モニター]モードを適用し、非インジェクション攻撃に対して[完全な SQL 文の検出]スイッチを有効にします。 | カスタマイズ可能です。ビジネスニーズに基づいてアクションを設定し、[完全な SQL 文の検出]を有効または無効にできます。 | |
インテリジェント O&M | デフォルトで無効です。 | ビジネスニーズに基づいて、[インテリジェントホワイトリスト]を有効または無効にできます。 | |
適用対象 | カスタム保護テンプレートに関連付けられていない保護対象またはオブジェクトグループにデフォルトで適用されます。 | 選択した保護対象またはオブジェクトグループ。 | |
前提条件
WAF 3.0 インスタンスが作成されていること。
カスタムルールグループを作成するには、インスタンスがサブスクリプション版の Enterprise Edition または Ultimate Edition、あるいは従量課金インスタンスである必要があります。
Web サービスが保護対象として WAF に追加されていること。詳細については、「保護対象と保護対象グループの設定」をご参照ください。
カスタムルールグループの作成
ゼロからカスタムルールグループを作成するか、組み込みのルールグループのいずれかに基づいて作成できます。
WAF 3.0 コンソールにログインします。トップナビゲーションバーで、WAF インスタンスのリソースグループとリージョンを選択します。利用可能なリージョンは中国本土と中国本土以外です。
左側メニューで、保護設定 > Web コア保護ルール を選択します。
Web コア保護ルール セクションで、ルールグループの管理 をクリックします。
ルールグループの管理 ページで、Create Rule Group をクリックします。
ルールグループの基本情報を設定し、次へ をクリックします。
重要ルールグループが作成されると、基本情報は変更できません。
パラメーター
説明
[Rule Group Name]
英字、数字、ピリオド (
.)、アンダースコア (_)、およびハイフン (-) を使用できます。[テンプレートの作成]
[テンプレートがないので一から作成します]:ベーステンプレートなし。ルールを手動で追加します。[Automatic Update]は無効で、有効にすることはできません。[Use Default Rule Group]:寛容な、中程度の、または厳格なルールグループをベースにします。[Automatic Update]が利用可能です。
[Automatic Update]
有効にすると、選択したデフォルトのルールグループに追加または削除されたルールが、このカスタムルールグループに自動的に同期されます。この設定は、ルールグループの作成後は変更できず、[テンプレートの作成] で Use Default Rule Group が選択されている場合にのみ利用可能です。
[保護ルールの設定] ページで、Add Rule をクリックします。表示されるダイアログボックスで、ルールID または 検出モジュール / 脆弱性番号 を入力するか、Risk Level、Protection Rule Type、または Application Type を設定してルールをフィルタリングします。ルールライブラリから追加したいルールを選択し、Add をクリックするか、Add All をクリックしてフィルタリングされたすべてのルールを追加します。
説明手順 5 で [テンプレートの作成] を [デフォルトのルールグループを使用] に設定し、追加したいルールがルールライブラリにすでに存在する場合、この手順はスキップできます。
ルールリスト内のルールは、更新時間の降順でソートされます。
ルールを追加した後、追加した保護ルールを削除する必要がある場合は、ルール ID または 脆弱性番号 を入力するか、Risk Level、Protection Rule Type、または Application Type を設定してルールリスト内のルールをフィルタリングおよび選択し、Remove をクリックします。Clear All をクリックして最初からやり直すこともできます。
次へ をクリックします。[完了] ページで、Complete をクリックします。
ルールグループが作成された後、ルールグループリストで以下の操作を実行できます。
Number of Built-in Rules 列の数をクリックして、グループ内のルールを表示します。
操作 列の 編集、複製、または 削除 をクリックして、ルールグループを管理します。
説明ルールグループの基本情報は変更できません。
コピーされたルールグループは、デフォルトで
<元の名前>-copyという名前になり、どの保護対象とも関連付けられません。保護テンプレートに関連付けられているルールグループは削除できません。このようなルールグループを削除するには、まず保護テンプレートとの関連付けを解除してください。
カスタム保護テンプレートの作成
左側メニューで、保護設定 > Web コア保護ルール を選択します。
Web コア保護ルール セクションまでスクロールし、テンプレートの作成 をクリックします。
説明初めてコア保護テンプレートを作成する場合、ページ上部の Web コア保護ルール カードにある 今すぐ設定 をクリックすることもできます。
テンプレートの作成 パネルで、以下のパラメーターを設定し、OK をクリックします。
説明新しく作成された保護テンプレートは、デフォルトで有効になります。
パラメーター
説明
[テンプレート名]
英字、数字、ピリオド (
.)、アンダースコア (_)、およびハイフン (-) が使用できます。[デフォルトテンプレート]
このテンプレートを保護モジュールのデフォルトとして設定します。モジュールごとに許可されるデフォルトテンプレートは 1 つだけです。デフォルトテンプレートは、新しく追加されたオブジェクトを含む、カスタムテンプレートに割り当てられていないすべての保護対象および保護対象グループに自動的に適用されます。
パラメーター
説明
[アクション]
ブロック:一致したリクエストをブロックし、ブロックページを返します。デフォルトでは、WAF は組み込みのブロックページを返します。カスタムレスポンス機能を使用して、カスタムページを設定できます。監視:一致したリクエストをブロックせずにログに記録します。このモードを使用して、ルールを適用する前に検証します。セキュリティレポートページでログを照会できます。これには Simple Log Service for WAF を有効にする必要があります。
[Rule Group Type]
デフォルト:テンプレートを組み込みのルールグループ (寛容な、中程度の、または厳格な) に関連付けます。カスタム:リストからカスタムルールグループを選択します。「カスタムルールグループの作成」をご参照ください。
パラメーター
説明
[アクション]
ブロックまたは監視 — 上記のルール保護のアクションと同じ動作です。
[完全な SQL 文の検出] (デフォルトで有効)
有効にすると、WAF は完全な SQL ステートメントを含むリクエスト (例:
/query.php?sql=select name from users where 1=1%23) もインターセプトします。アプリケーションが phpMyAdmin や Adminer などのデータベースツールを使用する場合は、これを無効にしてください。不完全な SQL (例:/query.php?name='and 1=1%23) は、この設定に関係なく常に検査されます。パラメーター
説明
[契約遵守]
攻撃者は、言語が HTTP リクエストデータ形式を処理する方法の違いを悪用します。プロトコルコンプライアンスは、データがプロトコルレベルの標準に準拠しているかどうかをチェックし、ファイルアップロードの回避などのバイパス試行に対して効果的な防御を提供します。
プロトコルコンプライアンスには Enterprise Edition または Ultimate Edition が必要です。Advanced Edition はデフォルトではサポートしていません。従量課金制で別途請求されます。
[インテリジェント O&M]
[インテリジェントホワイトリスト]スイッチを有効にすると、WAF は過去のビジネストラフィックに基づいて AI 学習を使用し、URL 単位で適用できないルールを識別し、自動的にホワイトリストを追加することで、誤検知のリスクを効果的に低減します。
自動的に追加されたホワイトリストルールは、ホワイトリストルールリストの [AutoTemplate] テンプレートの下に表示されます。詳細については、「ホワイトリストルールの表示」をご参照ください。
説明この機能は、従量課金インスタンスおよびサブスクリプションの Enterprise Edition または Ultimate Edition でのみサポートされています。
[有効対象]
保護対象または保護対象グループは、1つのコア保護ルールテンプレートにのみ関連付けることができます。デフォルトの保護テンプレートを設定した場合、カスタムテンプレートに関連付けられていないすべての保護対象および保護対象グループがデフォルトで選択されます。デフォルトのテンプレートを設定しない場合、デフォルトではどのオブジェクトも選択されません。選択したオブジェクトは手動で変更できます。
コア保護テンプレートを作成する際に [インテリジェントホワイトリスト]スイッチを有効にした場合 (保護テンプレートの横には
アイコンが表示されます)、[操作] 列の インテリジェント配信記録 をクリックして、インテリジェントホワイトリストの配信記録を表示できます。[インテリジェントホワイトリスト]スイッチを有効にしなかった場合 (保護テンプレートの横には
アイコンが表示されます)、テンプレートリストから直接 [インテリジェントホワイトリスト]スイッチを切り替えることができます。
Web コア保護ルール セクションの ルールグループの管理 をクリックして、ルールグループと保護テンプレートの間の関連付けを表示することもできます。
次のステップ
セキュリティレポート ページの Web コア保護ルール タブで、特定の保護ルールのヒット記録を表示できます。攻撃イベント記録エリアで、特定の ルール ID の 詳細 をクリックして、完全な攻撃の詳細を確認できます。詳細については、「セキュリティレポート」をご参照ください。
Web コア保護ルール ページでは、ルール ID で特定のコア保護ルールを検索することはできません。ルールが誤って通常のトラフィックをブロックした場合は、ホワイトリスト モジュールを使用してそのルールに対するホワイトリストルールを設定してください。詳細については、「ホワイトリストモジュールの保護ルールを設定して特定の要求を許可する」をご参照ください。
関連ドキュメント
WAF 3.0 の保護対象、モジュール、および保護パイプラインの概要については、「概要」をご参照ください。
API 経由で保護テンプレートを作成するには、「CreateDefenseTemplate」をご参照ください。
コア Web 保護ルールを作成してそのコンテンツを設定するには、「コア保護ルールモジュールの設定」をご参照ください。