Webアプリケーション・ファイアウォール・ポリシーの作成
アクセス・ルール、レート制限ルールおよび保護ルールを含むWebアプリケーション・ファイアウォール(WAF)ポリシーを作成します。
ポリシーを作成するには、必要に応じて基本、アクセス制御、レート制限および保護オプションを指定し、強制ポイントを選択します。詳細は、「開始する前に」を参照してください。 - ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「Web Application Firewall」で、「ポリシー」をクリックします。
- 「ポリシー」ページで、作業権限を持つコンパートメントを選択します。
- WAFポリシーの作成をクリックします。
基本情報の設定
ワークフローの「基本情報」ページで、次のステップを実行します。- WAFポリシーの名前を入力するか、デフォルト名を使用します。
- WAFポリシーを含めるコンパートメントを選択します。
- 「アクション」矢印をクリックして、WAFポリシーに追加するアクションを表示します。次の事前構成済アクションは、デフォルトでWAFポリシーに関連付けられます:
- 事前構成済チェック処理: この処理ではルールの実行は停止されません。かわりに、アクションはルールの実行結果をドキュメント化したログ・メッセージを生成します。
- 事前構成済の許可アクション: アクションは、ルールが一致したときに、現在のモジュール内の残りのすべてのルールをスキップします。
- Preconfigured 401 Response Code Action: 定義されたHTTPレスポンスを返します。レスポンス・コード構成(ヘッダーおよびレスポンス・ページ本文)は、このアクションの実行時に返されるHTTPレスポンスを決定します。
- ポリシーに別のアクションを追加するには、「アクションの追加」をクリックし、「アクションの追加」パネルで次のオプションを完了します。詳細は、「Webアプリケーション・ファイアウォールのアクション」を参照してください。
-
Name: 処理の名前を入力します。
-
タイプ: アクション・タイプを指定します。
-
チェック: ルールの実行は停止されません。かわりに、ルールの結果をドキュメント化したログ・メッセージを生成します。
許可: 現在のモジュールの残りのルールをすべてスキップします。
Return HTTP response: 定義されたHTTPレスポンスを返します。
このタイプを選択する場合は、次の値を指定します。
-
-
レスポンス・コード: HTTPレスポンスを選択します。
- ヘッダー: オプションのヘッダー情報を入力します。
-
ヘッダー名: ヘッダーの名前を入力します。
-
ヘッダー値: ヘッダーの関連付けられた値を入力します。
-
「+別のヘッダー」をクリックして、ヘッダー名と値のペアを入力できる別のヘッダー行を表示します。「X」をクリックして、関連するヘッダー行を削除します。
-
レスポンス・ページ本文: エラーの詳細(原因や必要な場合はさらに指示など)が表示されます。
JSONエラー・レスポンスなどのHTTPレスポンス本文を入力します:{"code":"403","message":"Forbidden"}
動的テキスト・サポートを有効にして、ページ本文に変数を追加できます。次の変数がサポートされています。
RequestID
リクエストIDは、HTTPリクエストおよびレスポンス・ヘッダーで公開されている一意のリクエスト識別子を指定することで、リクエストの追跡および管理に役立ちます。
リクエストIDが有効な場合、デフォルトのヘッダー名X-Request-IDが、ロード・バランサからバックエンドおよびHTTPヘッダー・レスポンスへのHTTPリクエスト・ヘッダーに含まれます。
次の例では、動的テキストのサポートが有効になっているHTTPレスポンス本文を提供します。
{"code":"403","message":"Forbidden","RequestId":"${http.request.id}"}
-
-
「アクションの追加」をクリックします。
-
「タグ付けの表示」をクリックして、WAFポリシーのタグ付けオプションにアクセスします。詳細は、リソースのタグ付けに関する項を参照してください。
-
レガシーのエッジ・ポリシー・オプションを使用するには、ページ下部のレガシー・ワークフロー・リンクをクリックします。詳細は、「エッジ・ポリシー」を参照してください。
-
「次へ」をクリックします。
アクセス制御の構成
(オプション)アクセス制御オプションを使用して、様々な条件を満たすリクエストおよびレスポンスに対する明示的なアクションを定義します。アクセス制御を有効にすると、リクエスト制御に関連付けられたアクセス・ルールのリストが表示されます。ルールは追加、変更、編集または削除できます。詳細は、Web Application Firewallポリシーのリクエスト制御を参照してください。
アクセス制御を有効にしない場合は、「次」をクリックします。
- 「アクセス制御の有効化」を選択します。
- 「リクエスト制御」で、「アクセス・ルールの追加」をクリックし、次の情報を指定してルールを定義します。
- 名前: アクセス・ルールの名前を入力します。
- 条件: ルール・アクションを実行するために必要な前提条件を指定します。条件の理解を参照してください。
- ルール・アクション: 前述の条件が満たされたときに従う既存のルールを選択するか、「新規アクションの作成」を選択して追加します。事前構成済ルールの説明およびルールの追加手順は、前の項「基本情報の設定」を参照してください。
- 「アクセス・ルールの追加」をクリックします。
- 「デフォルト・アクション」の「アクション名」リストから、ポリシーに定義されているルール・グループにリクエストが一致しない場合に実行するアクションを選択します。
- 「レスポンス制御オプションの表示」をクリックして、「レスポンス制御」セクションおよび「アクセス・ルール」リストを表示します。リストには、レスポンス制御に関連付けられたアクセス・ルールが含まれています。レスポンス制御のアクセス・ルールとアクションを追加および管理します。これは、リクエスト制御の場合と同じです。詳細は、Web Application Firewallポリシーのレスポンス制御を参照してください。
- 「次へ」をクリックします。
レート制限ルールの構成
オプションのレート制限を有効にしない場合は、「次」をクリックします。- 「レート制限ルールの構成の有効化」を選択します。
- 「レート制限ルール」で、「レート制限ルールの追加」をクリックし、次のようにオプションを入力します。
-
名前: レート制限ルールの名前を入力します。
-
条件: ルール・アクションを実行するために満たす必要がある前提条件を指定します。条件の理解を参照してください。
- レート制限構成: 一意のIPアドレスから実行できるリクエストの最大数およびリクエストを実行できる時間を構成します。オプションは次のとおりです。
- リクエスト制限: 「期間」ボックスに割り当てられた時間値中に一意のIPアドレスが実行できるリクエストの最大数を入力します。
- 期間: リクエスト制限ボックスで指定した一意のIPアドレスから最大数のリクエストを実行できる秒数を入力します。
- アクション期間: リクエスト制限に達したときにアクションが適用される期間を秒単位で入力します。
+Anotherレート制限をクリックして、完了する別のレート制限構成行を表示できます。「X」をクリックして、関連するレート制限構成行を削除します。
- ルール・アクション: 前述の条件が満たされたときに従う既存のルールを選択するか、「新規アクションの作成」を選択して追加します。事前構成済ルールの説明およびルールの追加手順は、前の項「基本情報の設定」を参照してください。
詳細は、「Webアプリケーション・ファイアウォールのアクション」を参照してください。
保護ルールの構成
(オプション)これらのオプションを使用して、Oracle管理のリクエスト保護機能を適用し、悪意のあるトラフィックを捕捉します。必要に応じて保護ルールを適用します。詳細は、Web Application Firewallの保護を参照してください。保護ルールを有効にしない場合は、「次」をクリックします。強制ポイントの選択- 「保護ルールの構成の有効化」を選択します。
- 「リクエスト保護ルール」で、「リクエスト保護ルールの追加」をクリックし、次のようにオプションを入力します:
-
名前: 保護ルールの名前を入力します。
- 条件: ルール・アクションを実行するために必要な前提条件を指定します。条件の理解を参照してください。
- ルール・アクション: 前述の条件を満たす場合に従う既存のルールを選択するか、「新規アクションの作成」を選択して追加します。事前構成済ルールの説明およびルールの追加手順については、前の項「基本情報の設定」を参照してください。
-
ボディ・インスペクション: 「ボディ・インスペクションの有効化」を選択して、HTTPリクエスト・ボディがインスペクションを実行し、リクエスト・ボディ・コンテンツが保護ルールで指定されたすべての保護機能に準拠していることを確認します。詳細は、「HTTPリクエスト本文検査」を参照してください。
- 保護機能: 保護ルールに割り当てられた保護機能がリストされます。「保護機能の選択」をクリックして、「保護機能の選択」ダイアログ・ボックスを開きます。使用可能な保護機能を参照し、1つ以上の機能を保護ルールに割り当てます。
機能をフィルタし、各機能の右端にある下矢印をクリックして、そのバージョン履歴を表示できます。保護ルールに追加する保護機能を選択し、「保護機能の選択」をクリックします。
詳細は、Web Application Firewallの保護を参照してください。
- アクション: 選択した1つ以上の保護機能にさらにアクションを適用できます。影響を与える保護機能を選択し、「アクション」メニューから次のいずれかのコマンドを選択します。
- 保護機能設定の表示と編集: 保護機能設定を編集できる「保護機能設定の表示と編集」ダイアログ・ボックスを開きます。ノート
この設定はグローバルです。このダイアログ・ボックスで構成した設定は、保護機能リストで選択されているかどうかに関係なく、保護ルールに関連付けられているすべての保護機能に適用されます。 - 変更アクション: 「変更アクション」ダイアログ・ボックスが開き、トリガーされたときに保護機能によって実行されたアクションを更新できます。
- 削除: 保護ルールから保護機能を削除します。
- 保護機能設定の表示と編集: 保護機能設定を編集できる「保護機能設定の表示と編集」ダイアログ・ボックスを開きます。
-
- 「リクエスト保護ルールの追加」をクリックします。
- 「レスポンス保護ルールの表示」をクリックして、レスポンス保護ルールのリストを表示します。
- ルールを削除するには、ルールを選択して「削除」をクリックします。
- ルールを追加するには、「レスポンス保護ルールの追加」をクリックします。
- レスポンス保護のアクセス・ルールとアクションを追加および管理します。これは、この項で前述したリクエスト保護の場合と同じです。
- 1つ以上のリクエスト保護ルールを選択し、「アクション」メニューをクリックして、選択したすべてのルールにアクションを適用します。次のいずれかのオプションを選択できます。
- ルール設定の表示および編集: 「ルール設定の表示および編集」ダイアログ・ボックスを開きます。HTTP本文検査が有効になっているリクエスト保護ルールに次の設定を適用できます:
- 許容最大バイト数: 検査の対象となる各HTTPメッセージ本文のバイト数を指定します。値の範囲は0から8192です。
- 制限を超えた場合に実行するアクション: メッセージ本文のサイズが、指定した許容最大バイト数を超える場合に発生するアクションをリストから選択します。
-
ボディ・インスペクションの有効化: HTTPメッセージ本文の検査を有効にします。
-
本文検査の無効化: HTTPメッセージ本文の検査を無効にします。
-
削除: 選択したリクエスト保護ルールをポリシーから削除します。
- ルール設定の表示および編集: 「ルール設定の表示および編集」ダイアログ・ボックスを開きます。HTTP本文検査が有効になっているリクエスト保護ルールに次の設定を適用できます:
- 「次へ」をクリックします。
これらのオプションを使用して、Webアプリケーション・ファイアウォール・セキュリティをロード・バランサに適用します。詳細は、Web Application Firewallポリシーのファイアウォールを参照してください。
強制ポイントを選択しない場合は、「次」をクリックします。- 「ファイアウォールの追加」で、現在のコンパートメントに含まれるロード・バランサを選択します。別のコンパートメントからロード・バランサを選択するには、「コンパートメントの変更」をクリックします。
選択したロード・バランサにファイアウォール・セキュリティが適用されます。
- 「+Additionalファイアウォール」をクリックして別のファイアウォール行を表示し、ここでファイアウォールが適用される別のロード・バランサを選択できます。「X」をクリックして、関連するヘッダー行を削除します。
ポリシーの確認と作成
作成プロセスを完了する前に、WAFポリシー設定を確認します。各セクションは、ポリシーに設定されたオプションに対応します。- 各セクションの正確性と完成度を確認します。変更するセクションで「編集」をクリックします。
-
「WAFポリシーの作成」をクリックします。
「WAFポリシーの作成」ページが閉じ、「ポリシー」ページに戻ります。作成したWAFポリシーは、他のポリシーとともにリストされます。
Webアプリケーション・ファイアウォール・ポリシーを作成するには、oci waf web-app-firewall-policy createコマンドおよび必須パラメータを使用します:
oci waf web-app-firewall-policy create --compartment-id compartment_ocid [OPTIONS]
CLIコマンドのフラグおよび変数オプションの完全なリストは、コマンドライン・リファレンスを参照してください。
CreateWebAppFirewallPolicy操作を実行して、Webアプリケーション・ファイアウォール・ポリシーを作成します。