7 Database Firewallポリシー

Database Firewallポリシーを作成および管理できます。

7.1 Database Firewallポリシーについて

Database Firewallポリシーを使用すると、Database Firewallが受信するSQLトラフィックに対して実行するアクションを構成できます。

Database Firewallを使用したネットワークベースのSQLトラフィック監視を読んで次のことを理解することをお薦めします:

  • Database Firewallのネットワーク配置オプション
  • 様々な保護モード
  • Database Firewallポリシーの仕組みの概念

Database Firewallポリシーは、データベースに対するSQL操作をレポートし、クライアント・アプリケーション・アクセスを制御し、予想されるデータベース・アクセス動作を強制し、SQLインジェクションを防止し、アプリケーションのバイパスを制御し、悪意のあるSQL文によるデータベースへの影響を防止するように構成できます。

Database Firewallを使用すると、通過するSQL文の許可リストを作成したり、ブロックまたはアラートする拒否リストを作成できます。

Database Firewallポリシーは、ユーザー、ユーザーがデータに対して実行できるアクション、およびイベントが発生したときにDatabase Firewallが開始する必要があるアクションに基づいて定義されます。

7.2 Database Firewallのデプロイメント・モードとポリシーについて

Database Firewallのデプロイメント・モードおよび対応するポリシー・タイプについて学習します。

Database Firewallは、次のモードでデプロイできます。

  1. モニタリング(帯域外)
  2. モニタリング(ホスト監視)
  3. モニタリング/ブロック(プロキシ)

モニタリング(帯域外)またはモニタリング(ホスト監視)のデプロイメント・モードは、監視のみ、および潜在的なポリシー違反に関するアラートに使用できます。

モニタリング/ブロック(プロキシ)・モードは、監視およびアラートに加えて、特定のSQLアクティビティをブロックするためにデプロイできます。たとえば、ポリシー・ルールを定義して、ポリシー・ガイドラインに違反するSQL文をブロックできます。

Database Firewallポリシーを定義するシナリオを次に示します。

シナリオ 説明

特権ユーザーの監視

特権ユーザーによって実行されるすべてのSQL文を監視および取得するようにDatabase Firewallポリシーを構成します。特権ユーザーのリストを作成し、セッション・コンテキスト・ルールでこのリストを使用します。これにより、特定のターゲット・データベースに対してネットワーク経由で実行されるすべてのSQL文が提供されます。3つのモードのいずれかでDatabase Firewallをデプロイし、セッション・コンテキスト・ルールを使用します。

機密アプリケーション・データベースへのDBAアクセスのブロック

Database Firewallをモニタリング/ブロック(プロキシ)・モードでデプロイします。DBA (データベース管理者)ユーザーのリストを作成し、これらのユーザーによって機密オブジェクトのリストに対して実行されるSQL文をブロックするように、データベース・オブジェクト・ルールを構成します。

ネットワーク経由の機密データとアクセスの監視

データベース・オブジェクト・ルールを使用して、ユーザー・アクセスおよびその機密データに対する操作を監視するようにDatabase Firewallポリシーを構成します。データベース・オブジェクト・ルールの構成中に、機密オブジェクト(表またはビュー)のリストを提供します。Database Firewallは、このシナリオの3つのモードのいずれかでデプロイできます。

不正アクセスのブロック

Database Firewallをモニタリング/ブロック(プロキシ)・モードでデプロイし、データベース・オブジェクト・ルールを使用します。ユーザーのプロファイルを作成し、特定の機密データ(表またはビュー)に対する許可操作を構成します。2番目のデータベース・オブジェクト・ルールを作成することで、他のすべてのアクセスおよび操作をブロックします。ブロック・ルールがルール・リストの最後のルールであることを確認します。

信頼できるIPアドレスおよびアプリケーションからのSQL文の許可

Database Firewallをモニタリング/ブロック(プロキシ)・モードでデプロイします。セッション・コンテキスト・ルールを構成して、クライアント・アプリケーションとそのホストIPアドレスの許可リストからのSQLトラフィックを許可します。その他のアクセスは、デフォルト・ルールを使用してDatabase Firewallによって監視、アラートまたはブロックされる必要があります。このデータベース・アクセス・パターンを強制するには、セッション・コンテキスト・ルールで許可リストを作成し、他のSQL文をアラートまたはブロックするようにデフォルト・ルールを構成します。

SQLインジェクションの脅威またはゼロデイ・エクスプロイトの防止

Database Firewallをモニタリング/ブロック(プロキシ)・モードでデプロイします。アプリケーションおよびデータベース・ユーザーの信頼できるセットからSQL文を取得するようにDatabase Firewallを構成します。これはSQL文の許可リストです。Database Firewallは、SQL構文ベースのエンジンを使用して、類似したSQL文を解析し、クラスタにグループ化します。このようなクラスタのリストを作成し、特定のターゲットのリストと一致するすべてのSQL文にSQL文ルールを構成し、リストと一致しないクラスタを持つSQL文をアラートまたはブロックします。

潜在的なデータ流出の試みの検出

データベース・オブジェクト・ルールを使用して、SELECT SQL問合せに応答してデータベースにより戻される行数を取得して、データ流出の可能性を識別するようにDatabase Firewallポリシーを構成します(Oracle AVDF 20.3以降)。たとえば、戻された行数が特定の機密表の特定の予想されるしきい値を超えた場合にアラートを生成します。

7.3 Database Firewallポリシーのタイプ

Database Firewallポリシーのタイプについて学習します。

Database Firewallポリシーは、次のカテゴリに分類されます。

  • ユーザー定義Database Firewallポリシー
  • 事前定義済のDatabase Firewallポリシー

ユーザー定義Database Firewallポリシー

Oracle AVDFでは、迅速かつ効率的に独自のポリシーを定義できます。これらのポリシーには、6種類のルールを作成できます。

事前定義済のDatabase Firewallポリシー

Oracle AVDFには、事前定義済のDatabase Firewallポリシーが含まれています。これらが、SQL文をAudit Vault Serverのログに記録する頻度を定義します。これらはSQL文のみを監視し、アラートの発生や、SQL文のブロックは実行しません。SQL文をアラートまたはブロックするには、ユーザー定義Database Firewallポリシーを構成する必要があります。

7.4 Database Firewallポリシーの開発

Database Firewallポリシーの開発について学習します。

Database Firewallポリシーの開発には、次のステップが含まれます。

  1. 新しいDatabase Firewallポリシーの作成。
  2. 作成されたDatabase Firewallポリシーの構成。
  3. Database Firewallポリシーの公開。
  4. ターゲットへのDatabase Firewallポリシーのデプロイ。
  5. Database Firewallポリシーのエクスポートおよびインポート

ノート:

  • これらの操作はすべて、Audit Vault Serverコンソールを使用して実行されます。
  • Oracle AVDF 20.3以降では、Database Firewallポリシーは作成後に自動的に公開されます。

7.5 新しいDatabase Firewallポリシーの作成

Database Firewallポリシーの作成について学習します。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。

    このページにはユーザー定義ポリシーOracle事前定義済ポリシーがリストされますが、作成できるのはユーザー定義ポリシーのみです。

  4. 「作成」ボタンをクリックします。

    「ポリシーの作成」ダイアログが表示されます。

  5. ドロップダウン・リストから「ターゲット・タイプ」を選択します。
  6. 「ポリシー名」を入力します。
  7. 必要に応じて、「説明」を入力します。

  8. リリースに適したアクションを実行すると、ポリシーの詳細ページが表示されます。次にポリシーを構成します。

7.6 作成されたDatabase Firewallポリシーの構成

すでに作成されたDatabase Firewallポリシーの構成について学習します。

データベース・ファイアウォール・ポリシーの構成には、次が含まれます。

  1. グローバル・ポリシー設定の構成。
  2. セットまたはプロファイルの作成。
  3. ユーザー定義ルールの構成。

7.6.1 Database Firewallのグローバル・ポリシー設定の構成

監査者が既存のDatabase Firewallポリシー設定を構成または定義する方法を学習します。

Database Firewallのグローバル・ポリシー設定は、特定のポリシーのすべてのルールに適用される構成設定を表します。

前提条件: グローバルDatabase Firewall設定がポリシーの作成後に構成できます。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューから、「データベース・ファイアウォール・ポリシー」をクリックします。
  4. このページで、特定のポリシーの名前をクリックします。
  5. 右上隅にある「構成」ボタンをクリックします。次のポリシー・ルールが様々なタブに表示されます。
    1. ログイン/ログアウト
    2. 機密データのマスキング
    3. 不明なトラフィック
    4. ポリシー・パターン
  6. たとえば、「ポリシー・パターン」タブをクリックします。このタブで、次の項目を構成します。
    1. 「ログ・パターン」セクションで、「ログ・ファイルからのバイナリ・オブジェクトおよびコメントの削除」を選択するか、選択を解除します。

    2. 「アクション・ルール・パターン」セクションで、「しきい値アクションのリセット時間(分)」フィールドを入力します。数値を分単位で入力してください。ポリシー・ルールのいずれかに「しきい値」を設定した場合、そのルールの「しきい値アクション」が実行されると、ここに指定した時間内はそのアクションが繰り返されません。これによって、同一のルールに関するブロック・アクションまたは警告アクションの数が制限されます。

    3. 「置換なしのアクション」フィールドで、ポリシー・ルールの1つが「ブロック」に設定されていて、ルールで代替文を指定していない場合に実行するアクション(「応答なし」または「接続の削除」)を選択します。

    4. 「構文ルール・パターン」セクションで、「識別子としての二重引用符で囲まれた文字列」を選択するか、選択を解除します。これにより、SQL文に含まれる二重引用符で囲まれた文字列を識別子とリテラルのどちらとして扱うかが決まります。このチェック・ボックスの選択を解除すると、機密データ・マスキング(使用している場合)は二重引用符で囲まれたテキストをマスクします。

    5. 「大文字/小文字を区別した一致」で、このファイアウォール・ポリシーで「クライアント・プログラム名」「データベース・ユーザー名」および「OSユーザー名」について大/小文字を区別して照合するかどうかを選択します。

  7. 「保存」をクリックします。
