プライマリ・コンテンツに移動
Oracle® Audit Vault and Database Firewall管理者ガイド
リリース12.2
E70392-19
目次へ移動
目次
索引へ移動
索引

前
次

11 Oracle RACでのOracle Database Firewallの使用

Oracle Real Application Clusters(Oracle RAC)とともに動作するOracle Database Firewallを構成でき、これにより、データベース・ポリシー強制(DPE)プロキシ・モードを使用した文のブロックや置換が可能になり、また、データベース・アクティビティ・モニタリング(DAM)インラインやアウト・オブ・バンド・モードを使用したSQL文のロギングやアラートの生成が可能になります。

ここでのトピック:

11.1 DPEモード用のOracle RACでのDatabase Firewallの構成

ここでのトピック:

11.1.1 DPEプロキシ・モード用のOracle RACでのDatabase Firewallの構成について

Oracle RACとOracle Database Firewallでデータベース・ポリシー強制(DPE)モードを使用するには、プロキシ・モードの構成を実行することをお薦めします。

この項の手順では、1つのOracle Database Firewallおよび1つのOracle Audit Vault Serverを想定していますが、ここに示す例に従って、簡単により多くのDatabase Firewallを追加できます。Database Firewallがプロキシ・モードで構成されると、次のようになります。

  1. SQLクライアントがDatabase Firewallに接続します。
  2. Database FirewallがSCANリスナーに接続します。
  3. SCANリスナーは、RACノードへ接続をリダイレクトします。
  4. Database Firewallでリダイレクトが処理され、リダイレクトされたRACノードへのアウトバウンド接続が行われます。
  5. Oracle RACノードからのレスポンスがクライアントに渡されます。

すべてのコンポーネントは同じサブネット内にある必要があります。クライアントとSCANリスナーが異なるサブネットにある場合、2つのネットワーク・インタフェース・カードが必要です(1つはクライアント・サブネット内、もう1つはSCANリスナー・サブネット内)。クライアント、Database Firewallおよびデータベース・サーバーが異なるサブネットに存在する場合、内部Database Firewallルーティングを調整する必要があります。

図11-1は、この章で説明する手順で使用されるセットアップ環境を示しています。

図11-1 Oracle Database FirewallおよびOracle RAC SCAN VIPアーキテクチャ



典型的なリクエスト・フローは次のようになります。

  1. アプリケーションは、データベース・サービス(たとえば、soe.mlg.example.com)の負荷が最小のインスタンスを検索するため、SCANに対してリクエストを発行します。

  2. SCANにより、node_id_fqdn:node_id_local_portの形式で、負荷が最小のインスタンスの接続情報が返されます。従来のSCANでは、node_vip_ip:node_id_local_portが返されます。ただし、ここで説明している手順では、IPアドレスは対応する完全修飾ドメイン名に置き換えられます。

  3. アプリケーションは、別のローカルDNSサービスを使用して検索し、node_id_fqdnをDatabase Firewallプロキシ・インタフェースのIPアドレスに変換します。

  4. リクエストは、Database Firewall内のそれぞれの強制ポイントに転送され、Database Firewall内のプロキシがnode_id_local_portと同じポートを使用してすでに作成されているものと想定し、接続が行われます。

  5. これで、ユーザーは、適切な管理インタフェースを使用してDatabase Firewallに接続できます。

  6. ユーザーがこの接続を行う場合、Oracle RACノードをセキュア・ターゲットとして使用可能です。

