- 印刷する
UNIX・Linux系Oracleデータベースの前提条件
- 印刷する
UNIX・Linux系OSで動作するOracleデータベースには、以下の前提条件があります。
※ID管理が〇になっている項目は、ID管理の機能の前提条件になります。ログが〇になっている項目は、アクセスログ管理のログ自動収集機能、または、ログ自動収集機能で収集したアクセスログ(ログインログ・ログアウトログ・suログ・ログイン失敗ログ)で出力するレポートの前提条件になります。
No | 条件 | 対象機能 | |
ID | ログ | ||
1 | Oracleデータベースが動作しているOSが、UNIX・Linux系サーバの前提条件『UNIX・Linix系ターゲットの前提条件』のログ収集の条件を満たしている事。 | - | 〇 |
2 | Oracleデータベース監査ログを収集する場合は、syslogを使用してOracleデータベースが動作しているOS上にテキストで出力されている事。 ※「統合監査モード」を利用している場合は上記手順を実施してもOracleデータベース監査ログがテキストに出力されない事があります。 | - | 〇 |
Oracleデータベース監査ログの出力設定
Oracleデータベース監査ログをsyslogに出力するために、AUDIT_TRAILの出力先を「OS」に設定する必要があります。また、データベースへのログイン・ログアウトについて、監査ログを出力する設定が必要です。
設定は、インスタンスごとに必要です。
1.SYSDBA権限でOracleデータベースに接続します。
以下のコマンドを実行してください。
# SQLPLUS sys/[sysのパスワード]@[インスタンス名] AS SYSDBA |
2.監査設定を変更します。
以下のコマンドを実行してください。
SQL> ALTER SYSTEM SET AUDIT_TRAIL='OS' SCOPE=SPFILE; |
3.新しいセッションについて監査設定を有効にします。
以下のコマンドを実行してください。
SQL> 監査作成セッション。 |
※マルチテナント環境の場合、プラガブルデータベースへも実施してください。
4.syslogの出力先を変更するコマンドを実行してください。
SQL> ALTER SYSTEM SET AUDIT_SYSLOG_LEVEL='[facility].[priority]' SCOPE=SPFILE; |
※[facility]と[priority]はサーバ運用ポリシーに合わせて適切なものを設定してください。
実行例:
SQL> ALTER SYSTEM SET AUDIT_SYSLOG_LEVEL='LOCAL1.INFO' SCOPE=SPFILE; |
5.インスタンスの再起動をします。インスタンスの再起動時には Oracleデータベースのサービスが一時停止します。
以下にシングル構成での再起動のコマンド実行内容を示します。
※RAC環境の場合の再起動手順についてはOracle社に問い合わせてください。
SQL> SHUTDOWN IMMEDIATE SQL> STARTUP |
6.SQLPLUSを終了します。
SQL> QUIT |
以上で、Oracleデータベース監査ログの出力設定は完了です。
続いて、出力したOracleデータベース監査ログのsyslog設定を行います。
Oracleデータベース監査ログのsyslog設定
Oracleデータベース監査ログをsyslogに出力するための設定方法について説明します。
『Oracleデータベース監査ログの出力設定』の手順4で設定した[facility]と[priority]の内容をsyslog設定に反映します。以下にRed Hat Enterprise Linux 7 標準のrsyslogdを例に説明します。
1.Oracleデータベース監査ログをOracleデータベースがインストールされているサーバのsyslogへ出力する設定をします。
viなどのテキストファイル編集ツールで/etc/rsyslog.confを開き、以下の内容を設定してください。
/etc/rsyslog.confへ設定する内容
[facility].[priority] <ログの出力先パス> |
※[facility]と[priority]は『Oracleデータベース監査ログの出力設定』で設定したものを入力してください。
※<ログの出力先パス>はサーバ運用ポリシーに合わせて適切なものを設定してください。
※<ログの出力先パス>のパスの最大文字数は80文字です。
ローテートファイルパスも最大文字数は80文字です。余裕を持って設定してください。
※<ログの出力先パス>はファイルが存在している必要があります。存在しない場合は、touchコマンドでファイルを作成してください。
※設定値の区切り文字は1つ以上の空白かタブです。空白を使用してsyslog出力が正常に行われない場合はタブを使用してください。
記入例:
LOCAL1.INFO /var/log/oracle_audit |
2.<ログの出力先パス>にファイルが存在しない場合は、以下のコマンドを実行しファイルを作成してください。
実行コマンド
# touch <ログの出力先パス> |
実行例:
# touch /var/log/oracle_audit |
3.以下のコマンドを実行し、rsyslogdに設定を反映させてください。
実行コマンド
# systemctl restart rsyslog |
以上で、Oracleデータベース監査ログのsyslog設定は完了です。
ログローテートの設定
ログローテートを設定する際は、以下の設定にしてください。
No | 条件 |
1 | 一年に二度以上、ログローテートを実施する事。半年に一回以上実施する事。 |
2 | ログローテートしたファイルを最低1世代格納する事。 |
3 | ログローテートしたファイルは、同一のフォルダに格納する事。 |
4 | ログローテートした第1世代のファイルは、圧縮しない事。 |