7.6.1.1 ログインおよびログアウト・イベントのポリシーの構成

ログインおよびログアウト・イベントのDatabase Firewallポリシーを構成する方法を学習します。

データベース・ユーザーのログインおよびログアウト・ポリシーを指定できます。たとえば、指定された数のログイン試行に失敗したデータベース・ユーザーにアラートを発したりブロックするように構成します。
前提条件: ターゲット・データベースのログインまたはログアウト・ポリシーを使用するためには、特定のターゲット・データベースのDatabase Firewallモニタリング・ポイントを構成するときに、データベース・レスポンス・モニタリングをアクティブ化する必要があります。

ログインおよびログアウト・ポリシーを構成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューから、「データベース・ファイアウォール・ポリシー」をクリックします。
  4. 特定のポリシーの名前をクリックします。
  5. 「ポリシー」セクションで、右上隅にある「構成」ボタンをクリックします。
  6. 「ログイン/ログアウト」タブおよび「ログイン」セクションで、次の項目を構成します。
    1. アクション: ログイン・セッションのアクションを指定します。
    2. 脅威の重大度: 成功または失敗したデータベース・ユーザー・ログインの重大度レベルを選択します。
    3. ロギングの設定: ログインのロギングを有効にし、レポートおよびアラートでログイン・セッション情報を表示する場合は、このボックスを選択します。
    4. 失敗したログイン: 必要に応じて、「失敗したログイン・ポリシーのしきい値の設定」チェック・ボックスを選択します。

    この設定により、失敗ログインが続いて指定回数を超えたときに、アラートを発したりクライアント・プログラムをブロックできます。しきい値とアクションを設定できます。

    しきい値制限に達すると、ログイン・セッションは指定されたリセット期間(秒)でブロックされます。この期間後、クライアント・プログラム・ログイン試行はターゲット・データベースへ通過します。

    ノート:

    指定された数の連続した失敗ログインを超えた後のクライアント・プログラム・セッションのブロックは、モニタリング/ブロック(プロキシ)デプロイメント・モードでのみサポートされます。
  7. 「ログアウト」セクションで、次を構成します。
    1. アクション: ログアウト・セッションに対するアクション(通過またはアラートのどちらにするか)を指定します。
    2. 脅威の重大度: 成功または失敗したデータベース・ユーザー・ログアウトの重大度レベルを選択します。
    3. ロギングの設定: レポートまたはアラートでログアウト・セッション情報を表示します。
  8. 右上隅にある「保存」をクリックします。
7.6.1.2 機密データをマスクするためのポリシーの構成

機密データをマスクするためのDatabase Firewallポリシーの構成方法を学習します。

Database Firewallは、Audit Vault Serverのログに記録する前に、すべてのSQL文に対してパスワード、文字列リテラルおよび数値定数をデフォルトで不明瞭化します。さらに、選択的SQL文をマスクするためのルールを設定できます。データのマスキングは、クレジット・カード番号などの機密性の高いデータがログ・ファイル、レポート、およびアラートに表示されないようにします。ログに記録された文がデータ・マスキング・ポリシーと一致する場合は、ポリシーによってその文内のすべてのユーザー・データが自動的に置換されます。

Database Firewallは、データのタイプに応じてデータをマスクします。

  • 区切り文字列は、#としてマスクされます。
  • パスワードはXXXとしてマスクされます。
  • 文字列リテラルは、"#"としてマスクされます。文字列リテラルはユーザー名の場合があります。
  • 浮動小数、16進数、10進数、整数およびバイナリ定数などの数値定数は、すべて"0"(ゼロ)としてマスクされます。数値定数はユーザーIDの場合があります。

ノート:

Database Firewallによってデータがマスクされた後は、マスクを解除できません。

データのマスキングのルールを設定するには:

  1. 基準に基づいてマスクすることを選択した場合は、次のように詳細を入力します。

    列:

    • リストから選択します。
    • または、使用可能なオプションのリストからデータベースの列名を入力します。データ・マスキングは、これらの列を含む文に適用されます。
    • 選択されている1つ以上の列名を削除するには、それらの横にあるクロス・マーク(「x」)をクリックします。それに従って、SQL文がマスクされます。

    プロシージャ:

    • プロシージャ名を入力し、使用可能なオプションのリストから選択してプロシージャ名を「プロシージャ」リストに追加します。データ・マスキングは、指定されたプロシージャを含む文に適用されます。
    • 選択されている1つ以上のプロシージャ名を削除するには、それらの横にあるクロス・マーク(「x」)をクリックします。それに従って、SQL文がマスクされます。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューから、「データベース・ファイアウォール・ポリシー」をクリックします。
  4. 特定のポリシーの名前をクリックします。
  5. 右上隅にある「構成」ボタンをクリックします。
  6. 「機密データのマスキング」タブをクリックします。
  7. 「ロギング・データのマスク」チェック・ボックスを選択するか、選択を解除します。
  8. 次のいずれかのオプションを選択します。
    1. すべての文: これはデフォルトの選択です。
    2. 次の条件に一致するすべての文: 条件に基づいてマスクを選択した場合は、次のように詳細を入力します。

    :

    • 検索ダイアログを使用してリストから選択し、「追加」ボタンをクリックしてリストに追加します。データ・マスキングは、これらの列にリストされたSQL文に適用されます。
    • 1つ以上の列名を削除するには、列名を選択し、「削除」ボタンをクリックします。それに従って、SQL文がマスクされます。

    プロシージャ:

    • 空のままにすると、任意のプロシージャを含むSQL文にデータ・マスキングが適用されます。
    • 検索ダイアログを使用してリストから選択し、「追加」ボタンをクリックしてリストに追加します。データ・マスキングは、これらの列にリストされたSQL文に適用されます。
    • 1つ以上のプロシージャ名を削除するには、プロシージャ名を選択し、「削除」ボタンをクリックします。それに従って、SQL文がマスクされます。
  9. 「保存」をクリックします。
7.6.1.3 不明なトラフィックのポリシーの構成

不明なトラフィックに対してDatabase Firewallポリシーを構成する方法を学習します。

Database Firewallポリシー・ルールは、考えられる次の理由で認識されないSQL文に対して構成できます。

  • Database FirewallがSQL文を解析できません
  • SQL文のセマンティクスが無効です
  • クライアント・プログラムとターゲット・データベースで使用される通信プロトコルがDatabase Firewallでサポートされていません

ノート:

Javaコードの解釈は、Database Firewallではサポートされていません。

不明なトラフィックのポリシー・ルールを設定するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」を選択します。
  4. 特定のポリシーの名前をクリックします。ポリシーの詳細がページに表示されます。
  5. 右上隅にある「構成」ボタンをクリックします。
  6. メイン・ページの「不明なトラフィック」サブタブをクリックします。
  7. 「アクション」「ロギング・レベル」および「脅威の重大度」を適宜割り当てます。
  8. 必要に応じて「エスカレート・アクションのしきい値の設定」チェック・ボックスを選択して、不明なトラフィック文がしきい値制限として指定された回数を超えた後に関連するアクションを適用します。続いて、次を入力します
    1. しきい値: エスカレーション・アクションを実行する前に必要な不明なトラフィックの表示回数を入力します。
    2. しきい値時間(秒): しきい値時間を設定します。
    3. しきい値アクション: しきい値に達した後で実行するアクションとしてAlertまたはBlockを選択します。
    4. 置換SQL (オプション): 「しきい値アクション」Blockを選択した場合、不明なSQL文の代替SQL文を入力します。
7.6.1.4 ポリシー・パターン用のDatabase Firewallポリシーの構成

SQL文のパターン用のDatabase Firewallポリシー・ルールを構成する方法を学習します。

異なるパターン用のポリシー・ルールを設定するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」を選択します。
  4. 特定のポリシーの名前をクリックします。ポリシーの詳細がページに表示されます。
  5. 右上隅にある「構成」ボタンをクリックします。
  6. 「ポリシー・パターン」タブをクリックします。
  7. このタブで、次の項目を構成します。

  8. 「保存」をクリックします。

7.6.2 Database Firewallセットおよびプロファイルの作成と管理

監査者がDatabase Firewallのセットとプロファイルを作成および管理する方法を学習します。

Database Firewallポリシー・ルールを定義するときには、データベース管理者、クライアント・プログラム、実行できるアクション、実行できないアクションなどのアクターを考慮する必要があります。アクターとそのアクションに基づいて、関連するアクションを実行するDatabase Firewallポリシー・ルールを構成します。これらのアクターは、クライアント・プログラムがターゲット・データベースとのセッションを確立したときに、ネットワーク・トラフィックからDatabase Firewallによって取得されたセッション・コンテキスト属性にすぎません。

これらのセットを使用すると、クライアント・ホストIPアドレス、データベース・ユーザー、OSユーザー、データベース・オブジェクト、クライアント・プログラムなどのセッション・コンテキスト属性のリストを作成できます。SQLクラスタのセットを作成することもできます。SQLクラスタは、互いに類似したSQL文のグループです。プロファイルが、セットの名前付きの組合せです。

7.6.2.1 セットの作成

セットの種類と作成方法について学習します。

ルールで構成および使用できるセットのタイプを次に示します。

  1. IPアドレス・セット: クライアント・プログラムのIPアドレスのリスト(IPv4形式)。
  2. データベース・ユーザー・セット: データベース・ユーザー名のリスト。
  3. OSユーザー・セット: オペレーティング・システム・ユーザー名のリスト。
  4. クライアント・プログラム・セット(Oracle AVDF 20.3以前のデータベース・クライアント・セット): クライアント・プログラムのリスト。たとえば、SQL*Plus。
  5. データベース・オブジェクト・セット: ポリシーによって評価される表のリスト。
  6. SQLクラスタ・セット: SQLクラスタのリスト。SQLクラスタは、Database Firewallによってネットワーク・トラフィックから自動的に作成される、類似したSQL文のグループです。

