この章の内容は、次のとおりです。
ローカル・モニタリング・ソフトウェアを使用すると、コンソール・ユーザーや、データベース・サーバーで実行されるバッチ・ジョブなど、データベースに直接アクセスするソースから発生したSQLトラフィックを強制ポイントで監視できます(ただし、ブロックできません)。ローカル・モニタリングでは、トラフィックをネットワーク経由で送信しません。Oracle Database Firewallのローカル・モニタリング・ソフトウェアを監視対象データベースに直接インストールします。ローカル・モニタリングでは、データベースの追加の表を使用して次の内容を記録します。
コンソール・ユーザーまたは他のプロセスによってデータベースに送信された最後の文。
データベース内のデータに影響を与えるコンソール・ユーザーまたはプロセスが作成した、ALTER TABLE
やDROP TABLE
操作などのすべての文。トリガー(OracleおよびSybase)やイベント通知(Microsoft SQL Server)などのメカニズムによって、それらの文は記録されます。
強制ポイントでは、一定の間隔でデータベースを問い合せることでデータを収集し、そのデータをデータベース・クライアントで作成された文と同じ方法で使用します。ポリシーの設計に応じて、各文はログに記録されたり警告を発行しますが、ローカル・モニタリングはトラフィックとデータベース間のインラインではないため、文をブロックすることはできません。ローカル・モニターでログに記録されたトラフィックでは、そのソースIPアドレスに0.0.0.0が指定されます。
Oracle Database Firewallでは、Oracle、SQL ServerおよびSybase ASEの各データベースに対するローカル・モニタリングをサポートしています。サポート対象のデータベース製品の完全なリストについては、『Oracle Database Firewallインストレーション・ガイド』を参照してください。
次のガイドラインに留意してください。
Microsoft SQL Server 2005以降のデータベースを使用する場合は、データベースで混合モード認証が使用されていることを確認します。
ローカル・モニタリングでは、コンソール・ユーザーまたは他のプロセスから作成された文のソースIPアドレスに0.0.0.0とポート0が使用されます。宛先アドレス(トラフィック・ログに表示)は、監視する保護対象データベースのいずれかと同じアドレスです。
ローカル・モニタリングでは、重複したSQL文は記録されません。重複した一連のSQL文では最後のSQL文のみが記録されます。
ローカル監視では、セッションがローカル・マシンからのものであるかを判断するために、正引きおよび逆引きのDNS参照を両方とも実行します。DNS構成が破損しているためにサーバーから正常に参照できない場合、ローカル監視ではコンソール・イベントは記録できません。ローカル監視ですべてのローカル・セッションを記録するには、DNS構成が正しいことを確認してください。
この項の内容は、次のとおりです。
保護対象データベースにローカル・モニタリング・コンポーネントをインストールするために使用するスクリプトは、Oracle Database Firewall Utilities 5.1
ディスクのdatabase\localmonitor
フォルダにあります。Oracle、SybaseおよびMicrosoft SQLの各データベース用に個別のスクリプトが用意されています。
データベースがWindowsプラットフォーム上にある場合は、.zip
アーカイブ・ファイルからスクリプトを取得します。Linuxプラットフォームを使用している場合は、次のように.tar
アーカイブ・ファイルを解凍できます。
mkdir localmonitoring cd localmonitoring tar -xvf oracle.tar
インストール・プロセスによって、次の2つのデータベース・アカウントと必要な権限が自動的に作成されます。
DBFW_CONSOLE_ACCESS
は、スキーマ・オブジェクトを所有します。
DBFW_CONSOLE_ACCESS_QRY
は、データベースを問い合せるためにOracle Database Firewallで使用します。
DBFW_CONSOLE_ACCESS
アカウントには、次の権限があります。
CREATE SESSION
ADMINISTER DATABASE TRIGGER
CREATE PROCEDURE
CREATE SEQUENCE
CREATE TABLE
CREATE TRIGGER
DBFW_CONSOLE_ACCESS_QRY
アカウントには、次の権限があります。
CREATE SESSION
Oracleデータベースにローカル・モニタリング・コンポーネントをインストールする手順は、次のとおりです。
Oracle Database Firewall製品のCD (Oracle Database Firewall Utilities 5.1
)から、スクリプトを実行するサーバーにdatabase
ディレクトリをコピーします。
このサーバーで、database/localmonitor
ディレクトリに移動し、oracle
圧縮ファイルをoracle
というディレクトリ(推奨)に解凍します。
oracle
ディレクトリに移動して解凍したファイルを確認し、これらのスクリプトのユーザーに付与される権限を理解します。
ユーザーの作成およびユーザー権限の設定を行う権限が付与されているユーザーとして、Oracle Databaseにログインします。
次に例を示します。
sqlplus sys/as sysdba
Enter password: password
Connected.
SQL>
Oracle Database Vaultとともに使用するデータベースの場合は、DV_ACCTMGR
ロールが付与されたユーザーとしてログインします。
dcam_new_user
という名前のスクリプトを実行して、DBFW_CONSOLE_ACCESS
アカウントを作成します。
次に例を示します。
SQL> @dcam_new_user password1 for DBFW_CONSOLE_ACCESS password2
password
1には、DBFW_CONSOLE_ACCESS
アカウントのパスワードを入力します。
password
2には、DBFW_CONSOLE_ACCESS_QRY表のパスワードを入力します。
ここでパスワードを省略すると、実行時にパスワードの入力が求められます。このスクリプトではセキュリティの強化のためにパスワードの入力が求められます。
DBFW_CONSOLE_ACCESS
アカウントとしてdcam_setup
という名前のスクリプトを実行します。
connect DBFW_CONSOLE_ACCESS
Enter passowrd: password1
SQL> @dcam_setup.sql
このスクリプトでは、モニタリング・システムで使用する表とトリガーが作成され、DBFW_CONSOLE_ACCESS_QRY表に対するアクセス権が付与されます。
管理コンソールからローカル・モニタリングを有効にするユーザーに、DBFW_CONSOLE_ACCESS_QRY
表のパスワードを提供します。
(オプション)前述の権限、表、トリガーを削除する必要がある場合には、cam_drop
スクリプトを実行します。
connect DBFW_CONSOLE_ACCESS
Enter passowrd: password1
SQL> @dcam_drop.sql
(オプション) DBFW_CONSOLE_ACCESS
アカウントを無効にし、DBFW_CONSOLE_ACCESS_QRY表へのアクセスを削除する必要がある場合には、dcam_remove_user
スクリプトを実行します。
SQL> @dcam_remove_user.sql
混合モードの認証を実行中のMicrosoft SQL Serverデータベースにローカル・モニタリング・コンポーネントをインストールする手順は、次のとおりです。
Oracle Database Firewall製品のCD (Oracle Database Firewall Utilities 5.1
)から、スクリプトを実行するサーバーにdatabase
ディレクトリをコピーします。
このサーバーで、database/localmonitor
ディレクトリに移動し、sqlserver
圧縮ファイルをsqlserver
というディレクトリ(推奨)に解凍します。
sqlserver
ディレクトリに移動して解凍したファイルを確認し、これらのスクリプトのユーザーに付与される権限を理解します。
ユーザーの作成およびユーザー権限の設定を行う権限が付与されているユーザーとして、SQL Serverにログインします。
sqlcmd -S server_name -U sa -P password
dcam_new_user
という名前のスクリプトを実行して、アカウントを作成します。
1> :r dcam_new_user.sql
このスクリプトでは、DBFW_CONSOLE_ACCESS
およびDBFW_CONSOLE_ACCESS_QRY
アカウントならびにデフォルトのパスワードが作成されます。
この2つのアカウントのパスワードを変更します。
1> alter login DBFW_CONSOLE_ACCESS with password = 'new password'; 2> go 1> alter login DBFW_CONSOLE_ACCESS_QRY with password = 'new password'; 2> go
dcam_setup.sql
という名前のスクリプトを実行します。
1> :r dcam_setup.sql
このスクリプトでは、モニタリング・システムで使用する表とイベント通知フレームワークが作成され、DBFW_CONSOLE_ACCESS_QRY
表に対するアクセス権が付与されます。
管理コンソールからローカル・モニタリングを有効にするユーザーに、DBFW_CONSOLE_ACCESS_QRY
アカウントのパスワードを提供します。
(オプション) ステップ5で作成したユーザー・アカウントを削除する場合には、dcam_remove_user
スクリプトを実行します。
1> :r dcam_remove_user.sql
(オプション) ステップ7で作成した表と通知を削除する場合には、dcam_drop
スクリプトを実行します。
1> :r dcam_drop.sql
Sybase ASEデータベース(Sybase SQL Anywhereデータベースはサポート対象外)にローカル・モニタリング・コンポーネントをインストールする手順は、次のとおりです。
Oracle Database Firewall製品のCD (Oracle Database Firewall Utilities 5.1
)から、スクリプトを実行するサーバーにdatabase
ディレクトリをコピーします。
このサーバーで、database/localmonitor
ディレクトリに移動し、sybase
圧縮ファイルをsybase
というディレクトリ(推奨)に解凍します。
sybase
ディレクトリに移動して解凍したファイルを確認し、これらのスクリプトのユーザーに付与される権限を理解します。
管理権限およびユーザーを作成する権限が付与されているユーザーとして、Sybase ASEデータベースに対してdcam_sa_setup
スクリプトを実行します。
isql -S server_name -U sa -i dcam_sa_setup.sql
このスクリプトでは、dbfw_console_access_qry
アカウントとデフォルトのパスワードが作成されます。
dbfw_console_access_qry
アカウントのパスワードを変更します。
isql -S server_name -U sa 1> sp_password "sa password", new password, dbfw_console_access_qry 2> go
dbfw_console_access_qry
アカウント名を小文字で入力します。このアカウント名は、大文字と小文字が区別されます。
Sybase ASEデータベースに対して次のスクリプトを実行します。
isql -S server_name -U dbfw_console_access_qry -i dcam_setup.sql isql -S server_name -U sa -i dcam_sa_setup_global_trigger.sql
このスクリプトでは、モニタリング・システムで使用する表とグローバル・トリガーが作成され、表に対するアクセス権がdbfw_console_access_qry
アカウントに付与されます。
管理コンソールからローカル・モニタリングを有効にするユーザーに、手順5で作成したdbfw_console_access_qry
アカウントのパスワードを提供します。
Sybase ASEを再起動します。
(オプション) この手順で追加した権限と表を削除する場合には、dcam_drop
スクリプトを実行し、Sybase ASEを再起動します。
SQLデータベースのローカル・モニタリングを有効にする手順は、次のとおりです。
Management Server管理コンソールにログインします。
詳細は、「管理コンソールへのログイン」を参照してください。
「Monitoring」タブをクリックします。
該当する強制ポイントの「Settings」ボタンをクリックします。
「Monitoring Settings」ページで、「Activate Local Monitor」を選択します。
「Activate Local Monitor」領域が次のように展開されます。
次の設定を指定します。
「Database Address」、「Port」、「Database Name」: データベース名、データベース・マシンのIPアドレスまたは名前、およびポート番号を指定します。ドメイン・ネーム・サーバー(DNS)を使用している場合は、IPアドレスのかわりに、ホスト名を入力できます。
Password、Password Confirmation: 保護対象データベースでのソフトウェアのインストール時に指定されたDBFW_CONSOLE_ACCESS_QRY
アカウントのパスワード。
「Save」をクリックします。
ローカル・モニタリングをテストするには、データベース・サーバーで適切な問合せを実行し、Oracle Database Firewallでその問合せがログに記録されていることを確認します。
ローカル・モニタリングを無効にできます。ローカル・モニタリングを完全に削除する場合は、『Oracle Database Firewallインストレーション・ガイド』を参照してください。
ローカル・モニタリングを無効にする手順は、次のとおりです。
Management Server管理コンソールにログインします。
詳細は、「管理コンソールへのログイン」を参照してください。
「Monitoring」タブを選択します。
デフォルトでは、「Enforcement Points」ページが表示されます。表示されない場合は、ページの左側の「Enforcement Points」メニューで「List」ボタンをクリックします。
ローカル・モニタリングを無効にする強制ポイントを検索します。
「Settings」ボタンをクリックします。
「Monitoring Settings」ページが表示されます。
「Local Monitoring」領域で、「Activate Local Monitoring」チェック・ボックスの選択を解除します。
「Monitoring Settings」ページの下部までスクロールして、「Save」ボタンをクリックします。
UIでこの手順を完了してから、dcam_drop
スクリプトを実行する必要があります。データベース・タイプ別の例については、この章で該当するデータベースの項を参照してください。この手順を実行しない場合、データベースが最終的な領域不足になります。