ヘッダーをスキップ
Oracle® Database Firewallセキュリティ・ガイド
リリース5.1
B66171-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Oracle Database Firewall Analyzerの使用

この項の内容は、次のとおりです。

Oracle Database Firewall Analyzerの概要

この項の内容は、次のとおりです。

Analyzerの概要

Oracle Database Firewall Analyzerを使用すると、効率的なポリシーを手早く設計できます。Database Firewallシステムの適切なデプロイメントは、効率的なポリシーに依存しています。ポリシーの各ルールは、SQL文のタイプ、時間、データベース・ユーザーの名前、データベース・クライアントのIPアドレス、オペレーティング・システム・ユーザー名、クライアント・プログラム名、または指定した例外の任意の組合せによって異なる場合があります。

ポリシーの開発は、新しいデータを使用してポリシーの改善と調整を続行する反復的なプロセスです。


注意:

[F1]キーを押すと、Oracle Database Firewall Analyzerの広範囲にわたるオンライン・ヘルプを使用できます。

AnalyzerにおけるSQL文のクラスタ化の概念

クラスタ化は、クラスタと呼ばれる意味的に類似した文のセットに読み込まれたSQL文の分類に使用する重要なツールです。

複数のクラスタが同じSQL構文パターンである場合、Analyzerでは、それらのクラスタは1つのクラスタ・グループにさらにグループ化されます。図4-1は、select <column> from <table>というパターンと一致する9個のクラスタで構成されたクラスタ・グループを示しています。

図4-1 意味的に類似する文へのクラスタ化

図4-1の説明は次にあります。
「図4-1 意味的に類似する文へのクラスタ化」の説明

ポリシーを開発するときは、個々のSQL文ではなく、各クラスタに対してOracle Database Firewallで実行するアクションを指定します。

ポリシーの開発プロセス

ポリシーの開発は、次の主な手順で構成されます。

  1. Analyzerで、ポリシーの設計に使用するモデルを作成します。モデルは、Database Firewallからのログ・データを使用してAnalyzerをトレーニングするか、SQL文のファイルをアップロードすることで作成されます。「モデルの作成」を参照してください。

  2. モデルのデータを分析します。「モデルのデータの表示と分析」を参照してください。

  3. ポリシーのアクションとルールを設定して、ポリシーを設計します。「ポリシーの設計」を参照してください。

  4. Analyzerでポリシー・ファイルを作成してDatabase Firewallにアップロードし、構成された強制ポイントでこのポリシーを選択します。「ポリシー・ファイルの作成およびDatabase Firewallへのアップロード」を参照してください。

  5. Analyzerで、新しいデータを使用してポリシーを調整します。「新しいデータを使用したポリシーの改善と調整」を参照してください。

モデルの作成

この項の内容は、次のとおりです。

モデルの作成の概要

モデルは、ポリシーの作成に必要なデータを格納するファイルです。Analyzerを2つの方法でトレーニングすることで、モデルに対してデータを供給できます。

  • Database Firewallからのトラフィック・ログ・データを使用する

  • SQL文ファイルをアップロードする

モデルはいくつでも作成できます。通常は、異なるデータベースに対して異なるモデルを作成するか、同じデータベースの異なる分析に対して異なるモデルを作成します。

新しいモデルの作成によって、filename.smdlおよびfilename.smdl_dataの2つのファイルが生成されます。別のAnalyzerインストールでモデルを開く場合は、Analyzerソフトウェアが構成されているコンピュータに両方のファイルをコピーする必要があります。

Analyzerをトレーニングするデータの供給

Analyzerには、次のいずれかの方法で、ログ・データまたはSQL文のファイルを供給できます。

  • Management ServerまたはスタンドアロンDatabase Firewallのトラフィック・ログから直接: ログ・データを供給するには、この方法を使用することをお薦めします。

    日常的な普通のデータベース・トラフィックをシステムで監視しながら、ログ固有のポリシーを有効化するには、Management ServerまたはスタンドアロンDatabase Firewall管理コンソールを使用します。「ログ・データを提供するためのログ固有のポリシーの有効化」を参照してください。

    ログ固有のポリシーを使用すると、SQLトラフィックの明確な各ソースが含まれたオフライン分析用の文をログに記録できます。このポリシーを適用すると、すべての文をログに記録するように選択した場合より格納される文は少なくなりますが、かなりの記憶域がログ・データ用に使用されることに注意してください。

    ログ固有のポリシーは、特に新しいポリシーを開発するためにSQLトラフィックをログに記録します。ログ・データを使用すると、クライアント・アプリケーションによってデータベースがどのように使用されているのかをAnalyzerが理解でき、データベースとそのクライアント・アプリケーションの実際の使用方法を反映したポリシーを短時間で開発できます。

  • Database Firewallトレーニング・ファイルから: 通常、これは開発者が記述するテキスト・ファイルです。SQL文のリスト(1文に対して1行)が含まれています。必要な構文についてはオンライン・ヘルプを参照してください。

  • (Microsoft SQL Serverのみ)Microsoft SQL Serverのトレース・ファイルから: このファイルはMicrosoft SQL Serverで作成されたバイナリ・ログ・ファイルです。SQL文のリストが含まれています。このファイルには次のイベントが含まれている必要があります。

    イベント・タイプがRPC:Completedの場合は、次のイベントがこの順序で含まれている必要があります。

    EventClass
    TextData 
    ApplicationName 
    NTUserName 
    SQLSecurityLoginName 
    CPU 
    Reads 
    Writes 
    Duration 
    ClientProcessID 
    SPID 
    StartTime
    

    イベント・タイプがSQL:BatchCompletedの場合は、次のイベントがこの順序で含まれている必要があります。

    EventClass 
    TextData 
    ApplicationName 
    NTUserName 
    SQLSecurityLoginName 
    CPU 
    Reads 
    Writes 
    Duration 
    ClientProcessID 
    SPID 
    StartTime
    

ログ・データを提供するためのログ固有のポリシーの有効化

ログ固有のポリシーを有効化する手順は、次のとおりです。

  1. スタンドアロンDatabase FirewallまたはManagement Server管理コンソールにログインします。

    詳細は、「管理コンソールへのログイン」を参照してください。

  2. 「Login」ページで、システム管理者ロールが付与されているユーザーのユーザー名とパスワードを入力します。次に「Login」をクリックします。

  3. Monitoring」タブを選択します。

  4. 「Enforcement Points」メニューから「List」を選択します。

    デフォルトでは、このメニュー項目が選択されています。

  5. 「Enforcement Points」ページで、データを分析するデータベースの強制ポイントを検索して、「Settings」ボタンを選択します。

  6. 「Monitoring Settings」ページで、「Policy」領域まで下にスクロールします。

  7. 「Policy」領域で、unique.dnaオプションを選択します。

  8. Save」ボタンをクリックします。

    新しい設定が即時に有効になります。

Analyzerでの新しいモデルの作成

Analyzerをトレーニングすることで、次の中から新規モデルを作成できます。

  • ログ・データ

  • SQL文を含むファイル

ログ・データでのトレーニングからの新しいモデルの作成

ログ・データでのトレーニングから新しいモデルを作成する手順は、次のとおりです。

  1. 次のいずれかを実行します。

    • 「Welcome」ページから「Create a New Model from Training」を選択します。

    • 「File」メニューから「New」を選択します。

    「New Model」ダイアログが、「Train on Log Data」が選択されて表示されます。

    image041.gifの説明が続きます
    図の説明

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

  3. 「Traffic Log Server」ダイアログ・ボックスで、IPアドレス(および必要な場合はポート番号)、およびOracle Database FirewallまたはManagement Serverシステム管理者のユーザー名とパスワードを入力し、「OK」をクリックします。

  4. 「Train on Log Data」ダイアログ・ボックスで、次の選択を実行します。

    1. 「Protected Database」メニューで、データを取得する名前付きデータベースを選択します。

      データベースがすべて同じタイプ(たとえば、Oracle)の場合は、「All Databases」オプションを選択して、すべてのデータベースのログに記録されたデータを取得することもできます。「All Databases」は、すべてのデータベースに対して同じポリシーを使用することを予定している場合にのみ選択します。

      保護対象データベースは、システム管理者が設定したデータベースである必要があります。

    2. 読み取るログ・データの日付範囲を指定します。

      デフォルトでは、終了日は今日の日付です。

    3. ログに記録された文の中でインポートする文のタイプを選択するか、すべての文をインポートするようにすべてのチェック・ボックスを選択します。必要な場合は[F1]を押し、オンライン・ヘルプで各種オプションの説明を参照してください。

    image045.gifの説明が続きます
    図の説明

  5. 「Train on Log Data」ダイアログ・ボックスで「OK」をクリックします。

    「New Model」ダイアログが表示されます。

  6. 「Train on Log Data」が選択されていることを確認し、「Train」をクリックします。

    Analyzerのメイン・ウィンドウにモデルが表示されます。

  7. 「File」メニューの「Save」または「Save As」を選択し、コンピュータのハード・ディスクにモデルを保存します。

    Analyzerは、.smdlおよび.smdl_dataという拡張子が付く2つのファイルをユーザーが指定した名前で作成します。