ローカル・セットを作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」を選択します。
  4. 特定のポリシーの名前をクリックします。ポリシーの詳細がメイン画面に表示されます。
  5. 右上端の「セット/プロファイル」をクリックします。このページには、特定のポリシーについてすでに定義されているセットがリストされます。
  6. 次のいずれかをクリックします。

    • IPアドレス・セット
    • データベース・ユーザー・セット
    • OSユーザー・セット
    • クライアント・プログラム・セット(Oracle AVDF 20.3以前のデータベース・クライアント・セット)
    • データベース・オブジェクト・セット
    • SQLクラスタ・セット
  7. 「追加」をクリックして、新しいローカル・セットを追加します。
  8. ダイアログ・ボックスを使用して、新しいローカル・セットの追加を完了します。

    ノート:

    ファイルをインポートする場合は、UTF-8形式でエンコードする必要があります。
  9. 「保存」をクリックします。新しいローカル・セットが、特定のポリシーのページに表示されます。
  10. 特定のセットの「追加」ボタンをクリックすると、さらにセットを追加できます。

Oracle AVDF 20.9以降では、グローバル・セットを作成するには、グローバル・セット/データ検出の管理を参照してください。

7.6.2.2 SQLクラスタ・セットの作成と管理

Database FirewallポリシーでSQLクラスタ・セットを作成および管理する方法を学習します。

SQLクラスタ・セットは、SQLクラスタのグループです。SQLクラスタは、Database Firewallによってネットワーク・トラフィックから自動的に作成される、互いに類似したSQL文のグループです。

新しいSQLクラスタ・セットを作成することも、削除することもできます。これは定義のみを削除し、Database Firewallによって取得されたネットワーク・データは削除しません。

SQLクラスタ・セットを作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「Database Firewallポリシー」を選択します。
  4. 特定のポリシーの名前をクリックします。ポリシーの詳細がメイン・ページに表示されます。
  5. 右上端の「セット/プロファイル」をクリックします。このページには、特定のポリシーにすでに定義されている既存のセットが表示されます。
  6. 「SQLクラスタ・セット」サブタブをクリックします。
  7. 新しいSQLクラスタ・セットを追加するには、「追加」をクリックします。「SQLクラスタ・セットの追加」ダイアログが表示されます。
  8. SQLクラスタのリストを取得するには、次のフィールドでフィルタ・オプションを選択します。
    1. ターゲット
    2. クラスタの表示
  9. 「実行」をクリックします。選択内容に応じて、すべてのSQLクラスタが表示されます。
  10. 特定のSQLクラスタを選択します。クラスタに関連付けられたSQL文を確認するには、クラスタ列値のサンプルSQLを参照してください。
  11. 「名前」と、オプションで「説明」を入力します。
  12. 「保存」をクリックします。新しいSQLクラスタ・セットが追加され、セット/プロファイル・ページにリストされます。前述のステップに従って、このようなセットをさらに追加できます。

特定のセットについてSQLクラスタを追加または削除するには:

  1. 「SQLクラスタ・セット」サブタブをクリックします。
  2. レポートから特定のSQLクラスタ・セットを選択すると、クラスタ・セットの詳細が表示されます。
  3. 「追加」を選択し、手順に従って新しいクラスタを既存のセットに追加します。
  4. 同じダイアログで「削除」オプションを選択して、セットから1つ以上のクラスタを削除します。
  5. 「保存」をクリックします。
7.6.2.3 プロファイルの作成と管理

Database Firewallポリシーのプロファイルを作成および管理する方法を学習します。

プロファイルは、次の1つ以上のセットの名前付き組合せです。

  1. IPアドレス・セット
  2. DBユーザー・セット
  3. OSユーザー・セット
  4. クライアント・プログラム・セット(Oracle AVDF 20.3以前のDBクライアント・セット)

プロファイルを使用してユーザーを作成できます。たとえば、DBユーザー・セットを使用してシステムDBAプロファイルを作成できます。このセットには、すべてのDBAユーザーを含むことができます。

プロファイルを作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブを選択します。
  4. 特定のポリシーの名前をクリックします。
  5. 右上隅にある「セット/プロファイル」ボタンをクリックします。
  6. 「プロファイル」サブタブをクリックします。このページには、既存のプロファイルがリストされます。プロファイル名をクリックすると編集できます。

    ノート:

    最初にセットを作成します。セットがまだ存在していない状態でプロファイルは作成できません。
  7. 「追加」をクリックして、新しいプロファイルを作成します。
  8. 「プロファイルの追加」ダイアログで、次の情報を入力します。
    • 名前: プロファイルの名前を入力します。
    • 説明: オプションで説明を入力します。
    • IPアドレス・セット: リストから、使用可能なIPアドレス・セットの1つを選択するか、未選択のままにしておきます。
    • DBユーザー・セット: リストから、使用可能なデータベース・ユーザー・セットを1つ選択するか、未選択のままにしておきます。
    • OSユーザー・セット: リストから、使用可能なオペレーティング・システム・ユーザー・セットを1つ選択するか、未選択のままにしておきます。
    • クライアント・プログラム・セット(Oracle AVDF 20.3以前のDBクライアント・セット): リストから、使用可能なクライアント・プログラム・セットを1つ選択するか、未選択のままにしておきます。

    ノート:

    クライアント・プログラム名とOSユーザー名はクライアントによって提供されます。したがって、環境によっては信頼できない場合があります。
  9. 「保存」をクリックします。

    プロファイルが「プロファイル」サブタブに表示されます。これで、このプロファイルを選択して、SQL文のポリシー・ルールを設定できます。Oracle AVDF 20.4以降では、プロファイルはデータベース・オブジェクト・ルールでも選択できます。

7.6.3 Database Firewallポリシー・ルール

Database Firewallポリシー・ルールについて学習します。

7.6.3.1 Database Firewallポリシー・ルールについて

Database Firewallポリシー・ルールのタイプについて学習します。

Database Firewallのルール・タイプは次のとおりです。

  • セッション・コンテキスト
  • SQL文
  • データベース・オブジェクト
  • デフォルト

Database Firewallによるポリシー評価

図7-1 ルールの評価の順序

図7-1の説明を次に示します
「図7-1 ルールの評価の順序」の説明

Database Firewallはマルチ・ステージ・エンジンであり、データベースへのSQLトラフィックを分析および検査し、トラフィックからSQL文を抽出し、ポリシーで指定されているとおりにSQL文を許可、アラートまたはブロックするかどうかを高い精度で決定します。SQL文は、Database Firewallで様々な分析ステージを通過します。これには、元のIPアドレス、データベース・ユーザー名、OSユーザー名、クライアント・プログラム名、SQL文のカテゴリ(DDL、DMLなど)、データベース表またはアクセス中のビューのチェックが含まれます。この情報を使用して、SQL文を許可するか、アラートを発する必要があるか、ブロックを必要とするかを決定できます。

すべてのステージにアクションが指定され、チェックが実行されます。一致する場合、ルールの評価は停止します。セッション・コンテキスト・ルールが最初に評価されます。次に、SQL文およびデータベース・オブジェクト・ルールが続きます。最後に、デフォルト・ルールがあります。

ノート:

Database Firewallポリシーのデータベース・オブジェクト・ルールのプロファイルは、Oracle AVDF 20.4から導入されています。
7.6.3.2 ルールの評価順序

Database Firewallルールが評価または適用される順序について学習します。

1つのルール・タイプ内に複数のルールを含めることができます。次の表に、それらの適用または評価の順序を示します。

ルール・タイプ Oracle AVDFリリース20.3以前 Oracle AVDFリリース20.4以降

セッション・コンテキスト

セッション・コンテキスト・ルールは、ポリシーの概要ページにリストされている順序で適用されます。

セッション・コンテキスト・ルールは、ポリシーの概要ページにリストされている順序で適用されます。

SQL文

SQL文ルールは、ポリシー概要ページにリストされている順序で適用されます。

SQL文ルールは、ポリシー概要ページにリストされている順序で適用されます。

データベース・オブジェクト

データベース・オブジェクトは、ANYまたはALLの表で構成できます。一致は、次のようにALLまたはANY演算子を使用して適用されます。

  1. ALL演算子を選択した場合は、SQL文にリスト内のすべての表が含まれている必要があります。
  2. ANY演算子を選択した場合は、SQL文にリスト内の1つ以上の表が含まれている必要があります。

ANYルールが最初に評価され、次にALLルールが評価されます。

データベース・オブジェクト・ルールは、ポリシー概要ページにリストされている順序で適用されます。

デフォルト

1つのルールのみを含めることができます。

1つのルールのみを含めることができます。

モニタリング/ブロック(プロキシ)・モードでは、Database FirewallはすべてのIPv6トラフィックを、所定のポリシーとは関係なくデフォルトでブロックします。

Oracle AVDF 20.4以降では、ルールの評価順序を変更できます。次のステップを実行します。

  1. 「評価順序」ボタンをクリックします。ダイアログ・ボックスが表示されます。
  2. 右側にある上矢印または下矢印を使用して、ルールの順序を変更します。
  3. 「保存」をクリックします。確認メッセージが画面に表示されます。更新されたルール順序がメイン・ページ上でリフレッシュされます。
7.6.3.3 セッション・コンテキスト・ルール

セッション・コンテキスト・ルールについて学習します。

