この章の内容は、次のとおりです。
次に概説した事前措置を考慮して安全なインストールとデータの保護を実行してください。
安全なインストール
Oracle Database Firewallは、デフォルトで安全な状態でインストールされます。したがって、デフォルトの設定を変更する場合は安全性が低い状態になることがあるので注意することが重要です。このインストールの詳細は、『Oracle Database Firewallインストレーション・ガイド』を参照してください。
インストール処理中は、次のガイドラインを考慮してください。
可能であれば、Database Firewall Management ServerとAnalyzerを別のサーバーにインストールします。
インストールが完了した後すぐに各Database FirewallおよびManagement Serverサーバーの管理パスワードを変更します。
ログ区画がニーズに対して十分に大きいことを確認します。定期的にサイズを確認してください。ログで領域がなくなるとレコードが失われる可能性があります。
データの保護
デーを保護するために次のガイドラインを考慮してください。
アカウント名とパスワード: 管理コンソールUIであるroot
、support
およびsys
アカウントにセキュアなパスワードを使用し、これらのパスワードを安全に保持します。パスワードは信頼性の高い管理者にのみ渡し、定期的に変更します。これらのアカウントに対する不正なアクセスはシステムを危険にさらす可能性があります。これらの資格証明が権限のないユーザーに与えられた疑いがある場合は、すぐに変更してください。
別個の管理者アカウント:セキュリティの向上と業務の分離のために、admin
ユーザー・アカウントはバックアップ・アカウントとして保持し、日常的な業務を行う各既存ユーザー用に別の管理アカウントを作成することをお薦めします。これらのアカウントは決して共有しないでください。これにより、管理者アクティビティの監査の向上が可能になります。
管理者アクティビティの検査: 定期的に「Administration Changes」ログを確認して疑いのあるアクティビティをチェックします。これには、たとえば、複数回の失敗ログインやログインした場合に繰り返されるアクセス拒否が含まれます。このログの表示方法は、『Oracle Database Firewall管理ガイド』を参照してください。
強力なパスワード・ポリシー: パスワード・ポリシーを作成してユーザーに強力なパスワードを使用するように強制します。詳細は、『Oracle Database Firewall管理ガイド』を参照してください。
インストール済アカウント: Database Firewallは既存のターミナル(シェル)アクセス権と組込みデータベース・アカウントとともにインストールされます。このタイプの新規アカウントを追加したり、既存のアカウントをロック解除することは、これらのアカウントがDatabase Firewallシステムのデータや操作を改ざんするために使用される可能性があるため避けてください。
安全なアーカイブ: アーカイブ用に設定するアカウントは、この目的にのみ使用し、一般的な目的には使用しないでください。このアカウントには、アーカイブに必要な最小限の権限を付与します。また、アーカイブ・データがネットワーク上を転送されるため、アーカイブ先とネットワーク・インフラストラクチャが安全なことを確認してください。
リモート・アクセス: Database Firewallでは管理コンソールの「System Services」ページにリモート・アクセス権限を設定できます。リモート・アクセスは、管理コンソール、ターミナル(シェル)、SNMP、セキュア・ログおよびトラフィック・ログへのWebアクセス用に付与できます。リモート・アクセスを付与するときは、次のガイドラインに従います。
特定のタスクに必要で、そのタスクの完了時にアクセスをオフにすることを考慮している場合にのみアクセス権を付与します。
IPアドレスによりアクセスを制限します。これはシステムのインストール後すぐに実行します。
ターミナル(シェル)アクセス権は、RPMアップグレードの実行時またはシステム・サポートによる要求時にのみ付与します。
トラフィック・ログ・アクセスはDatabase Firewall AnalyzerのIPアドレスに制限します。
セキュア・ログ・アクセスは、Database Firewallの組込みレポートに加えて外部レポート・ツールも使用する場合にのみ有効にします。また、セキュア・ログ・アクセスを、外部レポートを実行するIPアドレスに制限します。
セキュリティについては、次の推奨事項に従うことをお薦めします。
Database Firewallを使用して不要なトラフィックをブロックしている場合は、データベース・クライアントとデータベースの間のすべてのデータ・フローがDatabase Firewallを経由するようにします。これには、リクエストとレスポンスの両方が含まれます。
サイトに適切なセキュリティ対策を使用してDatabase Firewallを実行しているコンピュータへのアクセスを制御し、アクセス権を(たとえば、レポートに使用するなど)特定のユーザーにのみ付与します。
パスワードなどのユーザー資格証明がベスト・プラクティスに準拠していることを確認します。
表示のみの管理コンソール・ユーザー、ロギング管理者またはシステム管理者ロールをそれぞれの業務に応じて構成します。
業務を分離します(たとえば、管理者、Analyzerソフトウェアのユーザー、ログにアクセスする担当者などに分離します)。
この項の内容は、次のとおりです。
Oracle Database Firewallは、データベース層とアプリケーション層の間にデプロイします。Database FirewallではOracleデータベースへのトラフィックおよびOracleデータベースからのトラフィックを復号化できます。Oracle以外のデータベースの場合、データベース層とアプリケーション層の間のSQLトラフィックが暗号化されていると、Database Firewallは、このSQLトラフィックに対する保護ポリシーを理解できず、強制できません。
この問題を解決するには、Oracle以外のデータベース・サーバーを暗号化トラフィックを拒否または防止するように構成します。SSL終了ソリューションを使用して、SQLトラフィックがDatabase Firewallに届く直前にトラフィックを終了できます。これにより、クリア・テキスト・トラフィックがDatabase Firewalを経由しないようになります。
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の動作に注意してください。
SQL以外のプロトコルのアクセス。データベース・プラットフォームでは、データベースSQLベースのプロトコルの他に様々なネットワーク・プロトコルをサポートしています。たとえば、Oracle Databaseでは、データベースに格納されているデータに対してHTTP、FTP、アドバンスト・キューイング、ダイレクト・パスおよびNFSアクセスがサポートされています。Oracle Database Firewallでポリシー強制が適用されるのは、データベースへのSQLベースのアクセスに対してのみです。Database Firewallで理解可能なプロトコルは、Oracle TTC/Net、Microsoft SQL ServerやSybase ASEに使用されるTabular Data Stream (TDS)、およびIBM Distributed Relational Database Architecture (DRDA)です。
ローカル接続。Oracle Database Firewallには、ローカル接続に対する限定的な監視サポートが用意されています。bequeathプロトコルや共有メモリーの接続など、ローカル接続に対するブロッキング機能は用意されていません。bequeathプロトコルに関する詳細は、『Oracle Database Net Services管理者ガイド』を参照し、共有メモリー管理に関する詳細は、『Oracle Database管理者ガイド』を参照してください。
IPv6接続。Oracle Database Firewallでは、IPv6デプロイメントをサポートしていません。Database Firewallでは、IPv6接続からのすべてのトラフィックは自動的にブロックされます。
非TCPベースの接続。Oracle Database Firewallでは、TCPベースによるデータベース・サーバーへのネットワーク接続のみをサポートしています。Systems Network Architecture (SNA)、Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX)など、TCPでないプロトコルを使用したデータベース・サーバーへの接続は監視できません。
この項の内容は、次のとおりです。
データベース・サーバーは、共有サーバー・アーキテクチャを使用して、少数のサーバー・プロセスを多数のユーザー・プロセスが共有できるようにしています。ディスパッチャ・プロセスは、受信した複数のネットワーク・セッション・リクエストを共通キューに送信し、次に、これらのセッション・リクエストを共有サーバーで使用可能な次のプロセスにリダイレクトします。デフォルトでは、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リファレンス』を参照してください。
Oracle Database Firewallがデータベース・ポリシー強制(ブロッキング)モードの場合、保護対象データベースは、Database FirewallのIPアドレス、つまりDatabase Firewallブリッジ(『Oracle Database Firewall管理ガイド』で説明)に割り当てられている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で区別できません。