図4-2のようなAnalyzerのメイン・ウィンドウが即時に表示されます。


注意:

「Statement Class Distribution」、「Threat Severity Distribution」および「Action Distribution」領域にリンクが表示されていない場合は、アプリケーション・ウィンドウのサイズを調整してください。

SQL文ファイルでのトレーニングからの新しいモデルの作成

SQL文ファイルでのトレーニングから新しいモデルを作成する手順は、次のとおりです。

  1. 次のいずれかを実行します。

    • 「Welcome」ページから「Create a New Model from Training」を選択します。

    • 「File」メニューから「New」を選択します。

    「New Model」ダイアログ・ボックスが表示されます。

  2. 「Train on File」ラジオ・ボタンを選択します。

    図train_on_file.gifの説明が続きます
    図train_on_file.gifの説明

  3. 「Browse」をクリックして、使用するファイルを選択します。

  4. リストから適切なデータベース・タイプを選択します。

  5. 「Train on File」が選択されていることを確認し、「Train」をクリックします。

    Analyzerのメイン・ウィンドウの上部に.trainまたは.trcという名前のファイルが表示され、モデルがこのファイルに基づいていることが示されます。

  6. 「File」メニューの「Save」または「Save As」を選択し、コンピュータのハード・ディスクにモデルを保存します。

    Analyzerは、.smdlおよび.smdl_dataという拡張子が付く2つのファイルをベースとなったファイルの名前で作成します。

図4-2のようなAnalyzerのメイン・ウィンドウが即時に表示されます。


注意:

「Statement Class Distribution」、「Threat Severity Distribution」および「Action Distribution」領域にリンクが表示されていない場合は、アプリケーション・ウィンドウのサイズを調整してください。

既存のモデルを開く

既存のモデルを開く手順は、次のとおりです。

  1. Analyzerを起動します。

  2. 「Welcome to Oracle Database Firewall Analyzer」ウィンドウで、「Open a previously saved Model」を選択します。

  3. 「Open」ダイアログ・ボックスで、以前のモデル・ファイルを保存したディレクトリにナビゲートします。

    モデルには.smdlというファイル拡張子が付いています。(.smdl_dataファイルを開くことはできません。このファイルはモデルのデータを格納するためにのみ使用されます。)

  4. モデルを選択し、「Open」をクリックします。

    「Summary」ページが表示された状態で、モデルがAnalyzerに表示されます。

    「Statement Class Distribution」、「Threat Severity Distribution」および「Action Distribution」領域にリンクが表示されていない場合は、アプリケーション・ウィンドウのサイズを調整してください。

モデルのデータの表示と分析

この項の内容は、次のとおりです。

データの分析の概要

トレーニング・データをAnalyzerに提供してモデルを作成した後は、そのモデルを使用してデータのSQL文を分析できます。

この項では、異なるタブを使用してAnalyzerでデータを表示したり、オプションを表示する様々な方法について説明します。

データは、ポリシー・ルールを割り当てる前後に分析できます(「ポリシーの設計」を参照)。ポリシー・ルールを割り当てる前は、指定したトレーニング・データに関する情報がAnalyzerによって提供され、文タイプ、データベース表および列でフィルタ処理できます。ポリシー・ルールを割り当てた後は、そのポリシー・ルールに基づいて追加のフィルタ処理オプションが提供されます。

Analyzerのメイン・ウィンドウ

Analyzerのメイン・インタフェースは「Summary」タブです。その他のタブでは、変更可能な追加の設定や、表示可能な分析および情報が提供されます。この章では、これらのタブのリストを示し、各タブについて説明します。


注意:

棒グラフの下にリンクが表示されていない場合は、アプリケーションのサイズを調整してください。

図4-2は、Analyzerのメイン・ウィンドウを示しています。

図4-2 Analyzerのメイン・ウィンドウ

図4-2の説明は次にあります。
「図4-2 Analyzerのメイン・ウィンドウ」の説明

Analyzerの「Summary」タブの要素

「Summary」タブには、現在分析している文タイプ(クラスタ)に適用されるポリシー・ルールのグラフィック表現が、適用可能な例外およびその他のルールとともに表示されます。このタブでは、ポリシーの自動生成、ノベルティ・ポリシーの設定、および「Details」タブに表示される情報のフィルタ処理を実行できます。

「Summary」タブは、次の領域に分かれています。

  • Policy Warning (該当する場合) - この領域は、現在のポリシー・アクション設定に関する警告がある場合にのみ表示されます。たとえば、ノベルティ・ポリシー・アクションに関するデフォルト・ルールのアクションでセキュリティが弱まる場合、この領域に警告が表示されます。

  • Exceptions: 作成した例外がリストされます。モデルのクラスタに割り当てたルールは、これらの例外には適用されません。ここに記載されているすべての例外に適用する単一のルールを指定できます。

  • Graphical Distribution of Statements: 様々な文クラス、脅威の重大度、およびポリシーに現在設定されているアクション・レベルの観点で、クラスタの分布が棒グラフに表示されます。

    棒グラフの下のリンクをクリックすると、そのリンクに基づくクラスタのサブセットが「Details」タブに表示されます。たとえば、「Action Distribution」の下の「Pass」をクリックすると、このポリシーで「Pass」に設定されている文クラスタが「Details」タブに表示されます。

  • Novelty Policies: 保護対象データベースの特定の文クラスまたは特定の表(あるいはその両方)に対して作成した特別なポリシーがリストされます。

  • Default Rule: モデル、「Exceptions」または「Novelty Policies」に表示されるクラスタのルール・セットではカバーされない文の異常に対するデフォルト・ルールが表示されます。

Analyzerのその他のタブ

Analyzerのメイン・ウィンドウには、「Summary」タブに加えて、次のタブがあります。


注意:

タブおよびメニューは、オンライン・ヘルプで詳しく説明されています。

  • Details: クラスタをクラスタ・グループに編成することで、SQLデータを様々な方法で表示します。ポリシーを手動でカスタマイズできます。

  • Baseline: 「Details」タブのかわりに使用します。クラスタが表形式で表示され、各ポリシーの属性が示されます。また、このタブにはクラスタをフィルタ処理する複数の方法が用意されており、ポリシーを手動でカスタマイズすることもできます。

  • Properties: モデルに対する当初のデータ・ソース、統計、変更管理情報、メモなど、モデルに関する一般的な情報が記載されています。

  • Analysis: AnalyzerがスキャンしたSQL文を分析できます。

  • Invalid SQL: SQL構文に準拠していない文など、Analyzerで認識されなかったSQL文が表示されます。

クラスタのクラスタ・グループ別表示

クラスタ・グループは、文の意味(たとえば、select <column> from <table>)に従ってAnalyzerでグループ化された一連のクラスタです。このクラスタ・グループには、このパターンとは一致するが、列および表に対する値が異なる文が入ります。

「Analysis」タブでのクラスタの表示

「Analysis」タブで、クラスタをクラスタ・グループ別に表示する手順は、次のとおりです。

  1. Analyzerで、「Analysis」タブをクリックします。

  2. 「View」メニューから「Group by Shape」を選択します。

SQLデータの階層ビューが表示されます。最上位レベルで、Analyzerは定義したすべてのクラスタを複数のクラスタ・グループに編成しています。図4-3は、4つの異なるクラスタ・グループを示しています。

図4-3 クラスタ・グループの表示