ターゲット・データベースに接続しようとしているSQLクライアント・プログラムからのセッションには、ホストIPアドレス、データベース・ユーザー名、オペレーティング・システムのユーザー名およびクライアント・プログラム名などの情報が含まれます。これらはセッション・コンテキスト属性と呼ばれます。セッション・コンテキスト・ルールは、セッション・コンテキスト属性に適用されます。たとえば、信頼できる許可リスト・クライアントIPアドレス範囲からのSQL文を許可します。また、予想されるIPアドレス範囲外で発生したSQL文をブロックすることもできます。

次のセットが、セッション・コンテキスト・ルールを作成するときに使用されます:

  1. IPアドレス・セット
  2. DBユーザー・セット
  3. OSユーザー・セット
  4. クライアント・プログラム・セット(Oracle AVDF 20.3以前のDBクライアント・プログラム)

セッション・コンテキスト・ルールを作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」を選択します。
  4. 既存のカスタム・ポリシーの名前を選択するか、「作成」をクリックして新しいものを作成します。

    ノート:

    ページにユーザー定義Database FirewallポリシーOracle事前定義済のDatabase Firewallポリシーの両方が表示されますが、作成できるのはユーザー定義Database Firewallポリシーのみです。
  5. Database Firewallポリシー・ルールセクションで、「セッション・コンテキスト」セクションを展開します。
  6. 「追加」をクリックします。「セッション・コンテキスト」ダイアログが表示されます。
  7. 「ルール名」と、オプションで「説明」を入力します。
  8. 「ルールセット」セクションの下にリストされている次のフィールドについて、次に示す操作を行います。
    1. IPアドレス・セット: 含めるか除外するかを選択してから、リストからIPアドレス・セットを選択します。
    2. DBユーザー・セット: 含めるか除外するかを選択してから、データベース・ユーザー・セットを選択します。
    3. OSユーザー・セット: 含めるか除外するかを選択してから、OSユーザー・セットを選択します。
    4. クライアント・プログラム・セット(Oracle AVDF 20.3以前のDBクライアント・プログラム): 含めるか除外するかを選択してから、SQLクライアント・プログラムを選択します。

    ノート:

    • これらのセットに含めることができる項目数に制限はありません。
    • 「IPアドレス・セット」以外のすべてのセットに対するワイルドカードとして* (アスタリスク)を使用できます。
    • すべてのセットに、大/小文字を区別するかどうかのオプションがあります。そのためには、グローバル・ポリシー構成のチェック・ボックスを選択または選択を解除し、「ポリシー・パターン」「大文字/小文字を区別した一致」の順に選択します。
    • たとえば、IPアドレス・セットを含め、DBユーザー・セットを除外することを選択した場合、このセッション・コンテキスト・ルールは、選択したIPアドレス・セットからのSQLトラフィックにのみ適用されます。ただし、選択した「DBユーザー・セット」のデータベース・ユーザーからのSQLトラフィックには適用されません。
  9. 「アクション」セクションの次のフィールドで使用可能な適切なオプションを選択します。
    1. アクション
    2. ロギング・レベル
    3. 脅威の重大度
    4. しきい値の後に別のエスカレーション・アクションを適用する場合は、オプションで「エスカレーション・アクションのしきい値の設定」を選択します。次を入力します。

      1. しきい値: エスカレーション・アクションが実行される前に必要なSQLの一致回数を入力します。
      2. しきい値時間(秒)
      3. しきい値アクション: しきい値に達した後で実行するアクションとしてAlertまたはBlockを選択します。
      4. 置換SQL: (オプション)「しきい値アクション」Blockを選択した場合、このルールと一致するSQL文の代替文を入力します。
  10. 「保存」をクリックします。
7.6.3.4 SQL文ルール

SQL文ルールについて学習します。

Database Firewallは、ネットワーク・トラフィックからSQL文を抽出し、分析します。類似したSQL文をクラスタにグループ化します。このようなクラスタをさらにグループ化して、クラスタ・セットを形成できます。SQL文ルールは、クラスタ・セットに属するSQL文でDatabase Firewallが実行する必要があるアクションを構成するために使用します。

許可リスト(ホワイト・リスト)または拒否リスト・ベースのポリシーは、このルールを使用して作成できます。SQLクラスタの許可リストは、信頼できるアプリケーションから一定期間にわたって既知または予想されるSQL文を送信することで作成できます。SQL文ルールの作成時に、SQLクラスタ・セットの許可リストを含め、許可リストに属するクラスタを含むSQL文を許可するように構成します。

プロファイルを使用して拒否リスト・ベースのポリシーを作成します。たとえば、機密データのクラスタ・セットを作成してから、データベース管理者(DBA)のプロファイルを作成します。作成したクラスタ・セットと一致するクラスタを持つDBAプロファイル・ユーザーからのSQL文をブロックするようにルールを構成します。この場合、ルールは拒否リストとして機能します。

SQL文ルールを作成するには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「Database Firewallポリシー」をクリックします。
  4. 既存のポリシーの名前をクリックするか、「作成」をクリックして新しいポリシーを作成します。
  5. 「SQL文」セクションを展開します。
  6. 「追加」をクリックします。
  7. 「SQL文」ダイアログで、ルール名を入力します。
  8. オプションで、「説明」を入力します。
  9. リストから「プロファイル」を選択します。
  10. 「クラスタ・セット」フィールドで、「使用可能」列のクラスタを選択し、「選択済」列に移動します。クラスタ・セットの作成方法に関する項を参照してください。SQL文のポリシー・ルールを作成する前に、クラスタ・セットを作成します。
  11. 「アクション」セクションで、このクラスタ・タイプのSQL文に適用する「アクション」「ロギング・レベル」および「脅威の重大度」の各フィールドの詳細を入力します。
  12. 必要に応じて、「エスカレート・アクションのしきい値の設定」フィールドのチェック・ボックスを選択します(このクラスタしきい値時間と一致するSQL文にアクションが必要な場合)。このチェック・ボックスを選択した後、次を入力します。
    1. しきい値:: エスカレーション・アクションを実行する前にSQL文がこのクラスタと一致する必要がある回数を入力します。
    2. しきい値時間(秒): 時間を秒単位で入力します。
    3. しきい値アクション: しきい値に達した後で実行するアクションとしてAlertまたはBlockを選択します。
    4. 置換SQL: 「しきい値アクション」Blockを選択した場合、このルールと一致するSQLの代替文を入力します。
  13. 「保存」をクリックします。
7.6.3.5 データベース・オブジェクト・ルール

データベース・オブジェクト・ルールについて学習します。

データベース・オブジェクト・ルールは、次のシナリオで使用できます。