11.1.2 ステップ1: 各Oracle RACノードのリスナーの構成

  1. Oracle Database Firewallとともに使用することを計画している各Oracle RACノード上で、ローカル・リスナーを作成して起動します。

    次に例を示します。

    srvctl add listener  -l NODE1LISTENER –p 15777
    srvctl start listener -l NODE1LISTENER –n rac1
    srvctl add listener  -l NODE2LISTENER –p 15999
    srvctl start listener -l NODE2LISTENER –n rac2
    

    NODE1LISTENER15777rac1NODE2LISTENER15999およびrac2の値を、それぞれの環境の値に置き換えます。この後の手順で、これらの例の値を使用します。

    srvctlユーティリティの使用方法の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

  2. 各ノードで、ALTER SYSTEMシステム権限を持つユーザーとしてSQL*Plusにログインします。

    次に例を示します。

    sqlplus system
    Enter password: password
    
  3. ALTER SYSTEM SQL文を実行して、ノード内の各リスナーを動的に登録します。

    たとえば、次のように、Oracle SIDのflavia1およびflavia2に対してリスナーを登録します。

    ALTER SYSTEM SET LOCAL_LISTENER="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip.mlg.example.com)(PORT=15777))))" SCOPE=BOTH SID='flavia1;
    
    ALTER SYSTEM SET LOCAL_LISTENER="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip.mlg.example.com)(PORT=15999))))" SCOPE=BOTH SID='flavia2';
    
  4. コマンドラインから、次のsrvctlコマンドを実行して、Oracle RACクラスタ内のローカル・リスナーを確認します。
    srvctl status listener    //check listener location
    srvctl config listener    //check TCP ports
    

    次に例を示します。

    [oracle@rac1 bin]$srvctl status listener
    Listener LISTENER is enabled
    Listener LISTENER is running on node(s): rac2, rac1
    Listener NODE1LISTENER is enabled
    Listener NODE1LISTENER is running on node(s): rac1
    Listener NODE2LISTENER is enabled
    Listener NODE2LISTENER is running on node(s): rac2
    
    [oracle@rac1 bin]$srvctl config listener
    Name: LISTENER
    Network: 1, Owner: oracle
    Home: <CRS home>
    End points: TCP:15888
    Name: NODE1LISTENER
    Network: 1, Owner:oracle
    Home: <CRS home>
    End points: TCP:15777
    Name: NODE2LISTENER
    Network: 1, Owner: oracle
    Home: <CRS home>
    End points: TCP:15999
    
  5. 各ノード上で、SQL*PlusでSHOW PARAMETER LISTENERコマンドを実行して、ノードのローカル・リスナーを表示します。

    たとえば、ノードrac1の場合:

    SHOW PARAMETER LISTENER
    
    NAME                TYPE     VALUE
    ------------------  -------  ----------------------------------------------
    listener_networks   string   
    local_listener      string   ((DESCRIPTION=(ADDRESS_LIST=(ADDRESS= 
                                 (PROTOCOL=TCP)(HOST=rac1-vip.mlg.example.com)
                                 (PORT=15777)))) 
    remote_listener     string   mlg-rac-scan:1521
    

    ノードrac2の場合:

    SHOW PARAMETER LISTENER
    
    NAME                TYPE     VALUE
    ------------------  -------  ----------------------------------------------
    listener_networks   string   
    local_listener      string   ((DESCRIPTION=(ADDRESS_LIST=(ADDRESS= 
                                 (PROTOCOL=TCP)(HOST=rac2-vip.mlg.example.com)
                                 (PORT=15999)))) 
    remote_listener     string   mlg-rac-scan:1521
    
  6. アプリケーション・サイト上のローカルDNSを変更して、データベースの仮想IPの完全修飾ドメイン名をDatabase FirewallのIPアドレスに変換します。

    たとえば、クライアントの/etc/hostsファイルを編集するなら、次の設定を追加します。

    192.0.2.201 rac1-vip.mlg.example.com
    192.0.2.201 rac2-vip.mlg.example.com
    

    複数のDatabase Firewallがあり、サーバー間でロード・バランシングを行う場合は、本格的なDNSサービスが必要です。

11.1.3 ステップ2: Oracle Database Firewallコンソールでのプロキシの設定

  1. Oracle Database Firewallコンソールにログインします。
  2. プロキシを構成します。

    構成を完了すると、「管理インタフェース」ページが次のように表示されます。

  3. 強制ポイントを構成します。

    この構成を完了すると、「強制ポイント」ページが次のように表示されます。

    「名前」列でその名前をクリックして、各強制ポイントに関する詳細を検索できます。たとえば、rac1ノードの強制ポイントは次のように表示されます。

  4. 接続をテストします。

    構成した各Oracle RACノードにログインし、単純なコマンドを実行して接続が機能しているか確認してください。

    次に例を示します。

    sqlplus system
    Enter password: password
    
    SELECT SYSDATE FROM DUAL;

11.1.4 ステップ3: Oracle RACノードのデータを収集できることを確認するための監査レポートのテスト

構成が完了した後は、様々なOracle RACノードからデータを収集できることを確認してください。

  1. Audit Vault Serverコンソールにログインします。
  2. レポートをチェックして、構成したOracle RACノードから監査データが収集されたことを確認します。

    たとえば、次のデータ・アクセス・レポートは、rac2ノードから監査データが収集されたことを示しています。

11.2 DAMモード用のOracle RACでのDatabase Firewallの構成

データベース・アクティビティ・モニタリング(DAM)インラインおよびアウト・オブ・バンド・モードを使用して、Oracle RACとともにOracle Database Firewallを構成できます。このタイプの構成は最も簡単です(つまり、即時利用可能です)。

これを行うには、Oracle RACノードのすべてのIPアドレスを、確実にセキュア・ターゲットの構成に含める必要があります。これには、各Oracle RACノードが複数のIPアドレスを持つ、単一のセキュア・ターゲット構成があります。あるいは、各ノードごとに別々のセキュア・ターゲットです。