図4-3の説明は次にあります。
「図4-3 クラスタ・グループの表示」の説明

クラスタ・グループをダブルクリックすると、そのグループに含まれているクラスタが表示されます。図4-4は、クラスタ・グループの内容の例を示しています。

図4-4 クラスタ・グループの内容

図4-4の説明は次にあります。
「図4-4 クラスタ・グループの内容」の説明

このクラスタをダブルクリックすると、クラスタ内のすべての文が表示されます。図4-5は、クラスタ・グループ内の文を示しています。クラスタ・グループには複数の文を含めることができます。

図4-5 クラスタ・グループ内の文(「Analysis」タブ)

図4-5の説明は次にあります。
「図4-5 クラスタ・グループ内の文(「Analysis」タブ)」の説明

「Analysis」タブのクラスタ・インジケータ

クラスタの左側にあるクラスタ・インジケータ(円形のアイコン)は、クラスタ・グループ内の文に対する、そのクラスタ内の文の割合を示しています。マウスのポインタをインジケータ上に移動すると、図4-6に示すように、割合が小数点第2位まで表示されます。また、クラスタに2つの文(メッセージ)があることがツールチップに表示されます。

図4-6 クラスタ内の文の割合の結果(「Analysis」タブ)

図4-6の説明は次にあります。
「図4-6 クラスタ内の文の割合の結果(「Analysis」タブ)」の説明

クラスタ・グループ内のクラスタは、割合の順に表示されます。

クラスタ・グループ・インジケータ

クラスタ・グループの左側にあるクラスタ・グループ・インジケータは、モデル内の文に対する、そのクラスタ・グループ内の文の割合を示しています。図4-7は、モデル内のすべての文の中で、そのクラスタ・グループが33.33パーセントを占めていることを示しています。

図4-7 文の割合を示すインジケータ(「Analysis」タブ)

図4-7の説明は次にあります。
「図4-7 文の割合を示すインジケータ(「Analysis」タブ)」の説明

クラスタ・グループは、割合の順に表示されます。

「Analysis」タブの脅威の重大度インジケータ

次の図でハイライト表示されているクラスタの脅威の重大度インジケータは、脅威の重大度を示しています。インジケータは容器の形状のアイコンで、空から満杯の状態まで変化します。図4-8は、脅威の重大度が割り当てられていないことを示すメッセージが表示された空の容器インジケータを示しています。

図4-8 脅威セキュリティ・インジケータ

図4-8の説明は次にあります。
「図4-8 脅威セキュリティ・インジケータ」の説明

この例には、機密データも表示されており、####記号でマスキングされています。

update scott.dept set dname = '####' 

詳細は、「機密データのマスキング」を参照してください。

「Details」タブでのクラスタ・グループの表示

「Details」タブには、「Analysis」タブで使用できるビューと同じ「Group by Shape」「Table」または「Column」のビューが用意されています。図4-9は、「Details」タブで「Group by Shape」が選択されている場合に表示されるサンプル・データを示しています。

図4-9 形状でグループ化されたデータの例(「Details」タブ)

図4-9の説明は次にあります。
「図4-9 形状でグループ化されたデータの例(「Details」タブ)」の説明

データは、「Analysis」タブと同様の方法で編成されます。最上位レベルは、クラスタ・グループです。各クラスタ・グループには、そのグループのクラスタのアクション・レベルの割合を示すインジケータがあります。たとえば、図4-9のリストの最後にあるupdate <table> set <column>のアイコンは、クラスタ・グループ内のクラスタの50パーセントが「Unassigned」アクション・レベル(青色)で、50パーセントが「Warn」アクション・レベル(黄色)であることを示しています。

これらの2つのクラスタの機密データは、Oracle Database Firewallによってマスキングされています。「機密データのマスキング」を参照してください。

クラスタ・グループをダブルクリックすると、そのグループに含まれているクラスタが表示されます。クラスタの横のインジケータは、現在選択されているアクションと脅威の重大度を示しています。

クラスタ・レベルに表示される文は、そのクラスタの文の例です。図4-10は、クラスタ・グループの内容の例を示しています。

図4-10 クラスタ・グループの内容(「Details」タブ)

図4-10の説明は次にあります。
「図4-10 クラスタ・グループの内容(「Details」タブ)」の説明

データのデータベース表別表示

Analyzerでは、データを選択したデータベース表別に編成できます。

データをデータベース表別に表示する手順は、次のとおりです。

  1. Analyzerで、「Analysis」タブをクリックします。

  2. 「View」メニューから「Group by Table」を選択します。

    「Group by Table」を初めて選択した場合は、「Select Tables」ダイアログが自動的に表示されます。表示する表を選択して「OK」をクリックします。image060.jpgの説明が続きます
    図image060.jpgの説明

  3. 別の表を選択するには、「View」メニューから「Change Tables」を選択し、表を選択して「OK」をクリックします。

図4-11は、hr.employeehr.salaryの2つの表が選択されている様子を示しています。

図4-11 選択された表

図4-11の説明は次にあります。
「図4-11 選択された表」の説明

SQL文は表に従ってグループ化されます。select decode('#','#','#','#') from dualという文は、選択された表のいずれにも該当しない場合の文です。

データのデータベース列別表示

「Group by Column」ビューは、「データのデータベース表別表示」で説明されている「Group by Table」と類似していますが、Analyzerは、選択した列に従ってデータを編成します。

データをデータベース列別に表示する手順は、次のとおりです。

  1. Analyzerで、「Analysis」タブをクリックします。

  2. 「View」メニューから「Group by Column」を選択します。

  3. データのフィルタ処理に使用する列を選択して「OK」をクリックします。

  4. 別の列を選択するには、「View」メニューから「Change Columns」を選択し、列を選択して「OK」をクリックします。

「Details」および「Analysis」タブでのデータのフィルタ処理

特定のタイプのクラスタを「Details」または「Analysis」タブに表示する手順は、次のとおりです。

  1. Analyzerの「Details」または「Analysis」タブで、「Tools」メニューから「Filters」を選択します。

    「Filters」ダイアログが表示されます。

    image077.jpgの説明が続きます
    図image077.jpgの説明

  2. クラスタのアクションログ・レベル脅威の重大度または文クラス(あるいはこれらの組合せ)を選択して表示するクラスタを選択します。

    たとえば、アクションの「Warn」、およびロギング・レベルの「Sample」「Always」を選択すると、「Warn」アクションがあり、ロギング・レベルが「Sample」または「Always」のクラスタのみが表示されます。

「Baseline」タブでのデータの表示とフィルタ処理

Analyzerの「Baseline」タブでは、表形式でデータを表示できます。図4-12は、このタブの一部を示しています。

図4-12 生成されたクラスタの表形式での表示

図4-12の説明は次にあります。
「図4-12 生成されたクラスタの表形式での表示」の説明

「Baseline」タブでは、1つのクラスタが1行に表示され、フィルタ処理可能な複数の列があります。データは、次の要素に基づいてフィルタ処理できます。

  • アクション

  • ロギング・レベル

  • 脅威レベル

  • IPアドレス

  • ユーザー

  • 文のタイプ

  • クライアント・プログラム

  • OSユーザー

「Baseline」タブのフィルタを使用する手順は、次のとおりです。

  1. Analyzerで、「Baseline」タブをクリックします。

  2. フィルタがある列の上部でフィルタ・アイコン(下矢印)をクリックします。

    次のようなフィルタ・ダイアログ・ボックスが表示されます。

    filter_by_threat.gifの説明が続きます
    図filter_by_threat.gifの説明

データのプロファイル別表示

プロファイルを使用すると、一連の特性を定義して文のフィルタ処理に使用できます。「プロファイルを使用した特定データの表示とポリシー・ルールの設定」を参照してください。プロファイルを作成すると、データをプロファイル別に表示できます。

データをプロファイル別に表示する手順は、次のとおりです。

  1. Analyzerで、「Details」「Baseline」または「Analysis」タブをクリックします。

  2. 「View」メニューから、「Profile」または「Change Profile」(以前にプロファイルを選択した場合)を選択します。

  3. 「Select Profile」ダイアログで、表示するプロファイルを選択して「OK」をクリックします。

  4. すべてのデータの表示に戻るには、「View」メニューから「Background」を選択します。