データベース・オブジェクト・ルールは、表やビューなどの特定のデータベース・オブジェクトに対する特定のタイプのSQL文(DML、DDLなど)を許可、アラートまたはブロックするために使用されます。これらのルールは、機密アプリケーション・データへのアクセスを制御するために使用されることがよくあります。

  • 機密表で関心のある特定の文タイプの監視。「任意」表フィールドを使用し、「文クラス」TRANSACTION COMPOSITEを選択します。また、表AVG_COSTBOOKSおよびBUSINESS_CONTACTSを選択できます。このルールと一致する文はTRANSACTION COMPOSITEであり、選択した表のいずれかを含めることができます。
  • 機密表で関心のある特定の文タイプの監視(「すべて」表フィールドを使用)。「文クラス」で、ProceduralおよびCompositeを選択します。また、表AVG_COSTBOOKSおよびBUSINESS_CONTACTSを選択できます。このルールと一致する文は、ProceduralまたはCompositeのいずれかであり、SQL文にはすべての表(AVG_COSTBOOKSおよびBUSINESS_CONTACTS)が必要です。
  • 機密データの流出の試みの監視。この機能を使用するには、データベース・オブジェクト・ルールを作成して、SELECT問合せによって戻された行数を取得します。「文クラス」フィールドでData Manipulation Read onlyを選択します。このオプションは、Data Manipulation Read only文クラスでのみ使用できます。要件に応じて、「すべて」または「任意」の表を選択できます。このデータは、「すべてのアクティビティ」および「データベース・ファイアウォール・レポート」の選択でも使用できます。戻された行数がしきい値を超える場合にアラートを構成できます。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。
  4. 既存のユーザー定義ポリシーの名前をクリックします。そのポリシーに固有のページが表示されます。

    ノート:

    ページには、ユーザー定義のデータベース・ファイアウォール・ポリシーOracle事前定義済のデータベース・ファイアウォール・ポリシーの両方が表示されますが、ユーザー定義のDatabase Firewallポリシーのみが変更可能です。
  5. 「データベース・オブジェクト」セクションを展開して、既存のデータベース・オブジェクト・ルールをクリックするか、「追加」をクリックします。「データベース・オブジェクト」ダイアログが表示されます。
  6. 「ルール名」を入力します。
  7. 「説明」を入力します。
  8. 「プロファイル」を選択します。-で示されているように、デフォルトはありません。
  9. 「文クラス」で、このルールを適用するためにSQL文が一致する必要がある文クラスのタイプを1つ以上選択します。
  10. ターゲット・タイプがOracle Databaseのときに、「文クラス」フィールドのいずれかの値が「読取り専用のデータ操作」 (Oracle AVDFリリース20.4より前)またはSELECT (Oracle AVDFリリース20.4以降)の場合は、フィールド「SELECT問合せに対して戻された行数の取得」Yesに切り替えることができます。このフィールドをYesに設定すると、ポリシーに応じてSELECT問合せの行数が取得され、「すべてのアクティビティ」「データベース・ファイアウォール・レポート」の列「行数」に表示されます。この列は、レポートで選択できるようになります。アラートは、フェッチまたは問合せ対象の行数に応じて構成できます。
  11. モニターする表/ビューセクションで、モニターする表を選択します。すでにモニターする表が選択済の場合は、選択した表のプレビューが表示されます。

    ノート:

    指定しないかぎり、すべての表とビューがモニターされます。
    1. モニターする表のリストを編集するには、テキスト・ボックスの右側にある鉛筆アイコンをクリックします。
    2. ダイアログ・ボックスでは、モニターする表のリストを3つのタブ、「値の入力」「ファイルから」または「収集データから」から編集できます。
    • 「値の入力」タブで、テキスト・ボックスに表名を入力します。各表またはビューを、個別の行に入力する必要があります。終了したら、「保存」をクリックします。
      1. 空のままにすると、Database Firewallにより分析されるすべての表が考慮されます。
      2. 完全修飾表名を含めます。ノート:T1およびMyschema.T1は異なるとみなされます。したがって、必要に応じてすべての表名を含めます。
    • 「ファイルから」タブで、「ファイルの選択」フィールドをクリックして、表またはビューの名前を含む.txtファイルを、1行につき1つの名前でアップロードします。使用しているコンピュータのファイルのポップアップから、.txtファイルを選択します。終了したら、「保存」をクリックします。
    • 「収集データから」タブで、「使用可能」列から表を選択し、中央のフィルタを使用して「選択済」列に移動します。ダイアログの左上にある検索ボックスに入力すると、表を検索できます。これにより、「使用可能」列の下に表示される表のリストが絞り込まれます。終了したら、「保存」をクリックします。
    • (オプション)各タブの下部に、モニターする表/ビューという表があります。この表には、選択したモニター対象の表またはビューが含まれます。空のリストは、すべての表とビューがモニターされることを意味します。すべての表とビューを選択するには、「表/ビュー」列ヘッダーの左側にあるチェック・ボックスを選択します。任意の表とビューを選択するには、その表またはビューの「表/ビュー」列の左側にあるチェック・ボックスを選択します。選択した表またはビューをモニター対象のリストから削除するには、「削除」をクリックします。
  12. 「実行する処理」セクションで、適切なドロップダウン・リストから、このルールの「アクション」「ロギング・レベル」および「脅威の重大度」を選択します。
  13. 「アクション」としてBlockを選択した場合、「置換SQL」フィールドが表示されます。ブロックされたSQL文を置換する文を入力します。
  14. 「保存」をクリックします。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。
  4. 既存のユーザー定義ポリシーの名前をクリックします。そのポリシーに固有のページが表示されます。

    ノート:

    ページには、ユーザー定義のデータベース・ファイアウォール・ポリシーOracle事前定義済のデータベース・ファイアウォール・ポリシーの両方が表示されますが、ユーザー定義のDatabase Firewallポリシーのみが変更可能です。
  5. 「データベース・オブジェクト」セクションを展開して、既存のデータベース・オブジェクト・ルールをクリックするか、「追加」をクリックします。「データベース・オブジェクト」ダイアログが表示されます。
  6. 「ルール名」を入力します。
  7. 「説明」を入力します。
  8. 「プロファイル」を選択します。-で示されているように、デフォルトはありません。
  9. 「文クラス」で、このルールを適用するためにSQL文が一致する必要がある文クラスのタイプを1つ以上選択します。
  10. ターゲット・タイプがOracle Databaseのときに、「Statement Classes」フィールドのいずれかの値がSELECTの場合は、フィールド「SELECT問合せに対して戻された行数の取得」Yesに切り替えることができます。このフィールドをYesに設定すると、ポリシーに応じてSELECT問合せの行数が取得され、「すべてのアクティビティ」「データベース・ファイアウォール・レポート」の列「行数」に表示されます。この列は、レポートで選択できるようになります。アラートは、フェッチまたは問合せ対象の行数に応じて構成できます。
  11. 「モニター対象の表/ビュー」セクションで、「DBオブジェクト・セット」ドロップダウンからグローバル・セットまたはローカル・セットのどちらかを選択します。

    データベース・オブジェクト・セットは、グローバル・セットまたはローカル・セットのどちらかになります。グローバル・セットは、複数のデータベース・ファイアウォール・ポリシーで表示と適用が可能ですが、ローカル・セットは、そのセットが作成されたデータベース・ファイアウォール・ポリシーでのみ表示と適用が可能です。グローバル・セットは「データ検出」で作成できます。

    ノート:

    指定しないかぎり、すべての表とビューがモニターされます。
    1. データベース・オブジェクト・セットを追加するには、テキスト・ボックスの右側にある「+」ボタンをクリックします。
    2. ダイアログ・ボックスでは、モニターする表のリストを3つのタブ、「値の入力」「ファイルから」または「収集データから」から編集できます。
      • 「値の入力」タブで、テキスト・ボックスに表名を入力します。各表またはビューを、個別の行に入力する必要があります。終了したら、「保存」をクリックします。
        • 空のままにすると、Database Firewallにより分析されるすべての表が考慮されます。
        • ポリシー評価は、スキーマとは無関係に表に対して実行されます。たとえば、ポリシーは修飾表名Myschema.T1とプレーン表名T1を同じ方法で評価します。
        • 表名には、表名に*を使用使用することで、ワイルドカード文字を含めることもできます。たとえば、T*にはT1T2が含まれます。
      • 「ファイルから」タブで、「ファイルの選択」フィールドをクリックして、表またはビューの名前を含む.txtファイルを、1行につき1つの名前でアップロードします。使用しているコンピュータのファイルのポップアップから、.txtファイルを選択します。終了したら、「保存」をクリックします。
      • 「収集データから」タブで、「使用可能」列から表を選択し、中央のフィルタを使用して「選択済」列に移動します。ダイアログの左上にある検索ボックスに入力すると、表を検索できます。これにより、「使用可能」列の下に表示される表のリストが絞り込まれます。終了したら、「保存」をクリックします。
      • (オプション)各タブの下部に、モニターする表/ビューという表があります。この表には、選択したモニター対象の表またはビューが含まれます。空のリストは、すべての表とビューがモニターされることを意味します。すべての表とビューを選択するには、「表/ビュー」列ヘッダーの左側にあるチェック・ボックスを選択します。任意の表とビューを選択するには、その表またはビューの「表/ビュー」列の左側にあるチェック・ボックスを選択します。選択した表またはビューをモニター対象のリストから削除するには、「削除」をクリックします。
  12. 「実行する処理」セクションで、適切なドロップダウン・リストから、このルールの「アクション」「ロギング・レベル」および「脅威の重大度」を選択します。
  13. 「アクション」としてBlockを選択した場合、「置換SQL」フィールドが表示されます。ブロックされたSQL文を置換する文を入力します。
  14. 「保存」をクリックします。
  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。
  4. 既存のユーザー定義ポリシーの名前をクリックします。そのポリシーに固有のページが表示されます。

    ノート:

    ページには、ユーザー定義のデータベース・ファイアウォール・ポリシーOracle事前定義済のデータベース・ファイアウォール・ポリシーの両方が表示されますが、ユーザー定義のDatabase Firewallポリシーのみが変更可能です。
  5. 「データベース・オブジェクト」セクションを展開して、既存のデータベース・オブジェクト・ルールをクリックするか、「追加」をクリックします。「データベース・オブジェクト」ダイアログが表示されます。
  6. 「ルール名」を入力します。
  7. 「説明」を入力します。
  8. 「プロファイル」を選択します。-で示されているように、デフォルトはありません。
  9. 「コマンド」セクションで、このルールに追加する特定のコマンドを選択します
  10. ターゲット・タイプがOracle Databaseのときに、「コマンド」フィールドの値のいずれかがSELECTの場合は、フィールド「SELECT問合せに対して戻された行数の取得」「はい」に切り替えることができます。このフィールドをYesに設定すると、ポリシーに応じてSELECT問合せの行数が取得され、「すべてのアクティビティ」「データベース・ファイアウォール・レポート」の列「行数」に表示されます。この列は、レポートで選択できるようになります。アラートは、フェッチまたは問合せ対象の行数に応じて構成できます。
  11. 「モニター対象の表/ビュー」セクションで、「DBオブジェクト・セット」ドロップダウンからグローバル・セットまたはローカル・セットのどちらかを選択します。

    データベース・オブジェクト・セットは、グローバル・セットまたはローカル・セットのどちらかになります。グローバル・セットは、複数のデータベース・ファイアウォール・ポリシーで表示と適用が可能ですが、ローカル・セットは、そのセットが作成されたデータベース・ファイアウォール・ポリシーでのみ表示と適用が可能です。グローバル・セットは「データ検出」で作成できます。

    ノート:

    指定しないかぎり、すべての表とビューがモニターされます。
    1. データベース・オブジェクト・セットを追加するには、テキスト・ボックスの右側にある「+」ボタンをクリックします。
    2. ダイアログ・ボックスでは、モニターする表のリストを3つのタブ、「値の入力」「ファイルから」または「収集データから」から編集できます。
      • 「値の入力」タブで、テキスト・ボックスに表名を入力します。各表またはビューを、個別の行に入力する必要があります。終了したら、「保存」をクリックします。
        • 空のままにすると、Database Firewallにより分析されるすべての表が考慮されます。
        • ポリシー評価は、スキーマとは無関係に表に対して実行されます。たとえば、ポリシーは修飾表名Myschema.T1とプレーン表名T1を同じ方法で評価します。
        • 表名には、表名に*を使用使用することで、ワイルドカード文字を含めることもできます。たとえば、T*にはT1T2が含まれます。
      • 「ファイルから」タブで、「ファイルの選択」フィールドをクリックして、表またはビューの名前を含む.txtファイルを、1行につき1つの名前でアップロードします。使用しているコンピュータのファイルのポップアップから、.txtファイルを選択します。終了したら、「保存」をクリックします。
      • 「収集データから」タブで、「使用可能」列から表を選択し、中央のフィルタを使用して「選択済」列に移動します。ダイアログの左上にある検索ボックスに入力すると、表を検索できます。これにより、「使用可能」列の下に表示される表のリストが絞り込まれます。終了したら、「保存」をクリックします。
      • (オプション)各タブの下部に、モニターする表/ビューという表があります。この表には、選択したモニター対象の表またはビューが含まれます。空のリストは、すべての表とビューがモニターされることを意味します。すべての表とビューを選択するには、「表/ビュー」列ヘッダーの左側にあるチェック・ボックスを選択します。任意の表とビューを選択するには、その表またはビューの「表/ビュー」列の左側にあるチェック・ボックスを選択します。選択した表またはビューをモニター対象のリストから削除するには、「削除」をクリックします。
  12. 「実行する処理」セクションで、適切なドロップダウン・リストから、このルールの「アクション」「ロギング・レベル」および「脅威の重大度」を選択します。
  13. 「アクション」としてBlockを選択した場合、「置換SQL」フィールドが表示されます。ブロックされたSQL文を置換する文を入力します。
  14. 「保存」をクリックします。

