Webアプリケーション・ファイアウォール・ポリシーの作成

アクセス・ルール、レート制限ルールおよび保護ルールを含むWebアプリケーション・ファイアウォール(WAF)ポリシーを作成します。

ポリシーを作成するには、必要に応じて基本、アクセス制御、レート制限および保護オプションを指定し、強制ポイントを選択します。詳細は、「開始する前に」を参照してください。
  • 「ポリシー」リスト・ページで、「WAFポリシーの作成」を選択します。リスト・ページまたはポリシーの検索に関するヘルプが必要な場合は、Web Application Firewallポリシーのリストを参照してください。

    1. 基本情報

    1. WAFポリシーの名前を入力するか、デフォルト名を使用します。
    2. WAFポリシーを含めるコンパートメントを選択します。
    3. 「アクション」矢印を選択して、WAFポリシーに追加するアクションを表示します。デフォルトでは、次の事前構成済アクションがWAFポリシーに関連付けられています:
      • 事前構成済チェック処理: この処理ではルールの実行は停止されません。かわりに、アクションはルールの実行結果をドキュメント化したログ・メッセージを生成します。
      • 事前構成済の許可アクション: アクションは、ルールが一致したときに、現在のモジュール内の残りのすべてのルールをスキップします。
      • Preconfigured 401 Response Code Action: 定義されたHTTPレスポンスを返します。レスポンス・コード構成(ヘッダーおよびレスポンス・ページ本文)は、このアクションの実行時に返されるHTTPレスポンスを決定します。
    4. ポリシーに別のアクションを追加するには、「アクションの追加」を選択し、「アクションの追加」パネルで次のオプションを完了します。詳細は、「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}"}
    5. 「アクションの追加」を選択します。

    6. タグ付けの表示: (オプション) WAFポリシーに1つ以上のタグを追加します。

      リソースの作成権限がある場合は、フリーフォーム・タグをそのリソースに適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後で適用できます。

    7. レガシー・エッジ・ポリシー・オプションを使用するには、ページの下部にあるレガシー・ワークフロー・リンクを選択します。詳細は、エッジ・ポリシーを参照してください。

    「次」を選択します。

    2. アクセス制御

    (オプション)「アクセス制御」オプションを使用して、様々な条件を満たすリクエストおよびレスポンスの明示的なアクションを定義します。アクセス制御を有効にすると、リクエスト制御に関連付けられているアクセス・ルールのリストが表示されます。ルールは追加、変更、編集または削除できます。詳細は、Web Application Firewallポリシーのリクエスト制御を参照してください。

    1. 「アクセス制御の有効化」を選択します。
    2. 「リクエスト・コントロール」で、「アクセス・ルールの追加」を選択し、次の情報を指定してルールを定義します:
      • 名前: アクセス・ルールの名前を入力します。
      • 条件: ルール・アクションを実行するために満たす必要がある前提条件を指定します。「条件の理解」を参照してください。
      • ルール・アクション: 前述の条件が満たされたときに従う既存のルールを選択するか、「新規アクションの作成」を選択して追加します。事前構成済ルールの説明およびルールの追加手順は、前の項「基本情報の設定」を参照してください。
    3. 「アクセス・ルールの追加」を選択します。
    4. 「デフォルト・アクション」「アクション名」リストから、ポリシーに定義されているルール・グループにリクエストが一致しない場合に実行するアクションを選択します。
    5. 「レスポンス・コントロール・オプションの表示」を選択して、「レスポンス・コントロール」セクションおよび「アクセス・ルール」リストを表示します。リストには、レスポンス・コントロールに関連付けられたアクセス・ルールが含まれます。レスポンス制御のアクセス・ルールとアクションを追加および管理します。これは、リクエスト制御の場合と同じです。詳細は、「Web Application Firewallポリシーのレスポンス制御」を参照してください。

    「次」を選択します。

    3. レート制限

    1. 「レート制限ルールの構成の有効化」を選択します。
    2. 「レート制限ルール」で、「レート制限ルールの追加」を選択し、次のようにオプションを完了します:
      • 名前: レート制限ルールの名前を入力します。

      • 条件: ルール・アクションを実行するために満たす必要がある前提条件を指定します。「条件の理解」を参照してください。

      • レート制限構成: 一意のIPアドレスから実行できるリクエストの最大数およびリクエストを実行できる時間を構成します。オプションは次のとおりです。
        • リクエスト制限: 「期間」ボックスに割り当てられた時間値中に一意のIPアドレスが実行できるリクエストの最大数を入力します。
        • 期間: リクエスト制限ボックスで指定した一意のIPアドレスから最大数のリクエストを実行できる秒数を入力します。
        • アクション期間: リクエスト制限に達したときにアクションが適用される期間を秒単位で入力します。
      • ルール・アクション: 前述の条件を満たす場合に従う既存のルールを選択するか、「新規アクションの作成」を選択して追加します。事前構成されたルールの説明とルールの追加手順については、基本情報に関する前のセクションを参照してください。

        詳細は、「Webアプリケーション・ファイアウォールのアクション」を参照してください。

    「次」を選択します。

    4. 保護

    (オプション)これらのオプションを使用して、Oracle管理のリクエスト保護機能を適用し、悪意のあるトラフィックを捕捉します。必要に応じて保護ルールを適用します。詳細は、Web Application Firewallの保護を参照してください。

    1. 「保護ルールの構成の有効化」を選択します。
    2. 「リクエスト保護ルール」で、「リクエスト保護ルールの追加」を選択し、次のようにオプションを完了します:
      • 名前: 保護ルールの名前を入力します。

      • 条件: ルール・アクションを実行するために必要な前提条件を指定します。条件の理解を参照してください。
      • ルール・アクション: 前述の条件を満たす場合に従う既存のルールを選択するか、「新規アクションの作成」を選択して追加します。事前構成済ルールの説明およびルールの追加手順については、前の項「基本情報の設定」を参照してください。
      • ボディ・インスペクション: 「ボディ・インスペクションの有効化」を選択して、HTTPリクエスト・ボディがインスペクションを実行し、リクエスト・ボディ・コンテンツが保護ルールで指定されたすべての保護機能に準拠していることを確認します。詳細は、「HTTPリクエスト本文検査」を参照してください。

      • 保護機能: 保護ルールに割り当てられた保護機能がリストされます。「保護機能の選択」を選択して、「保護機能の選択」ダイアログ・ボックスを開きます。使用可能な保護機能を参照し、1つ以上の機能を保護ルールに割り当てます。

        機能をフィルタし、各機能の右端にある下矢印を選択して、そのバージョン履歴を表示できます。保護ルールに追加する保護機能を選択し、「保護機能の選択」を選択します。

        詳細は、Web Application Firewallの保護を参照してください。

      • アクション: 選択した1つ以上の保護機能にさらにアクションを適用できます。影響を与える保護機能を選択し、「アクション」メニューから次のいずれかのコマンドを選択します。
        • 保護機能設定の表示と編集: 保護機能設定を編集できる「保護機能設定の表示と編集」ダイアログ・ボックスを開きます。
          ノート

          この設定はグローバルです。このダイアログ・ボックスで構成した設定は、保護機能リストで選択されているかどうかに関係なく、保護ルールに関連付けられているすべての保護機能に適用されます。
        • 変更アクション: 「変更アクション」ダイアログ・ボックスが開き、トリガーされたときに保護機能によって実行されたアクションを更新できます。
        • 削除: 保護ルールから保護機能を削除します。
    3. 「リクエスト保護ルールの追加」を選択します。
    4. 「レスポンス保護ルールの表示」を選択して、レスポンス保護ルールのリストを表示します。
      • ルールを削除するには、ルールを選択し、「削除」を選択します。
      • ルールを追加するには、「レスポンス保護ルールの追加」を選択します。
      • レスポンス保護のアクセス・ルールとアクションを追加および管理します。これは、この項で前述したリクエスト保護の場合と同じです。
    5. 1つ以上のリクエスト保護ルールを選択し、「アクション」メニューを選択して、選択したすべてのルールにアクションを適用します。次のいずれかのオプションを選択できます。
      • ルール設定の表示および編集: 「ルール設定の表示および編集」ダイアログ・ボックスを開きます。HTTP本文検査が有効になっているリクエスト保護ルールに次の設定を適用できます:
        • 許容最大バイト数: 検査の対象となる各HTTPメッセージ本文のバイト数を指定します。値の範囲は0から8192です。
        • 制限を超えた場合に実行するアクション: メッセージ本文のサイズが、指定した許容最大バイト数を超える場合に発生するアクションをリストから選択します。
      • ボディ・インスペクションの有効化: HTTPメッセージ本文の検査を有効にします。

      • 本文検査の無効化: HTTPメッセージ本文の検査を無効にします。

      • 削除: 選択したリクエスト保護ルールをポリシーから削除します。

    「次」を選択します。

    5. 強制ポイントの選択

    これらのオプションを使用して、ロード・バランサにWebアプリケーション・ファイアウォール・セキュリティを適用します。詳細は、Web Application Firewallポリシーのファイアウォールを参照してください。

    「ファイアウォールの追加」で、現在のコンパートメントに含まれるロード・バランサを選択します。別のコンパートメントからロード・バランサを選択するには、「コンパートメントの変更」を選択します。

    選択したロード・バランサにファイアウォール・セキュリティが適用されます。

    「次」を選択します。

    6. 確認および作成

    作成プロセスを完了する前に、WAFポリシー設定を確認します。各セクションは、ポリシーに設定されたオプションに対応します。

    1. 各セクションの正確性と完成度を確認します。変更するセクションで「編集」を選択します。

    2. 「WAFポリシーの作成」を選択します。

  • Webアプリケーション・ファイアウォール・ポリシーを作成するには、oci waf web-app-firewall-policy createコマンドおよび必須パラメータを使用します:

    oci waf web-app-firewall-policy create --compartment-id compartment_ocid [OPTIONS]

    CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。

  • CreateWebAppFirewallPolicy操作を実行して、Webアプリケーション・ファイアウォール・ポリシーを作成します。