モデルのプロパティの表示

「Properties」タブには、モデルに対する当初のデータ・ソース、統計、変更管理情報、メモなど、選択したモデルに関する一般的な情報が記載されています。「Database」「DB Location」などのフィールドのいずれかにデータを入力すると、モデルを保存する際にこの情報が保存されます。図4-13は、選択したモデルに関する一般情報を示しています。

図4-13 選択したモデルに関する一般情報の結果

図4-13の説明は次にあります。
「図4-13 選択したモデルに関する一般情報の結果」の説明

ポリシーの設計

この項の内容は、次のとおりです。

ポリシーの設計の概要

Oracle Database Firewallシステムを適切にデプロイするためには、効率的なポリシーを開発する必要があります。Analyzerを使用すると、最小限の時間で効率的にポリシーを設計して調整できます。


注意:

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

ポリシーの設計には、次の作業が含まれます。

  • モデルの各クラスタに対して、次の設定を指定します。

    • Action level: Oracle Database Firewallでクラスタに一致する文が検出された場合の対応(許可、ブロックまたは警告の発行)。

    • Logging level: Oracle Database Firewallでのロギング(ログに記録しない、すべての文をログに記録する、またはクラスタ、ソースIPアドレス、データベース・ユーザー名、オペレーティング・システム・ユーザー名およびクライアント・プログラム名の一意の組合せの文をログに記録する)。(詳細はオンライン・ヘルプを参照してください。)ロギングは、データベース・アクティビティの独立した記録として使用でき、たとえば、将来の監査または法廷対応などに使用できます。

      ログに直接記録されるデータが増加すると、必要なディスク領域に影響を与えるため、ロギングの量は慎重に考慮してください。サンプル・ロギングの頻度は、クラスタに対して10文ごとになります。

      保証されるポリシーはタイプごとに1つであるため、初期ポリシーにログ固有のポリシーを使用することをお薦めします。すべての文をログに記録するのではなく、トラフィックが効率的にサンプリングされます。

    • Threat Severity: クラスタの文で予想される脅威。「Unassigned」(空の容器)から「Catastrophic」(明るい赤色で満たされた容器)の範囲で6種類の脅威の重大度設定があります。Oracle Database Firewallで文がログに記録されると、その文の脅威の重大度も記録されます。サードパーティのレポート・ツールやsyslogを使用すると、ログに記録された脅威の重大度に基づいてSQL文を表示できます。

    これらの設定は、モデルに対してトレーニング・データを提供するときに、Analyzerで自動的に割り当てることができ、その後、必要に応じて設定を調整できます。「ポリシーの自動作成」を参照してください。

  • ポリシー設定に対する例外を作成します。

  • 特定の文タイプが検出された場合または選択した表がコールされた場合(あるいはその両方の場合)にトリガーされるノベルティ・ポリシー(またはルール)を追加します。

  • データをフィルタ処理したり、特定の基準(クライアントIPアドレスなど)に基づいてポリシー・ルールを設定するためのプロファイルを作成します。

ポリシーの自動作成

初期ポリシーは、 「Summary」タブから自動的に作成します。

図4-14は、「Summary」タブ・ウィンドウの一部を示しています。

図4-14 初期ポリシーの作成

図4-14の説明は次にあります。
「図4-14 初期ポリシーの作成」の説明

「Summary」タブには、ポリシーとの主な相互作用が表示されます。「Summary」タブでは、ポリシーを自動的に生成したり、ポリシーの文クラス、脅威の重大度およびアクション・レベルの現状に関する内訳グラフを表示できます。ポリシーを手動でカスタマイズ(たとえば、「Unassigned」アクション・レベルのポリシーのみを表示するなど)するときは、グラフに続くリンクを使用して「Details」タブの内容をフィルタ処理できます。未割当ての文とは、分類していないSQL文です(たとえば、脅威レベルに割り当てた文)。

初期ポリシーを作成する手順は、次のとおりです。

  1. 「Summary」タブを選択します。

  2. 「Summary」ページの右側で、次のボタンを選択します。

    • Assign Threat Severities: この設定により、脅威の重大度が「Unassigned」の各クラスタに、脅威の重大度が自動的に割り当てられます。脅威の重大度は、考えられるリスクに基づいて割り当てられます。

    • Assign Policies: この設定により、クラスタの脅威の重大度に基づいて、各クラスタにロギング・レベルとアクション・レベルが自動的に割り当てられます。(オンライン・ヘルプを参照してください。)

    表示専用の権限が付与されているユーザーは、ポリシーを作成できますが、そのポリシーをDatabase Firewallに適用することはできません。新しいポリシーをアップロードしてDatabase Firewallに適用できるのは、Database Firewallシステム管理者のみです。

  3. オプションで、次の機能を設定します。

    • 例外

    • 新しいノベルティ・ポリシー

    • オプション

    「例外、ノベルティ・ポリシーおよびデフォルト・ルールの作成」を参照してください。

初期ポリシーを作成した後は、「Details」または「Baseline」タブを使用してポリシーをカスタマイズできます。

アクション、ロギング・レベルおよび脅威の重大度の手動設定

クラスタのアクション、ロギング・レベルおよび脅威の重大度は、「Details」または「Baseline」タブの右クリック・メニューを使用して設定または変更できます。次の図は、「Details」タブの右クリック・メニューの例を示しています。

クラスタのアクション、ロギングまたは脅威の重大度を設定または変更する手順は、次のとおりです。

  1. 「Details」または「Baseline」タブで、クラスタを右クリックします。

    注意: 最初のクラスタを選択した後は、[Ctrl]キーを押しながらクラスタを選択することで、「Baseline」タブで複数のクラスタを選択できます。

  2. 「Set Action」「Set Logging」または「Set Threat」サブメニューで、必要な設定を選択します。

図4-15は、アクションを設定するための右クリック・サブメニューを示しています。

図4-15 「Details」タブでのアクションの変更

図4-15の説明は次にあります。
「図4-15 「Details」タブでのアクションの変更」の説明


関連項目:

データベース・ポリシー強制(DPE)の詳細は、「Oracle Database Firewallの動作モード」を参照してください。

Oracle Advanced Securityで暗号化されたトラフィックの管理

Oracle Databaseには、Oracle Advanced Securityが用意されています。有効な場合、このオプションによりネットワーク・トラフィックが自動的に暗号化されます。このトラフィックを復号化して、Oracle Advanced Securityを使用して暗号化された文がAnalyzerのその他の文のように分析できるようDatabase Firewallを構成できます。この構成の実行方法は、『Oracle Database Firewall管理ガイド』を参照してください。

Oracle Advanced Securityを使用するトラフィックを復号化するようにOracle Database Firewallを構成しないと、Oracle Database Firewallではこのトラフィックの存在がレポートに記載され、次の文字列がログ・ファイルに入力されます。

extracted_from_protocol encrypted

Oracle Advanced securityを使用するトラフィックを復号化するようにDatabase Firewallが構成されていない場合、このトラフィックを生成したデータベースからモデルを作成またはリフレッシュすると(「ログ・データでのトレーニングからの新しいモデルの作成」を参照)、extracted from protocol encryptedというテキストが記載されたクラスタが、モデルで生成されたその他のクラスタのリストに表示されます。ここから、このクラスタにポリシー(脅威レベルの設定やブロックなど)を作成できます。


関連項目:

Oracle Advanced Securityの詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。

例外、ノベルティ・ポリシーおよびデフォルト・ルールの作成

この項の内容は、次のとおりです。

例外、ノベルティ・ポリシーおよびデフォルト・ルールの概要

例外およびノベルティ・ポリシーを作成し、データベース・トラフィックで発生する特定の状況および文のタイプについて(通常のポリシー・ルール以外の)ルールを設定します。

ポリシー設定、例外またはノベルティ・ポリシーではカバーされない異常な文を処理するには、デフォルト・ルールをカスタマイズします。

例外の作成

特定のセッション・データが検出されたときに使用するアクション、ロギング・レベルおよび脅威の重大度は、例外によって決まります。たとえば、例外では、1日の特定の時間帯に発生する文や、選択したクライアントIPアドレスまたはユーザー名によって生じる(または生じない)文に対してルールを指定できます。

