- 印刷する
Db2の前提条件
- 印刷する
Db2には、以下の前提条件があります。
※ID管理が〇になっている項目は、ID管理の機能の前提条件になります。ログが〇になっている項目は、アクセスログ管理のログ自動収集機能、または、ログ自動収集機能で収集したアクセスログ(ログインログ・ログアウトログ・suログ・ログイン失敗ログ)で出力するレポートの前提条件になります。
No | 条件 | 対象機能 | |
ID | ログ | ||
1 | Db2が動作しているOS がターゲットとして登録されている事。 | 〇 | 〇 |
2 | Db2の監査ログには以下の情報が含まれている事。
| - | 〇 |
3 | Db2の監査ログを収集する場合は、Db2が動作するOS上に、事前に監査ログがファイル出力されている事。 | - | 〇 |
4 | Windows Server上のDb2の監査ログを収集する場合は、監査ログファイルを共有フォルダに配置する必要があります。 | - | 〇 |
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 監査設定: |
下記の内容が反映されていることを確認します。
5.下記コマンドを実行し、監査ログの記録を開始します。
コマンド例
コマンド>db2audit start |
出力例
結果出力>AUD0000I 操作が成功しました |
監査ポリシーの設定
監査対象となるデータベースに監査ポリシーを設定します。
監査対象とするデータベースが複数存在する場合、すべてのデータベースで実施する必要があります。
1.下記コマンドを実行し、監査対象のデータベースに接続します。
コマンド形式
db2 connect to <データベース名> |
コマンド例
コマンド>db2 connect to 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 |
4.下記コマンドを実行し、監査ポリシーをデータベースにマッピングします。
コマンド例
コマンド>db2 "AUDIT DATABASE USING POLICY VALIDATE_LOG" |
出力例
結果出力>DB20000I SQL コマンドが正常に完了しました。 |
5.下記コマンドを実行し、監査ポリシーがマッピングされていることを確認します。
コマンド例
コマンド>db2 "SELECT * FROM SYSCAT.AUDITUSE" |
出力例
結果出力>AUDITPOLICYNAME AUDITPOLICYID OBJECTTYPE SUBOBJECTTYPE OBJECTSCHEMA OBJECTNAME AUDITEXCEPTIONENABLED |
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メッ アーカイブ済みまたは |
※出力例の「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 操作が成功しました。 |