次に、SELECT問合せ機能の戻す行数を取得する際の注意点を示します。

  • この機能は、リリースOracle AVDF 20.3のデータベース・オブジェクト・ルールに適用可能です。
  • これは、Database Firewallがモニタリング/ブロック(プロキシ)モードでデプロイされている場合に適用可能になります。
  • この機能は、Oracle Database (バージョン12c以降)でのみ使用できます。
  • Oracle AVDF 20.3では、この機能を使用する予定がある場合は、「データベース・レスポンスの取得」フィールドを有効にしないことをお薦めします。この制限事項はOracle AVDF 20.4以降ではなくなりました。
  • この機能は、カーソルおよび部分データ・フェッチの使用をサポートしていません。
  • この機能は、すべての64ビット・オペレーティング・システムでサポートされます。
  • この機能は、JDBCドライバ・ベースのクライアント、SQL*PlusなどのOracle DB OCIベースのクライアントで使用できます。
  • 戻す行数の情報がレポートに表示されない場合は、トラフィック・ログ・タイマーを確認してください。詳細は、「行数の取得が機能しない」を参照してください。
  • データベース・オブジェクト・ルールの構成時には、戻す行数の機能を有効にする必要がある表を考慮してください。単一の表に対して操作するSELECT問合せについては、戻す行数のオプションを有効にすることをお薦めします。複数の表に対する複合問合せでは、誤検出が発生する可能性があります。ANYまたはALLの選択を必要に応じて使用してください。
  • 悪質なユーザーは、データ流出を隠蔽するために様々な方法を使用することがあります。そのうちの1つとして、結果セットの部分フェッチが考えられます。そのような場合、Database Firewallは行数に値-1のマークを付けます。この動作に基づいたアラートを構成するようにお薦めします。
7.6.3.5.1 Database Firewallポリシーについての文クラスからコマンドへのマッピング

Oracle AVDF 20.11以降、Database Firewallポリシーでは文クラスが使用されなくなりました。かわりに、INSERTUPDATEDELETEなどの特定のコマンドに基づいてポリシーを作成できます。この表は、どのコマンドがどの文クラスの一部であるかを特定するのに役立ちます。

文クラス Oracle用のコマンド SQL Server用のコマンド MySQL用のコマンド DB2 LUW用のコマンド Sybase ASE用のコマンド
DCL ADMINISTER、ALTER (DCL)、ALTER SESSION、ALTER SYSTEM、COMPRESSED、ENCRYPTED、CHANGE PASSWORD、GRANT、INVALID OPERATION、LOGIN、ORADEBUG、REVOKE、SET ROLE、SHUTDOWN ALTER AUTHORIZATION、DBCC、DENY、GRANT、LOGIN、REVOKE、SET、SETUSER、USE BINLOG、FLUSH、GRANT、INSTALL、KEYCACHE、KILL、PURGE、RESET、REVOKE、SET ROLE、UNINSTALL、USE GRANT、REVOKE、SET、TRANSFER DBCC、GRANT、KILL、LOAD、LOCK、MOUNT、REVOKE、SET、SETUSER、SYSTEM、TRANSFER、USE
DDL ALTER (DDL)、ALTER AUDIT POLICY、ALTER DATABASE、ALTER PROFILE、ALTER TABLE、ALTER TABLESPACE、ALTER USER、ANALYZE、ASSOCIATE、AUDIT、COMMENT、CREATE、DISASSOCIATE、DROP、NOAUDIT、RENAME、TRUNCATE ADD、ALTER(DDL)、ALTER DATABASE、ALTER TABLE、ALTER USER、CREATE、DISABLE、DROP、ENABLE、RECONFIGURE、TRUNCATE ALTER、CHECK、CHECKSUM、CREATE、DROP、PARTITION、RENAME、REPLACE、TRUNCATE ALLOCATE、ALTER、COMMENT、CREATE、DROP、RENAME、TRUNCATE ALTER、CREATE、DEALLOCATE、DROP、TRUNCATE
DML DELETE、EXECUTE CURSOR、EXPLAIN、FLASHBACK、INSERT、LOB WRITE、MERGE、PURGE、UPDATE BACKUP、DELETE、INSERT、MERGE、RESTORE、UPDATE、UPDATETEXT、WRITETEXT ANALYZE、DELETE、GET、INSERT、LOAD、OPTIMIZE、REPAIR、UPDATE DELETE、EXPLAIN、INSERT、MERGE、REFRESH、UPDATE DELETE、DUMP、EXECUTE CURSOR、INPUT、INSERT、MERGE、QUIESCE、REFRESH、REMOVE、REORG、UNMOUNT、UPDATE、WRITETEXT
Procedural PROCEDURAL PROCEDURAL PROCEDURAL PROCEDURAL PROCEDURAL
選択 SELECT SELECT SELECT SELECT SELECT
Transaction TRANSACTION TRANSACTION TRANSACTION TRANSACTION TRANSACTION

ノート:

「コンポジット」および「トランザクションを含むコンポジット」文クラスには同等のコマンドがないため、それらは表示されません。Oracle AVDF 20.11以降にアップグレードする前にこれらの文クラスにポリシーがあった場合は、アップグレード中にコマンドがポリシーに自動的に追加されることはありません。
7.6.3.6 デフォルト・ルール

デフォルト・ルールについて学習します。

デフォルト・ルールは、以前のポリシー・ルールの基準を満たさないSQL文のアクションを指定します。Database Firewallでそのような文が見つかると、デフォルト・ルールが適用されます。デフォルトの構成は、SQL文をAudit Vault Serverのログに記録せずに許可します。デフォルト・ルール内の別のアクションを代替文とともに適用できます(ブロック・アクションが考慮される場合はオプションです)。

デフォルト・ルールを構成するには:

  1. オプションで、「エスカレート・アクションのしきい値の設定」フィールドを選択します(文がデフォルト・ルールと何回か一致した後に別のアクションを適用する場合)。次の項目を入力します。

  2. 「保存」をクリックします。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューで「Database Firewallポリシー」をクリックします。
  4. 既存のポリシーの名前をクリックするか、「作成」をクリックして新しいポリシーを作成します。
  5. メイン・ページの「デフォルト」セクションを展開します。
  6. 「デフォルト・ルール」をクリックします。
  7. 「デフォルト」ダイアログで、「アクション」「ロギング・レベル」および「脅威の重大度」の各フィールドの値を選択します。
  8. 必要に応じて、「エスカレーション・アクションのしきい値の設定」フィールドを選択します。続いて、次の項目を入力します。
    1. しきい値: エスカレーション・アクションを実行する前に、SQL文がデフォルト・ルールの範囲内に収まる必要がある回数を入力します。
    2. しきい値時間(秒): 時間を秒単位で入力します。
    3. しきい値アクション: しきい値に達した後で実行するアクションとしてAlertまたはBlockを選択します。
    4. 置換SQL: (オプション)「しきい値アクション」フィールドでBlockが選択されている場合、このルールと一致するSQL文の代替を入力します。
  9. 「保存」をクリックします。

7.7 ファイアウォール・ポリシーの公開およびデプロイ

ファイアウォール・ポリシーを公開する方法およびデプロイする方法を学習します。

7.7.1 Database Firewallポリシーの公開および使用について

Database Firewallポリシーは、公開されるまで編集できます。

ポリシーを公開すると、ターゲットにデプロイできるようになります。

Database Firewallポリシーがターゲットにデプロイされた後は、編集できません。ただし、ポリシーをコピーして、別の名前で編集できます。Database Firewallポリシーを完全に編集した後、それを公開してターゲットに割り当てることができます。

7.7.2 Database Firewallポリシーの公開

Database Firewallポリシーを監査者として公開する方法を学習します。

次のステップに従って、Oracle AVDFリリース20.2以前でDatabase Firewallポリシーを公開します。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブを選択します。
  3. 左側のナビゲーション・メニューから、「データベース・ファイアウォール・ポリシー」をクリックします。
  4. 特定のポリシーのチェック・ボックスを選択します。
  5. 「保存して公開」をクリックします。

    Database Firewallポリシーの公開ジョブが開始されます。確認メッセージが画面に表示されます。

  6. 公開済ジョブのステータスを確認するには、「設定」タブにナビゲートしてから、左側のナビゲーション・メニューの「ジョブ」タブをクリックします。
  7. ポリシーが公開された後、左側のナビゲーション・メニューの「Database Firewallポリシー」タブに表示されます。

    ノート:

    Oracle AVDF 20.3以降では、Database Firewallポリシーは保存後に公開されます。「公開」ボタンは、Oracle AVDFリリース20.3以降では存在しません。ポリシー詳細ページにナビゲートし、「保存して公開」をクリックして公開します。

7.7.3 Database Firewallポリシーのデプロイ

「ポリシー」または「ターゲット」タブを使用してDatabase Firewallポリシーをデプロイする方法について説明します。

リリース20.8以降では、Database Firewallポリシーを「ポリシー」タブからデプロイできます。Database Firewallポリシーは、「ターゲット」タブからもデプロイできます。

7.7.3.1 「ポリシー」タブからのDatabase Firewallポリシーのデプロイ

ユーザー定義または事前定義済のDatabase Firewallポリシーのいずれかを、Oracle Audit Vault and Database Firewallの「ポリシー」タブから直接デプロイする方法について説明します。