例外は、他のすべてのポリシー・ルールに優先します。たとえば、SQL文が管理者から発生した場合、または特定のIPアドレス以外から生じた場合は、標準のポリシー・ルールに優先することが必要になる場合があります。

例外は例外グループの一部である必要があります。最大2つまでの例外グループと無制限の数の例外を作成できます。各例外グループには、独自のアクション、ロギングおよび脅威の設定があり、そのグループ内のすべての例外が同一のルール、つまり同じ設定に従います。

例外を作成するためには、例外の定義に使用する要因のセットを定義しておく必要があります。「プロファイルおよび例外で使用する要因セットの定義」を参照してください。

例外を作成する手順は、次のとおりです。

  1. Analyzerの「Summary」タブで例外グループを選択するか、「New Group」をクリックして例外グループを選択します。

    最大2つの例外グループを持つことができます。

  2. 「New Exception」をクリックします。

  3. 「New Exception」ダイアログの左側の列で、右側の列で選択したセットを「Include」するか「Exclude」するかを選択します。

    セットはすでに定義されている必要があります。「プロファイルおよび例外で使用する要因セットの定義」を参照してください。

    exception_dialog.gifの説明が続きます
    図exception_dialog.gifの説明

    前述の例では、「EMEA」IPアドレス・セットに起因し、かつ「hrdbadmin」DBユーザー・セットに起因する文に対して、この例外を適用することを指定しています。「hrdbadmin」DBユーザー・セットを「Exclude」にすると、この例外は、「EMEA」IPアドレスに起因し、かつ「hradmin」DBユーザー・セットに起因していない文に対して適用されます。

    例外が有効になるには、この例外に指定する基準のすべてが満たされる必要があります。

  4. 「OK」をクリックします。

    例外は、選択した例外グループの下に表示されます。

  5. 例外グループを右クリックします(新規グループの場合は「Exception Group for Unassigned」と呼ばれます)。

  6. アクションロギングおよび脅威のレベルを設定します。これらのルールは、そのグループ内のいずれかの例外が発生した場合に適用されます。

    例外グループの横にあるアイコンは設定によって変わります。

    exceptions_listed.gifの説明が続きます
    図exceptions_listed.gifの説明

    上の例では2つの例外グループがあります。

    • 最初のグループのアクションは「Block」で、グループのルールは、文がOSSuperAdmin OSユーザー・セットのユーザー以外のユーザーに起因し時間スライス・セットがWeekendsの場合に適用されます。

    • 2つ目のグループのアクションは「Warn」で、グループのルールは次のいずれかが真の場合に適用されます。

      • 文がEMEA IPアドレス・セットに起因し、hrdbadmin DBユーザー・セットのユーザーに起因している場合。

      • 文がNA IPアドレス・セットに起因しOpsクライアント・プログラム・セットに起因しない場合。

  7. (オプション)例外グループの順序を変更するには、例外グループのアイコンを右クリックして、「Move Up」または「Move Down」を選択します。

例外適用の順序

例外グループ・ルールは、「Summary」タブにリストされている順序で適用されます。たとえば、ある文が最初と2番目の両方の例外グループにある例外定義と一致する場合、最初のグループのアクション、ロギングおよび脅威がその文に適用されます。

したがって、アクションがブロックのグループがアクションが警告のグループに優先するように、最初の例外グループのアクション・レベルを厳しく設定する方がより安全です。この場合、両方のグループと一致する文はブロックされます。

ノベルティ・ポリシーの作成

ノベルティ・ポリシーは、特定タイプの文または選択した表で機能する文(あるいはその両方)に使用するアクション、ロギング・レベルおよび脅威の重大度を指定します。ノベルティ・ポリシーを使用すると、特定の文が検出された場合に通常のポリシー・ルールを緩和または強化できます。

たとえば、特定の文タイプに対する通常のポリシー・アクションが「Warn」であるときに、情報公開を含む表に対してこの文タイプが作用する場合は「Pass」アクションを適用するようにノベルティ・ポリシーを設定することが必要になる場合があります。あるいは、機密情報が記載されている表に対して作用するすべての文をブロックするノベルティ・ポリシーの設定が必要な場合もあります。

ノベルティ・ポリシーを作成する手順は、次のとおりです。

  1. Analyzerの「Summary」タブの「Novelty Policy Rules」セクションで「New Novelty Policy」を選択します。

  2. 「New Novelty Policy」ダイアログで、文をこのポリシーと照合するための基準を選択します。

    1. (オプション)1つ以上の文クラスを選択します - このポリシーと一致するためには選択したクラスのいずれかに文が含まれる必要があります。

    2. 次のいずれかを選択します。

      Match Any Table - 文内の表の少なくとも1つが選択した表と一致する必要があります。表を選択していない場合、このポリシーを「Match Any Table」グループのポリシーで評価する場合にこのオプションを選択します。このグループが最初に評価されます。

      Match All Tables - 文内の表のすべてが選択した表に含まれる必要があります。ただし、文内にある表よりも多くの表を選択してもかまいません。表を選択していない場合、このポリシーを「Match All Tables」グループのポリシーで評価する場合にこのオプションを選択します。このグループが2番目に評価されます。

      詳細は、「ノベルティ・ポリシー適用の順序」を参照してください。

      Analyzerによって認知されていない表を現行モデル内の文に追加できます。「ノベルティ・ポリシー定義への認知されていない表の追加」を参照してください。

    3. (オプション)ステップbで選択した方法に従って文をこのポリシーと照合するために使用する表を選択します。

    new_novelty_policy.gifの説明が続きます
    図new_novelty_policy.gifの説明

    例: 

    • 「Statement Classes」に「Procedural」「Composite」を選択します。「Match All Tables」を選択して、AVG_COSTBOOKSおよびBUSINESS_CONTACTSを選択します。

      一致する文が「Procedural」または「Composite」クラスのいずれかに含まれ、文内のすべての表がAVG_COSTBOOKSまたはBUSINESS_CONTACTSのみである必要があります。異なる表が文内に現れる場合、文はこのポリシーと一致しません。ただし、文はこれらの表の1つ、または2つあるいは3つすべてを持つことができます。

    • 「Statement Classes」に「Composite with Transaction」選択し、「Match Any Table」を選択しますが、表は選択しません。

      一致する文が「Composite with Transaction」クラスに含まれる必要があります。このポリシーは「Match Any Table」を使用するノベルティ・ポリシー・ルールのグループで評価されます。このグループが最初に評価されます。「ノベルティ・ポリシー適用の順序」を参照してください。

  3. 「OK」をクリックします。

    新しいノベルティ・ポリシーは、「Novelty Policy Rules」の下の「Summary」タブの該当するグループの下にリストされます。

  4. 新しいノベルティ・ポリシーを右クリックし、「Properties」を選択します。

    「Novelty Statement Policy」ダイアログが表示されます。

    novelty_policy_properties.gifの説明が続きます
    図novelty_policy_properties.gifの説明


    ヒント

    ショートカットとして、2つのノベルティ・ポリシー・グループのいずれかを右クリックすることでグループ・レベルでプロパティを設定することもできます。これで、グループ内のすべてのポリシーのプロパティが設定され、必要に応じて各プロパティを個別に調整できます。

  5. 次の設定を実行して、このポリシーのルールを定義します。

    • 「Action」「Logging Level」および「Threat Severity」

    • オプションで、アクションとして「Block」を選択した場合には「Substitute Statement」を選択でき、このノベルティ・ポリシーに指定したタイプの文が検出された場合に、かわりに使用する文を入力します。代替文を指定する場合は、その文がクライアント・アプリケーションで処理できることを確認してください。

  6. 「OK」をクリックします。

    ポリシーはポリシー設定と一致するアイコンとともにリストされます。

    novelty_policy_listed.gifの説明が続きます
    図novelty_policy_listed.gifの説明

ノベルティ・ポリシー適用の順序

Analyzerは、最初にノベルティ・ポリシー・ルールの「Match Any Table」グループと文を比較します。「Match Any Table」ルールでは、文がルールと一致するために文内の表の少なくとも1つが選択した表と一致する必要があります。文が複数の「Match Any Table」ルールと一致する場合は、より厳格なポリシーが使用されます。たとえば、ブロックするポリシーは、警告を発するポリシーより優先されます。

