UNIX・Linux系Oracleデータベースの前提条件

    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データベース監査ログのsyslog設定
    ログローテートの設定

    ※「統合監査モード」を利用している場合は上記手順を実施してもOracleデータベース監査ログがテキストに出力されない事があります。
    「統合監査モード」でsyslogを使用してOracleデータベースが動作しているOS上にOracleデータベース監査ログをテキストで出力する方法については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
    Database closed.
    Database dismounted.
    ORACLE instance shut down.

    SQL> STARTUP
    ORACLE instance started.

    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世代のファイルは、圧縮しない事。