Oracle AVDFリリース20.8以降では、Database Firewallポリシーを「ポリシー」タブから直接ターゲット・データベースに展開できます。このプロセスは、ユーザー定義ポリシーでもOracle事前定義済ポリシーでも同じです。
  1. ポリシーの表で、「ポリシー名」列の左側にあるチェック・ボックスをクリックして、デプロイが必要なポリシーを選択します。
    ノート: 一度に1つのポリシーしか展開できないため、1つのポリシーだけを選択します。
  2. デプロイするポリシーのタイプに応じて、ユーザー定義Database Firewallポリシーまたは事前定義済のDatabase Firewallポリシーセクションの右上にある「デプロイ」ボタンをクリックします。
    表示されるポップアップ・ボックスに、次のものが表示されます。
    • 「ポリシー名」の横で選択した、ポリシーの名前
    • 「タイプ」の横で選択した、ポリシーのデータベース・タイプ
    • 選択したタイプの、ターゲット・データベースの表
  3. オプション: 選択したポリシーに複数のターゲット・データベース・タイプがある場合は、「タイプ」の横にあるドロップダウンの矢印をクリックしてデータベース・タイプを選択することで、ターゲット・データベースのリストをフィルタできます。
  4. オプション: ターゲット・データベースの表の上にあるテキスト・フィールドにデータベース名を入力し、「実行」をクリックすると、選択したタイプに属するターゲット・データベースを検索できます。
  5. 「ターゲット名」列の左側にあるチェック・ボックスをクリックして、選択したポリシーをデプロイするターゲット・データベースを選択します。
    ノート: ポリシーのデプロイ先として複数のデータベースを選択できますが、それらは同じデータベース・タイプである必要があります。
  6. ポップアップ・ボックスの右下にある「デプロイ」をクリックして、選択したDatabase Firewallポリシーのターゲット・データベースへのデプロイを終了します。
  7. 右下にある「取消」か、ポップアップ・ボックスの右上にある「X」をクリックすると、選択したDatabase Firewallポリシーのデプロイを取り消すことができます。
7.7.3.2 「ターゲット」タブからのDatabase Firewallポリシーのデプロイ

「ターゲット」タブからDatabase Firewallポリシーをターゲット・データベースにデプロイする方法について説明します。

Database Firewallポリシーをデプロイするには:

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ターゲット」タブをクリックします。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・モニタリング」タブをクリックします。
  4. 特定のターゲットの名前をクリックします。
  5. ターゲットの詳細ページで、「データベース・ファイアウォール・モニタリング」タブをクリックします。
  6. このセクションを下にスクロールし、「Database Firewall」セクションの編集アイコンをクリックします。
  7. ドロップダウン・リストから、ポリシーを選択します。
  8. チェック・マークをクリックします。

7.8 Database Firewallポリシーのエクスポートおよびインポート

1つ以上のDatabase Firewallポリシーをエクスポートおよびインポートする方法を学習します。

Oracle AVDFリリース20.7以降、1つのAudit Vault Serverインスタンスのユーザー定義Database Firewallポリシーをエクスポートし、後で別のAudit Vault Serverインスタンスにインポートできます。これにより、複数のAudit Vault Serverインスタンスにわたって同じポリシーを作成する時間を短縮できます。

たとえば、ユーザー定義Database Firewallポリシーは、次の間でエクスポートおよびインポートできます。

  1. テストAudit Vault Serverインスタンスと本番Audit Vault Serverインスタンス。
  2. プライマリAudit Vault ServerインスタンスとDR (障害時リカバリ) Audit Vault Serverインスタンス。

Database Firewallポリシーは、エクスポート時にOracle AVDFリリース20.7のJSON形式のファイルにダウンロードして格納することも、Oracle AVDFリリース20.8以降の独自の暗号化されたバイナリ形式で保存することもできます。このファイルにはすべてのデータが含まれており、後でインポートするために使用できます。このファイルは、ユーザーによって定義されたパスワードで保護されています。ポリシーの詳細を表示する場合、また、インポート・プロセス中にも、同じパスワードを入力する必要があります。

ノート:

この機能は、すべてのAudit Vault Serverインスタンスで使用可能であり、簡単に選択できるため、事前定義済のDatabase Firewallポリシーには適用できません。

前提条件

  • Database Firewallポリシーをエクスポートまたはインポートするには、ユーザーに監査者権限が割り当てられている必要があります。
  • エクスポートするには、まずユーザー定義Database Firewallポリシーを公開する必要があります。

7.8.1 Database Firewallポリシーのエクスポート

1つ以上のDatabase Firewallポリシーをエクスポートする方法を学習します。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。
  4. カスタム・ポリシーのチェック・ボックスを使用して、1つ以上のポリシーを選択します。エクスポートするには、これらのポリシーが公開されている必要があります。

    ノート:

    ページにユーザー定義Database FirewallポリシーOracle事前定義済のDatabase Firewallポリシーの両方が表示されますが、エクスポートできるのはユーザー定義Database Firewallポリシーのみです。
  5. ページの右上隅にある「エクスポート」ボタンをクリックします。
  6. 「ポリシーのエクスポート」ダイアログで、パスワードを入力します。パスワード要件は、Audit Vault Serverの他のパスワードと同様です。
  7. 「保存」をクリックします。
  8. 要求されたら、ファイルを保存する場所を指定します。
  9. Oracle AVDFリリース20.7では、ファイルが指定した場所にJSONでバンドル(.zipファイル)として保存され、パスワードで保護されます。Oracle AVDFリリース20.8以降、Database Firewallポリシー・ファイルは独自の暗号化されたバイナリ形式であり、指定された場所に保存され、パスワードで保護されます。

関連項目:

パスワード要件

7.8.2 Database Firewallポリシーのインポート

1つ以上のDatabase Firewallポリシーをインポートする方法を学習します。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。
  4. ページの右上隅にある「インポート」ボタンをクリックします。
  5. 「ポリシーのインポート」ダイアログで、クリックしてナビゲートし、Database Firewallポリシーのすべての詳細を含むJSONファイルを選択します。Oracle AVDFリリース20.7では、Database Firewallポリシーの詳細が含まれたJSONファイルは、パスワードで保護されたバンドル(.zipファイル)です。Oracle AVDFリリース20.8以降、Database Firewallポリシーは、暗号化されたJSONファイル形式でエクスポートされます。同じ形式のポリシー・ファイルを、デプロイされたOracle AVDFリリースに従ってインポートする必要があります。
  6. 「パスワード」を入力します。これは、Database Firewallポリシーが以前にエクスポートされたときに設定されたものと同じパスワードです。
  7. Oracle AVDF 20.9以降では、「競合するポリシーに対するアクション」を選択します。これにより、インポートされたポリシーとセットが、データ検出からの既存のグローバル・ユーザーと機密オブジェクト・セットと相互作用する方法が決まります。オプションは次のとおりです。
    • グローバル・セット名が確実に一意なるように新しいポリシーを作成する: 新規ポリシーを作成します。グローバルにインポートされたセット名は一意になります。
    • 新規ポリシーを作成して、すべてのセットをローカルに保持する: 新しいポリシーを作成します。インポートしたすべてのセットは、この新しいポリシーにローカルになります。
    • 既存のポリシーとポリシー・セットを置き換える: 既存のポリシーおよびセットを、インポート中のポリシーと同じ名前に置き換えます。

    データベース・ユーザーとデータベース・オブジェクトのセットは、グローバル・セットにすることも、ローカル・セットにすることもできます。グローバル・セットは、複数のデータベース・ファイアウォール・ポリシーで表示と適用が可能ですが、ローカル・セットは、そのセットが作成されたデータベース・ファイアウォール・ポリシーでのみ表示と適用が可能です。グローバル・セットは「データ検出」で作成できます。

  8. 「保存」をクリックします。

    インポート・プロセスの確認メッセージが表示されます。ユーザー定義Database Firewallポリシーがインポートされます。ポリシーの詳細がAudit Vault Serverインスタンスにコピーされ、ポリシーが公開されます。いずれかのポリシーと名前が競合する場合は、区別するために順序番号が追加されます。Audit Vault Serverによってファイル形式もチェックされ、JSONファイル、フィールドおよび値が検証されます。問題がある場合は、エラー・メッセージが表示されます。

    インポート・プロセスはバックグラウンド・ジョブです。ジョブのステータスは「ジョブ」ダイアログに表示されます。ジョブの名前はDBFW Policy Importです。

  9. 新しくインポートされたポリシーがリストに表示されます。「インポート済」列は、ポリシーがインポートされたかどうかを示します。ポリシーに変更を加え、適宜保存します。インポートされたポリシーはデフォルトで公開され、Database Firewallにデプロイできます。さらに変更が必要な場合は、変更後に再度公開できます。

    ノート:

    Database FirewallポリシーにSQLクラスタ・セットがあり、関連するSQL文がAudit Vault Serverでまだ取得されていない場合、監査者がトラブルシューティングのためにクラスタでドリルダウンしたときに、SQLトラフィックの詳細は表示されません。

7.8.3 CLIを介したOracle AVDF 20.7 Database Firewallポリシーのインポート

CLI機能を使用してDatabase Firewallポリシーをインポートするタイミングについて説明します。

Oracle AVDFリリース20.7では、ユーザー定義Database Firewallポリシーの.zip形式でのエクスポートがサポートされています。Oracle AVDFリリース20.8以降、Database FirewallポリシーはJSON形式のファイルでエクスポートされます。同じ形式のポリシー・ファイルを、デプロイされたOracle AVDFリリースに従ってインポートする必要があります。Database Firewallポリシー・ファイルを.zip形式でインポートするために、新しいCLIユーティリティが導入されています。

前提条件

