ヘッダーをスキップ
Oracle® Database Firewall管理ガイド
リリース5.0
B65097-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

A Oracle Database Firewallセキュリティ・ガイドライン

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

セキュリティに関する一般的な推奨事項

セキュリティについては、次の推奨事項に従うことをお薦めします。

ネットワークベース・ソリューションのデプロイに関する考慮事項

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

ネットワーク暗号化の処理

Oracle Database Firewallは、データベース層とアプリケーション層の間にデプロイします。データベース層とアプリケーション層の間のSQLトラフィックが暗号化されていると、Database Firewallは、このSQLトラフィックに対する保護ポリシーを理解できず、強制できません。

この問題を解決するには、暗号化されたトラフィックを拒否または防止するようにデータベース・サーバーを構成します。Oracleデータベースの場合は、sqlnet.oraファイルのSQLNET.ENCRYPTION_SERVERパラメータをREJECTEDに設定します。(この設定の詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。)Database Firewallをサポートしているすべてのデータベース製品(Oracle Databaseを含む)では、SSLターミネーション・ソリューションを使用して、Database Firewallに到達する前にSQLトラフィックを終了できます。これにより、クリア・テキスト・トラフィックがDatabase Firewalを経由しないようになります。

サーバー側のSQLとコンテキストの構成処理

Oracle Database Firewallポリシー強制は、データベース・クライアントとサーバー間のSQLトラフィックを取得して理解することに依存しています。Database Firewallではアプリケーション層とデータベース・サーバー間のネットワーク・トラフィックのみを分析するため、データベース・サーバー自体から直接起動されるSQLは確認できないことに注意してください。Database Firewallが確認できないSQL文の一般的なタイプには、ストアド・プロシージャやコールアウトから実行されるシステム付属のSQLやユーザー定義のSQL、Oracleデータベース内のDBMS_JOBまたはDBMS_SCHEDULER PL/SQLパッケージによって作成されたSQLなどのバックグラウンド・ジョブから実行されるSQL、DDLや他のSQL文から間接的に実行されるSQLなどがあります。

Oracle Database Firewallは、その実行コンテキスト全体をネットワーク・トラフィックから取得した情報を使用して作成します。ただし、強制は、サーバー上のコンテキスト情報に基づています。このコンテキストの欠落は、ノベルティ・ポリシーで使用する識別子の解決方法に影響を与えます。

様々なデータベース・アクセス・パスでのOracle Database Firewallの動作

次のタイプのデータベース・アクセス・パスでのOracle Database Firewallの動作に注意してください。

特別な構成に関するセキュリティ上の考慮事項

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

Oracle共有サーバー構成とディスパッチャの処理

データベース・サーバーは、共有サーバー・アーキテクチャを使用して、少数のサーバー・プロセスを多数のユーザー・プロセスが共有できるようにしています。ディスパッチャ・プロセスは、受信した複数のネットワーク・セッション・リクエストを共通キューに送信し、次に、これらのセッション・リクエストを共有サーバーで使用可能な次のプロセスにリダイレクトします。デフォルトでは、Oracle DatabaseでTCPプロトコルに対するディスパッチャ・サービスが1つ作成されます。init.oraファイルでは、この設定は次のようにDISPATCHERSパラメータによって制御されます。

dispatchers="(PROTOCOL=tcp)"

デフォルトの構成では、動的ポートは、TCPプロトコルを使用して受信接続をリスニングします。共有サーバー構成では、多数のユーザー・プロセスがこの動的ポートでディスパッチャに接続します。このポートでの接続を監視するようにDatabase Firewallが構成されていない場合は、これらの接続にポリシーを強制することはできません。Database Firewallの接続を簡単に構成するには、DISPATCHERSパラメータにポート番号を明示的に指定してください。次に例を示します。

dispatchers="(PROTOCOL=tcp)(PORT=nnnn)"

nnnnの値を選択し、そのアドレスを通常のリスナー・アドレスとともに保護するようにDatabase Firewallを構成します。

共有サーバーの管理に関する詳細は、『Oracle Database管理者ガイド』も参照してください。DISPATCHERSパラメータに関する詳細は、『Oracle Databaseリファレンス』を参照してください。

クライアントのIPアドレスによるTCP許可ノードへの影響

Oracle Database Firewallがデータベース・ポリシー強制(ブロッキング)モードの場合、保護対象データベースは、Database FirewallのIPアドレス、つまりDatabase Firewallブリッジ(「ステップ7: スタンドアロンDatabase FirewallのブリッジIPアドレスの構成」で説明)に割り当てられているIPアドレスを認識するのみです。保護対象データベースのクライアントのIPアドレスは認識されないため、結果的に、ユーザーはこのデータベースに接続できません。

この問題は、sqlnet.oraファイルのTTC/NetパラメータTCP.INVITED_NODESの設定に、Database FirewallブリッジIPアドレスを指定することで修正できます。データベースへのアクセスが許可されているクライアントのノードは、TCP.INVITED_NODESパラメータで指定します。Database Firewallをデプロイする場合は、ポリシー・プロファイル機能を使用して、TCP.INVITED_NODESによって提供されるネットワーク・アクセス制限と類似したアクセス制限を実装してください。Database Firewallのポリシー・プロファイル機能では、IPアドレス・セット、時刻、ユーザーなどの追加の要因をサポートしています。プロファイルに関する詳細は、『Oracle Database Firewallセキュリティ管理ガイド』を参照してください。

この項に説明されているように、データベース・サーバーが認識するクライアントIPアドレスは、Database Firewallのブリッジに割り当てられているアドレスです。この機能は、元のクライアントIPアドレスに依存しているデータベース・サーバーの機能に影響を与える可能性があります。クライアントIPアドレスに依存している可能性があるこの機能には、ログオン・トリガー、監査データの分析およびOracle Database Vaultファクタがあります。

注意が必要なその他の動作

  • クライアント側のコンテキスト。Oracle Database Firewallのポリシーは、クライアント・プログラム名、クライアントOSユーザー名など、クライアント側のコンテキスト情報を使用するように構成できます。クライアントがこの情報をデータベース・サーバーに送信すると、Database Firewallはその情報をネットワークから取得します。Oracle Database Firewallでは、クライアント側またはネットワークの整合性が制御または強制されないため、この情報を使用してセキュリティ・ポリシーを定義する場合は、事前に情報の整合性を考慮する必要があります。

  • 複数のデータベースと共有リスナーでのサービス。Oracle Database Firewallでは、IPアドレスとポート番号に基づいてポリシーが強制されます。単一のリスナー・エンドポイント(IP_address:port)が複数のデータベースで共有されている構成では、個々の各データベースに対するトラフィックをDatabase Firewallで区別できません。