Oracleサーバーの追加
Oracleサーバーの追加手順
- [設定]タブ → [ログソースの構成] → [データベース監査]に移動します。
- [Oracle]タブに移動します。
- [+Oracleサーバーを追加]をクリックします。
- [+]アイコンをクリックしてリストを展開し、デバイスを選択します。または、デバイスを手動で追加します。
- 選択したデバイスタイプに基づいて、[プラットフォーム]をWindowsまたはUnixから選択します。デバイスを手動で設定した場合、プラットフォームは自動的に更新されます。
- [追加]をクリックします。
Oracleサーバーの設定
WindowsプラットフォームにインストールされたOracleサーバーの場合
- sqlplusコマンドを使用して、SQL *Plusに接続します。
- 以下のコマンドを実行して、AUDIT_TRAILがOSに設定されているかどうかを確認します。
Show parameter AUDIT_TRAIL;
- 以下のコマンドを実行して、監査パラメーターを変更します。
ALTER SYSTEM SET AUDIT_TRAIL=OS SCOPE=SPFILE;
- Oracleサーバーを再起動して、変更を有効にします。
- AUDIT_TRAILを無効化する場合は、以下のコマンドを実行します。
ALTER SYSTEM SET audit_trail = NONE SCOPE=SPFILE ;
UnixプラットフォームにインストールされたOracleサーバーの場合
- 以下のコマンドを実行して、AUDIT_TRAILがOSに設定されているかどうかを確認します。
Show parameter AUDIT_TRAIL;
- 以下のコマンドを実行して、監査パラメーターを変更します。
ALTER SYSTEM SET AUDIT_TRAIL=OS SCOPE=SPFILE;
Oracle Syslog監査を有効にする場合は、以下の手順を実施します。
- 初期化パラメータファイル「initsid.ora」にAUDIT_SYSLOG_LEVELパラメータを手動で追加して設定します。
- AUDIT_SYSLOG_LEVELパラメーターは、FacilityとPriorityを「AUDIT_SYSLOG_LEVEL=facility.priority」の形式で指定します。
- Facility:メッセージを記録しているオペレーティングシステムの部分を説明します。値は、user、local0-local7、syslog、daemon、kern、mail、auth、lpr、news、uucp、cronです。
- Local0-local7の値は、Syslogメッセージをカテゴリ別にソートできる事前定義タグです。これらのカテゴリは、Syslogユーティリティがアクセスできるログファイルまたはその他の宛先にすることができます。これらのタグの種類の詳細は、SyslogユーティリティのMANページをご参照ください。
- Priority:メッセージの重大度を定義します。値は、notice、info、debug、warning、err、crit、alert、emergです。
- Syslogデーモンは、AUDIT_SYSLOG_LEVELパラメータのFacility引数に割り当てられた値とsyslog.confファイルを比較して、情報を記録する場所を決定します。
例えば、以下のステートメントは、Facilityの値が「local1」、Priorityの値が「warning」として識別されます。AUDIT_SYSLOG_LEVEL=local1.warning
- AUDIT_SYSLOG_LEVELの詳細は、「Oracle Database Reference」をご参照ください。
- Syslog設定ファイル「/etc/syslog.conf」が保存されているマシンに、スーパーユーザー(root)権限でログインします。
- 監査ファイルの宛先をSyslog設定ファイル「/etc/syslog.conf」に追加します。
例えば、AUDIT_SYSLOG_LEVELをlocal1.warningに設定した場合は、以下のように入力します。local1.warning /var/log/audit.log
これにより、すべての警告メッセージが「/var/log/audit.log」ファイルに記録されます。 - Syslogロガーを再起動します。
$/etc/rc.d/init.d/syslog restart
これにより、すべての監査レコードがSyslogデーモンを通して「/var/log/audit.log」ファイルに記録されます。 - Oracleサーバーを再起動して、変更を有効にします。
注記:SYSDBA/SYSOPERとしてログインすると、Oracleデータベースはデータベースアクティビティの監視に関する情報を制限して提供します。したがって、Oracleデータベースの完全な監査証跡アクティビティを取得するには、SYSDBA/SYSOPER以外の権限を持つユーザーとしてログインすることを推奨します。
監査ステートメント
DDL
データベース内の選択したユーザーのDDLアクティビティを監査できます。
- すべての権限のユーザーの監査を有効にするには、以下のコマンドを実行します。
AUDIT ALL PRIVILEGES by user_name;
(または)
AUDIT CREATE TABLE by user_name; - 特定の権限の監査を有効にするには、必要な監査オプションを以下のコマンドの「CREATE TABLE」の近くに追加して実行します。
AUDIT CREATE TABLE by user_name;
- Oracleサーバーを再起動して、変更を有効にします。
注記:任意のユーザーに対して有効になっている監査オプションを確認するには、以下のコマンドを実行します。
SELECT user_name, audit_option, success, failure FROM DBA_STMT_AUDIT_OPTS;
DML
DML監査では、特定のオブジェクトに対する特定のステートメントを監査できます。DML監査は、常にデータベースのすべてのユーザーに適用されます。
- DML監査を有効にするには、以下のコマンドを実行します。
AUDIT SELECT, INSERT, UPDATE, DELETE on table_name
必要な監査オプションを追加することも可能です。 - 以下のコマンドで、将来作成される可能性のあるオブジェクトのデフォルトの監査オプションを指定できます。
AUDIT SELECT, INSERT, UPDATE, DELETE on DEFAULT;
- Oracleサーバーを再起動して、変更を有効にします。
- 監査オプションを無効にするには、同じコマンドでAUDITの代わりにNOAUDITを使用します。
監査オプションの詳細は、こちらのページをご参照ください。
注記:任意のオブジェクトに対して有効になっている監査オプションを確認するには、以下のコマンドを実行します。
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, INS, UPD, DEL FROM DBA_OBJ_AUDIT_OPTS;