次の手順に従って、いくつかの前提条件を完了します。

  1. Oracle AVDFリリース20.7でエクスポートされたDatabase Firewallポリシー・ファイルは.zip形式です。このDatabase Firewallポリシーの.zipファイルを、Audit Vault Serverアプライアンスにコピーします。

  2. SSHを介してAudit Vault Serverにログインします。

  3. 次のコマンドを実行して、ユーザーをrootに切り替えます。

    su root
  4. コピーしたDatabase Firewallポリシーの.zipファイルに対する読取りアクセス権をoracleユーザーが持っていることを確認します。
  5. 次の手順を実行して、avsysユーザーのロックを解除します。

  6. 次のコマンドを実行して、ユーザーをdvaccountmgrに切り替えます。

    su dvaccountmgr
  7. 次のコマンドを実行します。

    sqlplus /
  8. 次のコマンドを実行します。

    alter user avsys identified by <pwd> profile default account unlock;

ノート:

CLIユーティリティはoracleユーザーとして実行する必要があります。

次の手順に従って、CLI機能を使用してDatabase Firewallポリシーをインポートします。

  1. SSHを介してAudit Vault Serverコンソールにログインします。
  2. 次のコマンドを実行して、ユーザーをrootに切り替えます。
    su root
  3. 次のコマンドを実行して、ユーザーをoracleに切り替えます。
    su oracle
  4. 次のコマンドを実行します。
    /opt/avdf/bin/import_dbfw_policy_zip <policy_zipfile_path>
  5. プロンプトが表示されたら、ポリシーの.zipファイルのパスワードを入力します。
  6. プロンプト表示されたら、avsysユーザーのパスワードを入力します。また、CLIの使用中にヘルプを探すには、次のコマンドを実行します。
    opt/avdf/bin/import_dbfw_policy_zip -h
  7. Database Firewallポリシー・ファイルが正常にインポートされると、次のメッセージが表示されます。
    Request to import DBFW Policy submitted successfully

    ノート:

    エラーの場合は、適したエラー・メッセージが画面に表示されます。
  8. インポート・プロセスはバックグラウンド・ジョブです。インポート・ジョブのステータスはAudit Vault Serverコンソールで確認できます。

    「設定」タブをクリックします。ジョブのステータスは「ジョブ」ダイアログに表示されます。ジョブ・タイプはDBFW Policy Importです。

  9. インポートが完了したら、次を実行してavsysユーザーをロックします
    1. 次のコマンドを実行して、rootユーザーに戻します
      exit
    2. 次のコマンドを実行して、ユーザーをdvaccountmgrに切り替えます
      su dvaccountmgr
    3. 次のコマンドを実行します。
      sqlplus /
    4. 次のコマンドを実行します。
      alter user avsys account lock;
    5. 次のコマンドを実行します。
      exit

7.9 Database Firewallポリシーのコピー

既存のDatabase Firewallポリシーをコピーし、同じポリシーを編集して新しいポリシーを作成する方法を学習します。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。このページには、自分が作成したポリシーと事前定義済のポリシーがリストされます。
  4. コピーするポリシーのチェック・ボックスを選択します。
  5. 「コピー」をクリックします。

    「ポリシーのコピー」ダイアログが表示されます。「ターゲット・タイプ」フィールドはすでに入力されています。

  6. 「ポリシー名」を入力します。
  7. オプションで、「説明」を入力します。
  8. 「コピー」をクリックします。

    「ポリシーは正常に作成されました」というメッセージが表示されます。

  9. 作成されたポリシーの名前をクリックして、さらに変更を加えます。

7.10 Database Firewallポリシーの編集

Database Firewallポリシーを編集する方法を学習します。

作成またはコピーしたDatabase Firewallポリシーと、デプロイされていないそれらのポリシーは編集できます。Database Firewallポリシーをターゲットにデプロイした後は、編集できません。ただし、ポリシーをコピーし、新しい名前で再定義して公開してから、同じポリシーをターゲットに割り当てることができます。

  1. Audit Vault Serverコンソールに監査者としてログインします。
  2. 「ポリシー」タブをクリックします。
  3. 左側のナビゲーション・メニューで「データベース・ファイアウォール・ポリシー」タブをクリックします。
  4. 特定のポリシーの名前をクリックします。ポリシーの詳細がメイン・ページに表示されます。
  5. 必要に応じて、ポリシーを編集します。
  6. ルールは、「セッション・コンテキスト」「SQL文」「データベース・オブジェクト」および「デフォルト」に分類されています。これらのルールに変更を加えることができます。
  7. ルールを追加、編集または削除できます。「デフォルト」ルールは編集できません。
  8. Oracle AVDF 20.4以降では、ルールの評価順序を変更できます(「デフォルト」を除く)。次のステップを実行します。
    1. 「評価順序」ボタンをクリックします。ダイアログ・ボックスが表示されます。
    2. 右側にある上矢印または下矢印を使用して、ルールの順序を変更します。
    3. 「保存」をクリックします。確認メッセージが画面に表示されます。更新されたルール順序がメイン・ページ上でリフレッシュされます。
  9. Database Firewallポリシーにすべての変更を加えたら、ポリシー概要ページで「保存」をクリックします。

7.11 戻す行数を取得するためのDatabase Firewallポリシー

SELECT問合せで戻す行数の取得方法を学習します。

Oracle AVDF 20.3以降では、Database Firewallがモニタリング/ブロッキング(プロキシ)またはモニタリング(ホスト・モニター)デプロイメント・モードでデプロイされている場合は、SELECT SQL文について、戻された行数を取得できます。モニタリング/ブロッキング(プロキシ)モードでデプロイされている場合はこれに構成がさらに必要になることはありませんが、モニタリング(ホスト・モニター)モードでデプロイされている場合は、それを有効にしてデータベース・レスポンスを取得する必要があります。詳細は、Oracle AVDF管理者ガイドデータベース・レスポンス監視の有効化を参照してください。戻された行数の詳細は、「すべてのアクティビティ」「データベース・ファイアウォール・レポート」の列「行数」に表示されます。このフィールドをアラート・ポリシーで使用すると、想定よりも大量のデータを取得しようとする試みを検出できます。

フィールド「SELECT問合せに対して戻された行数の取得」は、Audit Vault ServerコンソールでDatabase Firewallポリシーのデータベース・オブジェクト・ルールを定義するときに使用できます。これは、ターゲット・タイプがOracle Databaseで、「文クラス」フィールドで「読取り専用のデータ操作」が選択されている場合に使用できます。「読取り専用のデータ操作」フィールドは、Oracle AVDF 20.4以降では「選択」に置き換えられています。このオプションを有効にすると、Database FirewallはSELECT問合せに対して戻された行数を取得します。

ステップ プロセス 参照先

1

戻す行数を取得するDatabase Firewallポリシーの構成

データベース・オブジェクト・ルール

2

行数に基づいたアラート・ポリシーを構成します

アラート条件の作成

3

レポートで行数を確認します

すべてのアクティビティ・レポート

データベース・ファイアウォール・レポート

7.12 SQL文のファイアウォール・ポリシーの構成

データベースへのSQLトラフィックに使用できるポリシーについて学習します。

Database Firewallはマルチステージのファイアウォールで、データベースに向けられたSQLトラフィックを監視して、SQL文を許可、ログ、アラート、置換、またはブロックするかどうかを高い精度で判断します。SQLトラフィックは、IPアドレス、データベース・ユーザーまたはOSユーザー、プログラム名、SQL文のカテゴリ(DDLやDMLなど)、およびアクセスされるデータベース表についてチェックする複数のステージを通過します。ブロック・リストに登録されたSQLおよび許可リストに登録されていないSQLまたはSQL文をブロックおよびアラートします。これにより、信頼できるアプリケーション・パスからのSQLリクエストの許可リストに基づいてポリシー・ルールを構成するオプションが提供され、SQLインジェクション攻撃が防止されます。

Database Firewallを使用したSQL文の監視の成否は、効果的なファイアウォール・ポリシーの判断と適切なファイアウォール・デプロイメントの選択に依存します。

7.13 SQLのブロックおよび代替文の作成

SQL文をブロックし、代替としてサンプルSQL文を提供する方法を学習します。

Database Firewallは、モニタリング/ブロック(プロキシ)・モードでデプロイされたときにSQL文をブロックできます。Database Firewallは、SQL文をブロックでき、代替としてサンプルSQL文を指定できます。文がブロックされるときにデータベース・クライアントが適切なメッセージを確実に提示するには、代替文が必要になる場合があります。この代替文は、提供されたサンプルSQL文で悪意のあるユーザーを誤解させるのに役立つ場合があります。また、ブロックまたはアラートのしきい値を使用して構成することもできます。

次のSQLコマンドでは、代替文を適用できません。

  • LOGIN USERNAME
  • EXECUTE CURSOR
  • ENCRYPTED
  • SHUTDOWN
  • DESCRIBE
  • ORADEBUG
  • TRANSACTION
  • LOB
  • INVALID OPERATION
  • COMMENT
  • COMPRESSED

代替文を作成する場合は、クライアント・アプリケーションで結果を処理できることを確認します。次は、Oracle Databaseターゲットの適切な代替文の例です。

SELECT 100 FROM DUAL

SQL文が指定された回数発生した場合にブロックまたは警告できます。選択されたクラスタ内で指定された回数(しきい値)の文が繰り返される場合、SQL文をブロックするか、警告を生成するように選択できます。ブロックされた文のロギングは常に有効にする必要があります。

7.14 Oracleネイティブ・ネットワーク暗号化を使用して暗号化されるSQL文

ネイティブ・ネットワーク暗号化を使用するOracle Databaseターゲットの監視にDatabase Firewallを使用する方法を学習します。

この機能を有効にすると、クライアントとデータベース・サーバー間のネットワーク・トラフィックが暗号化されます。Database FirewallでSQL文にポリシーを復号化して適用するには、Oracle AVDF管理者がこのトラフィックを復号化するようにDatabase Firewallを構成する必要があります。