文が「Match Any Table」グループの下のルールと一致しない場合、Analyzerは「Match All Tables」グループ内のルールと文を比較します。「Match All Tables」ルールでは、文内の表のすべてが選択した表に含まれる必要があります。同様に、文がこのグループ内の複数のルールと一致する場合、より厳格なアクションが適用されます。

文クラスのみが一致し、表が一致しないノベルティ・ポリシーを作成した場合、ノベルティ・ポリシーはポリシーの定義時にどちらを選択したかに応じて「Match Any Table」または「Match All Tables」グループで評価されます。


注意1:

Analyzerをリリース5.1にアップグレードすると、ブロック・アクションを含むリリース5.0で作成したノベルティ・ポリシーは「Match Any Table」グループに置かれ、パス・アクションを含むノベルティ・ポリシーは「Match All Tables」グループに置かれます。
注意2

Oracle Database Firewallリリース5.1のノベルティ・ポリシーでは、アクション・エスカレーションは許可されません。これらのオプションが有効な状態で、Oracle Database Firewallリリース4.3以前からベースライン・ポリシーがロードされた場合、Analyzerによってポリシーが更新されます。ノベルティ・ポリシーに対する変更が正しいことを確認してください。


ノベルティ・ポリシー定義への認知されていない表の追加

ノベルティ・ポリシーを定義する際、現行モデルの文でAnalyzerによって認知される表のみが「Novelty Policy definition」ダイアログに表示されます。ただし、現在認知されていない表を定義内で選択するために追加できます。

認知されていない表を追加する手順は、次のとおりです。

  1. ノベルティ・ポリシー定義に追加する表の名前をリストしたテキスト・ファイルを用意します。ファイルは、次の書式である必要があります。

    table_name
    table_name
    table_name
    
  2. Analyzerの「Update」メニューで、「Update Schema Objects」を選択します。

  3. 表名をリストしたテキスト・ファイルを選択して、「Open」をクリックします。

    これらの表名が、次回ノベルティ・ポリシーを定義するときに表示されます。


注意:

次回モデルを開くときに、認知されていない表を含めて定義したノベルティ・ポリシーが保存されますが、定義ダイアログにはまだモデル内の文で認知される表のみが表示されます。

文の異常に対するデフォルト・ルールのカスタマイズ

文の異常(つまり、他のポリシー・ルールのいずれにも該当しない文)については、ユーザーがロギング、アクションおよび脅威の重大度のデフォルト設定を指定できます。オプションで、1分当たりに類似したいくつかの文が表示された後に異なるアクションを適用するか、代替文を提供できます(あるいはその両方)。

デフォルト・ルールをカスタマイズする手順は、次のとおりです。

  1. Analyzerの「Summary」タブにある「Default Rule for Baseline Anomalies」セクションで、「Default Rule」を右クリックして「Properties」を選択します。

    「Default Rules for Baseline Anomalies」ダイアログが表示されます。

    default_rule_properties.gifの説明が続きます
    図default_rule_properties.gifの説明

  2. 次の項目を設定します。

    • 「Action」「Logging Level」「Threat Severity」

    • (オプション)1分間に一定数の異常な文が検出された場合に別のアクションを適用するには、最上部にある「Apply action」チェック・ボックスを選択し、「statements per minute」のカウンタに数値を設定します。

    • オプションで、「Substitute Statement」を選択し、このデフォルト・ルールがトリガーされる場合の代替文を入力します。クライアント・アプリケーションで処理できる文を記述するように注意してください。

  3. 「OK」をクリックします。

その他のポリシーに関するデフォルト・ルールの設定

デフォルト・ルールのアクションでブロックするように設定しても、ノベルティ・ポリシー、例外または無効な文ポリシーのアクションがパスまたは警告であれば、ポリシー全体としてのセキュリティが弱くなります。Analyzerでは、この条件が発生したときに、図4-16に示すように「Summary」タブの最上部に警告領域が表示されます。

図4-16 「Summary」タブ上のポリシー警告

図4-16の説明は次にあります。
「図4-16 「Summary」タブ上のポリシー警告」の説明

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

クラスタを右クリックし、メニューから「Properties」を選択することで、「Baseline」タブのリストに表示されているクラスタのプロパティを検索および変更できます。図4-17に「Cluster Properties」ダイアログ・ボックスを示します。

図4-17 「Cluster Properties」ダイアログ・ボックス

図4-17の説明は次にあります。
「図4-17 「Cluster Properties」ダイアログ・ボックス」の説明

このダイアログ・ボックスには、次の追加の機能があります。

  • SQL文のブロックまたは警告の発行: 選択したクラスタに一致する文が1分間当たりの指定回数より頻繁に発生する場合は、SQL文をブロックするか、警告を発行するように選択できます。ブロックされた文のロギングは常に有効にしておきます。

  • 代替SQL文の作成: ブロックされたアクションがあるクラスタに対する代替文は、データベース・ポリシー強制(DPE)モードでのみ定義できます。データベース・クライアントが適切なエラー・メッセージまたは応答を受け取るには、代替文が必要になる場合があります。

    次の例は、Oracleデータベースに対して使用できる、安全性に問題がなく、値を返したりパフォーマンスに影響を与えることがない適切な代替文です。

    SELECT 100 FROM DUAL
    

データベース・ユーザーに対するログインおよびログアウト・ポリシーの作成

データベース・ユーザーのログインおよびログアウト・ポリシーは、「Tools」メニューから「Login/Logout Policy」を使用して指定できます。ログインおよびログアウト・ポリシーは、ポリシー違反が生じるとアラートを発行します。データベースに対する自動化された攻撃に対処する場合に役立ちます。

Analyzerは、「Tools」→「Login/Logout Policy」ダイアログ・ボックスを使用して、データベース・ユーザーのログインまたはログアウト(あるいはその両方)を記録するように構成できます。このダイアログを使用すると、データベース・ユーザーのログインまたはログアウト時にアラートを発行したり、指定した回数のログイン試行に失敗したデータベース・ユーザーをブロックするようにシステムを構成することもできます。


注意:

保護されたデータベースに対してログイン/ログアウト・ポリシーを使用するために、そのデータベースを監視している強制ポイントの設定にあるデータベース・レスポンス・モニタリングをアクティブにする必要があります。方法は、『Oracle Database Firewall管理ガイド』を参照してください。

ログインおよびログアウト・ポリシーを構成する手順は、次のとおりです。

  1. Analyzerを起動してログインします。

  2. 「Tools」メニューから「Login/Logout Policy」を選択します。

    次のダイアログ・ボックスが表示されます。

    image095.jpgの説明が続きます
    図image095.jpgの説明

  3. ダイアログ・ボックスで設定を構成します。

    • Login Policy: データベース・ユーザーの成功または失敗したログインに使用するアクション・レベルと脅威の重大度を指定し、ログインを記録するかどうかを指定します。

    • Failed Login Policy: このセクションを使用すると、指定回数まで連続してログインに失敗したクライアントをブロックするか、アラート(「warn」アクション・レベルのアラート)を生成できます。トリガーされると、「Reset period」に指定した期間中はログインがブロックされ、この期間が終了すると、データベース・クライアントは再びログインを試行できます。

    • Logout Policy: データベース・ユーザーのログアウトに使用するアクション・レベルと脅威の重大度を指定し、ログアウトをログに記録するかどうかを指定します。

  4. ポリシーを生成し、通常の方法でOracle Database Firewallにデプロイします。

プロファイルを使用した特定データの表示とポリシー・ルールの設定

プロファイルは、様々な方法でデータを表示できる一種のフィルタで、特定のデータベース・ユーザー、IPアドレス、オペレーティング・システム・ユーザー、クライアント・プログラムおよび時間についてポリシー・ルールを設定します。

たとえば、夜間にデータベースにアクセスするデータベース・ユーザーの特定セットに対して、異なるポリシー・ルールを設定できるプロファイルを作成するように決定できます。セットに属するユーザーが特定の時間帯にデータベースにアクセスときは、このプロファイル・ポリシー・ルールが標準的な「バックグラウンド」ルールに優先して使用されます。

プロファイルは、フィルタとして使用される次の要因セットの組合せです(「プロファイルおよび例外で使用する要因セットの定義」を参照)。

  • IPアドレス

  • データベース・ユーザー・ログイン名

  • クライアント・プログラム名(例: SQL*Plus)

  • オペレーティング・システム・ユーザー名

  • 時間スライス(例: 月曜から金曜の午前9時から午後5時)


