Db2の前提条件

    Db2の前提条件


    記事の要約

    Db2には、以下の前提条件があります。

    ※ID管理が〇になっている項目は、ID管理の機能の前提条件になります。ログが〇になっている項目は、アクセスログ管理のログ自動収集機能、または、ログ自動収集機能で収集したアクセスログ(ログインログ・ログアウトログ・suログ・ログイン失敗ログ)で出力するレポートの前提条件になります。

    No

    条件

    対象機能

    ID

    ログ

    1

    Db2が動作しているOS がターゲットとして登録されている事。
    また、そのターゲットでID 管理、ログ収集のどちらかを実施している事。
    ※Db2のアカウントはOSターゲット側で管理します。

    2

    Db2の監査ログには以下の情報が含まれている事。

    • 監査レコードの区分にユーザー妥当性検査 (VALIDATE)が含まれている事

    -

    3

    Db2の監査ログを収集する場合は、Db2が動作するOS上に、事前に監査ログがファイル出力されている事。
    詳細は『Db2サーバ設定手順』-『監査ログの抽出データ出力手順』を参照してください。

    -

    4

    Windows Server上のDb2の監査ログを収集する場合は、監査ログファイルを共有フォルダに配置する必要があります。
    この共有フォルダにはリモートからのアクセス権として、Db2が動作するOSターゲットの、管理者アカウントに対してアクセス権(読み込み)を設定してください。

    -

    5

    Db2が搭載されているOSターゲットに、大文字、小文字違いのアカウントが存在する場合は、利用しないアカウントを削除し、大文字、小文字違いのアカウントを1つにする必要があります。


    Db2サーバ設定手順

    Db2ターゲットのログ収集に必要な設定について説明します。

    事前準備

    事前に下記のログ出力先ディレクトリを用意します。

    事前に準備するディレクトリ

    No

    ログ出力先ディレクトリ (*1)

    1

    アクティブな監査ログ出力先

    2

    アーカイブされた監査ログ出力先

    3

    監査ログの抽出データ出力先 (*2)

    (*1) 全て同一のディレクトリにすることも可能です。
    (*2) WindowsOSの場合、iDoperationサーバからファイルアクセス可能な共有フォルダに設定されている必要があります。

    ログ出力の設定手順

    アクセス情報を出力するための設定手順です。

    1.db2cmdプロンプトを起動します。

    Windows OSの場合、下記コマンドを実行し、db2cmdプロンプトを起動します。
    ※Unix/Linux系の場合、本手順は不要です。

    コマンド例

    コマンド> db2cmd

    2.下記コマンドを実行し、アクティブな監査ログの出力先およびアーカイブされた監査ログの出力先を設定します。

    コマンド形式

    db2audit configure datapath <『事前準備』で準備したNo1のパス> archivepath <『事前準備』で準備したNo2のパス>

    コマンド例

    コマンド>db2audit configure datapath C:\Db2_auditlog archivepath C:\Db2_auditarchive

    出力例

    結果出力>AUD0000I 操作が成功しました。

    3.下記コマンドを実行し、validate(ユーザーの認証時、SECURITY情報の検索時)の成功イベントをログ出力するように設定します。

    コマンド例

    コマンド>db2audit configure scope validate status success

    出力例

    結果出力>AUD0000I 操作が成功しました。

    4.下記コマンドを実行し、監査ログのパス設定を確認します。

    コマンド例

    コマンド>db2audit describe

    出力例

    結果出力>DB2 監査設定:
    結果出力>
    結果出力>監査がアクティブ: "FALSE "
    結果出力>監査イベントのログ: "FAILURE"
    結果出力>チェック・イベントのログ: "FAILURE"
    結果出力>オブジェクト保守イベントのログ: "FAILURE"
    結果出力>セキュリティー保守イベントのログ: "FAILURE"
    結果出力>システム管理者イベントのログ: "FAILURE"
    結果出力>妥当性検査イベントのログ: "FAILURE"
    結果出力>コンテキスト・イベントのログ: "NONE"
    結果出力>次の監査エラーで SQLCA を戻す: "FALSE "
    結果出力>監査データ・パス: <『事前準備』で準備したNo1のパス>
    結果出力>監査アーカイブ・パス: <『事前準備』で準備したNo2のパス>
    結果出力>
    結果出力>AUD0000I 操作が成功しました。

    下記の内容が反映されていることを確認します。

    • 「監査データ・パス: 」に<『事前準備』で準備したNo1のパス>のパスが設定されている
    • 「監査アーカイブ・パス: 」に<『事前準備』で準備したNo2のパス>のパスが設定されている

    5.下記コマンドを実行し、監査ログの記録を開始します。

    コマンド例

    コマンド>db2audit start

    出力例

    結果出力>AUD0000I 操作が成功しました

    監査ポリシーの設定

    監査対象となるデータベースに監査ポリシーを設定します。
    監査対象とするデータベースが複数存在する場合、すべてのデータベースで実施する必要があります。

    1.下記コマンドを実行し、監査対象のデータベースに接続します。

    コマンド形式

    db2 connect to <データベース名>

    コマンド例

    コマンド>db2 connect to Db2database

    出力例

    結果出力> データベース接続情報
    結果出力>
    結果出力> データベース・サーバー = DB2/NT64 10.5.8
    結果出力> SQL 許可 ID = Db2user
    結果出力> ローカル・データベース別名 = Db2database

    2.下記コマンドを実行し、監査ポリシーを作成します。

    コマンド例

    コマンド>db2 "CREATE AUDIT POLICY VALIDATE_LOG CATEGORIES VALIDATE STATUS SUCCESS ERROR TYPE AUDIT"

    出力例

    結果出力>DB20000I SQL コマンドが正常に完了しました。

    3.下記コマンドを実行し、監査ポリシーが登録されていることを確認します。

    コマンド例

    コマンド>db2 "SELECT * FROM SYSCAT.AUDITPOLICIES"

    出力例

    結果出力>AUDITPOLICYNAME AUDITPOLICYID CREATE_TIME ALTER_TIME AUDITSTATUS CONTEXTSTATUS VALIDATESTATUS CHECKINGSTATUS SECMAINTSTATUS OBJMAINTSATUS SYSADMINSTATUS EXECUTESTATUS EXECUTEWITHDATA ERRORTYPE REMARKS
    結果出力>-------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------
    結果出力>VALIDATE_LOG 100 2019-08-15-16.43.42.636548 2020-01-31-14.50.35.281720 N N S N N N N N N A -
    結果出力>
    結果出力> 1 レコードが選択されました。

    4.下記コマンドを実行し、監査ポリシーをデータベースにマッピングします。

    コマンド例

    コマンド>db2 "AUDIT DATABASE USING POLICY VALIDATE_LOG"

    出力例

    結果出力>DB20000I SQL コマンドが正常に完了しました。

    5.下記コマンドを実行し、監査ポリシーがマッピングされていることを確認します。

    コマンド例

    コマンド>db2 "SELECT * FROM SYSCAT.AUDITUSE"

    出力例

    結果出力>AUDITPOLICYNAME AUDITPOLICYID OBJECTTYPE SUBOBJECTTYPE OBJECTSCHEMA OBJECTNAME AUDITEXCEPTIONENABLED
    結果出力>------------------------------------------------------------------------------------------------------------------------
    結果出力>VALIDATE_LOG 104 - CURRENT SERVER N
    結果出力>
    結果出力> 1 レコードが選択されました。

    6.下記コマンドを実行し、データベースとの接続を切断します。

    コマンド例

    コマンド>db2 connect reset

    出力例

    結果出力>DB20000I SQL コマンドが正常に完了しました。

    監査ログの抽出データ出力手順

    Db2のアクティブな監査ログはバイナリデータであるため、監査ログを収集するためには、アクティブな監査ログをアーカイブした後に必要なデータを抽出する必要があります。

    本手順はログ収集の前に、その都度実施が必要です。

    1.db2cmdプロンプトを起動します。

    Windows OSの場合、下記コマンドを実行し、db2cmdプロンプトを起動します。
    ※Unix/Linux系の場合、本手順は不要です。

    コマンド例

    コマンド>db2cmd

    2.下記コマンドを実行し、保留中の監査レコードを監査ログに書き出します。

    コマンド例

    コマンド>db2audit flush

    出力例

    結果出力>AUD0000I 操作が成功しました。

    3.下記コマンドを実行し、現在の監査ログを抽出用にアーカイブします。

    コマンド形式

    db2audit archive database <データベース名>

    コマンド例

    コマンド>db2audit archive database sample

    出力例

    結果出力>メンバー DB パーティ AUDメッ アーカイブ済みまたは
    結果出力>番号 ション番号 セージ 一時的なログ・ファイル
    結果出力>--------- -------------- ------------ ---------------------------------------------------
    結果出力> 0 0 AUD0000I db2audit.db.SAMPLE.log.0.20181023165457
    結果出力>
    結果出力>AUD0000I 操作が成功しました。

    ※出力例の「db2audit.db.SAMPLE.log.0.20181023165457」は実行の都度ユニークな名前が割り当てられます。

    4.下記コマンドを実行し、監査ログのアーカイブファイルから抽出データ(validate.del)を出力します。

    ※本コマンド実行時に<『事前準備』で準備したディレクトリNo3のパス>配下へ<validate.del>ファイルが出力されますが、既にファイルが存在する場合はファイル末尾へ新しいアクセス情報が追記されます。
    適宜<validate.del>ファイルをローテートすることを推奨します。

    コマンド形式

    db2audit extract delasc to <『事前準備』で準備したディレクトリNo3のパス> from files <手順3で出力したアーカイブ済みまたは一時的なログ・ファイルのパス>

    コマンド例

    db2audit extract delasc to C:\Db2_auditlog\extract from files db2audit.db.SAMPLE.log.0.20181023165457

    出力例

    結果出力>AUD0000I 操作が成功しました。


    What's Next