注意:

クライアント・プログラム名とOSユーザー名はクライアントによって提供されているため、環境によっては信頼できない場合があります。

プロファイルの作成

プロファイルを作成するためには、フィルタ処理目的で使用するように定義された要因のセットが必要です。「プロファイルおよび例外で使用する要因セットの定義」を参照してください。

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

  1. 「Tools」メニューから「Profiles」を選択します。

  2. 「Profiles」ダイアログ・ボックスで、「Add」を選択します。

  3. 「Profile」ダイアログ・ボックスで、次の設定を入力します。

    • Name: プロファイルの名前を入力します。

    • IP Address Set: リストから使用可能なIPアドレス・セットを選択するか、「Not Set」のままにします。

    • DB User Set: リストから使用可能なデータベース・ユーザー・セットを選択するか、「Not Set」のままにします。

    • Client Program Set: リストから使用可能なクライアント・プログラム・セットを選択するか、「Not Set」のままにします。

    • OS User Set: リストから使用可能なオペレーティング・システム・ユーザー・セットを選択するか、「Not Set」のままにします。

    • Timeslice: リストから使用可能な時間スライスを選択するか、「Not Set」のままにします。

    image087.jpgの説明が続きます
    図image087.jpgの説明

  4. 「OK」をクリックします。

「Analysis」および「Details」タブでのプロファイルの使用

「Analysis」タブが表示されているときに、「View」メニューから初めて「Profile」を選択すると、プロファイルの選択を求めるプロンプトが表示されます。その後、プロファイルは「View」→「Change Profile」を使用して変更できます。

「Analysis」タブには、選択したプロファイルに一致するソースと時間に起因するSQL文のクラスタのみが表示されるようになります。たとえば、プロファイルにデータベース・ユーザー・セットのみが含まれている場合、「Analysis」タブには、DBユーザー・セットのデータベース・ユーザーに起因するSQL文のクラスタのみが表示されます。プロファイルにデータベース・ユーザー・セットと時間スライスの両方が含まれている場合、「Analysis」タブには、そのユーザー・セットとその時間スライスに起因する文のクラスタのみが表示されます。

プロファイルを表示している場合は、そのプロファイルに対してポリシー・ルールを設定できます。これらは、バックグラウンド・ルールに優先します。プロファイルが選択されている状態では、右クリックしてクラスタのバックグラウンド・アクション・レベルを変更できます。

「Details」タブでは、プロファイルを選択しても、表示されているクラスタは変更されません。すべてのクラスタが引き続き表示されますが、プロファイルを選択した場合は、そのプロファイルと他すべての文(バックグラウンド・ルール)に対してポリシー・ルールを設定できます。

1つのSQL文が、複数のプロファイルと一致する可能性があります。この場合、Oracle Database Firewallでは、一致するすべてのプロファイルの中で最も深刻なアクション、ロギング・レベルおよび脅威の重大度が使用されます。

プロファイルおよび例外で使用する要因セットの定義

セットは、プロファイルと例外で使用するフィルタの定義に使用されます。プロファイルと例外は、次のセットを使用して定義されます。

  • IP address set: データベース・クライアントのIPアドレスが指定されているリスト。

  • DB user set: データベース・ユーザー・ログイン名が指定されているリスト。

  • Client Program set: クライアント・プログラム(たとえば、SQL*Plus)が指定されているリスト。

  • OS User set: オペレーティング・システム・ユーザー名が指定されているリスト。

  • Timeslice: 1週間の時間が指定されているセット。たとえば、月曜から金曜の午前9時から午後5時のような時間スライス。時間は、データベースの監視に使用しているDatabase Firewallに基づいています。

セットを定義する手順は、次のとおりです。

  1. 「Tools」メニューで、次のオプションから選択します。

    • IP Address Sets

    • DB User Sets

    • Client Program Sets

    • OS User Sets

    • Timeslices

  2. 表示されたダイアログ(たとえば、「DB User Sets」)で、「Add」をクリックして新しいセットを作成します。

    dbuser_set_dialog.gifの説明が続きます
    図dbuser_set_dialog.gifの説明

  3. 次のダイアログ・ボックスで、「Name」フィールドにセット名を入力します(例: hrdbadmin)。

    dbuser_set_dialog2.gifの説明が続きます
    図dbuser_set_dialog2.gifの説明

  4. 次のいずれか、または両方を実行します。

    • 右側の「Recorded」リストから必要な項目を選択し、左向きの山カッコをクリックして「Selected」リストに移動します。

    • セットの新しいメンバーを指定するには、「Add」をクリックして「Selected」リストのフィールドに新しい項目の名前を入力します。

      セットのメンバーには、IPアドレスを除いて2種類のワイルドカードを使用できます。疑問符(?)は1文字に対応し、アスタリスク(*)は任意の文字数に対応します。

      IP アドレスの範囲、たとえば192.155.56.100 - 192.155.56.199を入力できます。

      必要に応じてこの手順を繰り返し、このセットに項目を追加します。

  5. 「OK」をクリックした後、さらに「OK」をクリックします。

  6. 必要なセット数に応じて、これらの手順を繰り返します。これで、プロファイルまたは例外の定義にこれらのセットを使用できます。

ポリシー・ファイルの作成およびDatabase Firewallへのアップロード

ポリシーを設計した後は、ポリシーをファイルに保存し、このファイルをDatabase Firewallにデプロイする必要があります。

この項の内容は、次のとおりです。

Analyzerでのポリシー・ファイルの作成

Analyzerでポリシー・ファイルを作成する手順は、次のとおりです。

  1. Analyzerの「File」メニューから、「Create Policy」を選択します。

  2. 「Create Policy」ダイアログ・ボックスで、Database Firewallのモデル・ファイルの場所にナビゲートします(モデルとポリシーを一緒に保存すると仮定)。

  3. ファイル名を入力し、「Save」をクリックします。

    現在のトレーニング・モデルの名前にファイル拡張子.dnaが追加されて、デフォルトとして提供されます。デフォルトでは、ポリシー・ファイル(.dna)はsmdlディレクトリに保存されます。

モデル・ファイルとポリシー・ファイルの違い

モデル・ファイル(.smdlファイル拡張子)は新しい文データ(新しいログ・データなど)で更新でき、モデル・ファイルは新しい情報を別のソースとして保存します。データの各ソースはAnalyzerの「Analysis」タブに表示され、それを使用してポリシー・ルールを開発できます。

モデルに設定したルールに満足してそれをポリシー・ファイル(.dnaファイル拡張子)に保存すると、ポリシー・ファイルはモデル内のすべてのデータ・ソースをマージしてモデル内の各クラスタから例の文のみを保存します。これにより、領域が節約されパフォーマンスが改善します。

ポリシー・ルールは、ポリシー・ファイルまたはモデル・ファイルのいずれかを開き、変更を加えてから新しいポリシー・ファイルを作成することで変更できます。ポリシー・ファイル(.dna)のみがDatabase FirewallまたはManagement Serverにアップロードできます。

Database FirewallまたはManagement Serverでのポリシーのアップロードと有効化

Database FirewallまたはManagement Serverでポリシーをアップロードして有効にする手順は、次のとおりです。

  1. スタンドアロンDatabase FirewallまたはManagement Server管理コンソールにログインし、「Monitoring」タブを選択します。

  2. 「Policies」メニューの「Upload」を選択します。

    「Upload Policy」ページが表示されます。

    upload_policy.gifの説明が続きます
    図upload_policy.gifの説明

  3. 「Upload Policy」ページで、次の操作を実行します。

    1. 「Browse」ボタンをクリックして適切なポリシー・ファイル(拡張子.dna)を検索した後、「Open」をクリックします。

    2. オプションで、「Description」フィールドにポリシーの説明を入力します。

    3. Save」ボタンをクリックします。

    ポリシーがアップロードされたことを示す通知と現在アップロードされているポリシーのリストが「Policies」ページに表示されます。Database Firewall Management Serverを使用している場合は、適切な管理対象Database Firewallにポリシーが自動的に配布されます。

    baselines.jpgの説明が続きます
    図baselines.jpgの説明

  4. ポリシーを有効にする手順は、次のとおりです。

    1. 「Monitoring」タブで、「Enforcement Points」メニューの下にある「List」ボタンを選択します。

    2. ポリシーに使用する強制ポイントに対応する「Settings」ボタンを選択します。

    3. 「Monitoring Settings」ページで、「Policy」領域にスクロールします。

      アップロードしたポリシーがデフォルトのポリシーとともにリストに表示されます。

    4. アップロードしたポリシーを選択します。

    5. Save」ボタンをクリックします。

  5. 事前構成してアップロードされたポリシーをリストするには、管理コンソールで「Monitoring」タブを選択し、「Policies」メニューの下で「List」をクリックします。

    ここから、ポリシーの説明を編集したり、必要に応じてポリシーを削除できます。

新しいデータを使用したポリシーの改善と調整

この項の内容は、次のとおりです。

対話形式でのポリシーの調整

ポリシーはいつでも新しい値を使用して調整できます。図4-18は、ポリシーの開発がどのように反復的なプロセスであるかを示しています。

図4-18 反復的なポリシー開発サイクル

図4-18の説明は次にあります。
「図4-18 反復的なポリシー開発サイクル」の説明

反復的なポリシー開発サイクルは、次のようになります。

  1. ポリシーのSQLトラフィックを収集するために、ログ固有のポリシーが有効化されます。「ログ・データを提供するためのログ固有のポリシーの有効化」を参照してください。

  2. Database Firewallでは、使用している初期ポリシー(ログ固有のポリシーやユーザーが開発したポリシーなど)に従ってSQL文がログに記録されます。

  3. Analyzerでは、新しい文が適切なクラスタに割り当てられ、必要な場合は新しいクラスタが作成されます。新しいクラスタが作成されると、そのクラスタに対するアクション・レベルとロギング・レベルが自動または手動で割り当てられます。

    新しいセッション要因(クライアントIPアドレス、データベース・ユーザー名、OSユーザー名、クライアント・アプリケーション名など)も適切なセットに割り当てられ、それに応じてプロファイル定義が更新されます。「プロファイルおよび例外で使用する要因セットの定義」を参照してください。

  4. 変更した後は、ポリシーをデプロイできます。

監視対象データベースからの更新データを使用したAnalyzerのリフレッシュ

ポリシーの開発は反復的なプロセスです。初期ポリシーをデプロイした後は、ログ固有のポリシーを使用します。これによって、Oracle Database Firewallでは新しいSQL文をログに記録でき、その文は現在のポリシーの作成に使用した文と照合して分析するために、Analyzerにインポートできます。

ログ固有のポリシーを使用すると、ポリシーの異常も検出できます。このようにして、考えられるセキュリティの脆弱性を識別して、ポリシーをさらに改善できます。このプロセスは必要に応じて何回でも繰り返すことが可能です。

監視対象データベースからの更新データを使用してAnalyzerをリフレッシュする手順は、次のとおりです。

  1. 「Update」メニューから「Update with Log Data」を選択します。

  2. 「Traffic Log Server」ダイアログ・ボックスで、Database FirewallのIPアドレスと有効なDatabase Firewallシステム管理者の資格証明を入力します。

    デフォルトのIPアドレスおよび資格証明が提供されます。

  3. 「Update with Log Data」ダイアログ・ボックスで、適切な設定を指定して「OK」をクリックします。

    これらの設定の詳細は、「ログ・データでのトレーニングからの新しいモデルの作成」の手順4を参照してください。

あるいは、手順1で次のオプションを選択することもできます。

  • Update with File: トレーニング・ファイルまたはトレース・ファイルのデータと照合してモデルをテストします。

  • Test Single Statement: 単一のSQL文と照合してモデルをテストします。

更新されたデータの分析

監視対象データベースからの更新データを使用してAnalyzerをリフレッシュした後、Analyzerは更新データの各SQL文を読み取ってクラスタに割り当て、ユーザーが「Details」「Baseline」および「Analysis」タブで分析できるようにします。

新しいデータの文によっては、追加のクラスタが生成されることがあります。これらのクラスタにはデフォルトの「Unassigned」アクション・アイコン(疑問符が描かれた三角形のアイコン)が表示されるため、「Details」および「Baseline」タブで簡単に識別できます。

図4-19は、「Analysis」タブで「Group by Shapes」を使用している場合に表示される結果の例を示しています。

図4-19 作成した追加のクラスタが表示されているデータの例

図4-19の説明は次にあります。
「図4-19 作成した追加のクラスタが表示されているデータの例」の説明

この例では、追加のセットの円形のインジケータが表示されています。各行の最初のインジケータ(左側)は、モデルの作成に使用される当初のデータの文を説明しています。2番目のインジケータは、最初のテスト・データ・セットの文を説明しています。モデルをテストするたびに新しいインジケータのセットが表示されます。「「Analysis」タブのクラスタ・インジケータ」を参照してください。

図4-20は、新しいデータから作成された追加のクラスタ(「Details」タブ)の例を示しています。

図4-20 新しいデータから作成された追加のクラスタ(「Details」タブ)

図4-20の説明は次にあります。
「図4-20 新しいデータから作成された追加のクラスタ(「Details」タブ)」の説明

新しいデータに対するポリシー・ルールの割当てとポリシーの更新

更新したデータを使用してAnalyzerをリフレッシュした後は、モデルの新しいクラスタにルールを割り当てることができます。

ポリシー・ルールを新しいデータに割り当て、ポリシーを更新する手順は、次のとおりです。

  1. 次のいずれかを実行します。

    • ポリシー設定を新しいデータに自動的に割り当てるには、「Summary」タブで、「Assign Threat Severities」および「Assign Policies」をクリックします。割り当てた設定は後で変更できます。

    • ポリシー設定を手動で割り当てるには、「Baseline」または「Details」タブで新しいクラスタを検索し、アクション、ロギング・レベルおよび脅威の重大度の設定を割り当てます。「アクション、ロギング・レベルおよび脅威の重大度の手動設定」を参照してください。

  2. 「File」メニューから「Create Policy」を選択します。

    「Create Policy」ダイアログ・ボックスでは、別の名前で新しいポリシーを作成したり、現在のポリシーを選択して自分の更新内容で置換することができます。

ポリシー・ファイルを作成した後は、管理コンソールを使用してそのファイルをManagement Serverにアップロードする必要があります。「ポリシー・ファイルの作成およびDatabase Firewallへのアップロード」を参照してください。

その他の機能

この項の内容は、次のとおりです。

機密データのマスキング

機密データのマスキングによって、クレジット・カード番号などの機密データがログ・ファイルに表示されないようにします。


注意:

機密データがAnalyzerでマスクされた後は、マスク解除することはできません。

「Tools」メニューの「Sensitive data masking」を選択すると、ログ・ファイル内の機密データを自動的にマスキングするためのルールを設定できます。

図4-21は、「Sensitive data masking」ダイアログ・ボックスを示しています。

図4-21 機密データの自動マスキング用ルールの設定

図4-21の説明は次にあります。
「図4-21 機密データの自動マスキング用ルールの設定」の説明

ログに記録された文が、このダイアログに設定されているマスキング・ポリシーと一致している場合は、その文のすべてのユーザー・データ(リテラル、整数定数、16進定数、浮動小数定数など)が代替の文字で自動的に置換されます。使用される文字はデータ型によって異なります。

モデル内のデータのHTMLとしてのエクスポート

モデル内のデータのHTMLサマリーを作成するには、「File」メニューから「Export as HTML」を選択します。この機能は、レポート作成の目的で使用する場合があります。

ポリシー・ファイルからのモデルの作成

既存のポリシー・ファイルに基づいた新しいモデルの作成が必要な場合があります。

ポリシー・ファイル(.dna)からモデルを作成する手順は、次のとおりです。

  1. 「File」メニューから「Load Policy」を選択します。

  2. .dnaポリシー・ファイルを選択します。

  3. 「File」メニューから、「Save」を選択します。

    ファイルが.smdlモデル・ファイルとして保存されます。

2つの画面への画面の分割

「Window」メニューの「Split」を選択すると、画面が2つに分割されるため、同時に2つのタブを表示できます。単一の画面に戻すには、「Window」メニューから「Remove Split」を選択します。