5.4.5 UNIXシステムログの変換設定をする
監査ログ収集対象サーバで出力されたUNIXシステムログを監査ログとして収集したい場合,UNIXシステムログを変換するのに必要な設定をします。
この作業は,UNIXシステムログをJP1/Audit Management - Managerの監査ログとして収集しない場合は不要です。
- 〈この項の構成〉
(1) 情報を出力するためのシステムログファイルを作成する
UNIXシステムログを収集するには,ログイン,ログアウト,またはユーザ権限変更などの収集対象を格納するためのシステムログファイルが必要です。収集対象を格納するシステムログファイルが存在するかどうかを確認し,存在しない場合はログファイルを作成してください。なお,ユーザ権限変更を格納するためのシステムログファイルが存在する場合は,必要に応じて,ファイルをバックアップ後,ファイルを再作成してください。
システムログファイルの作成方法の詳細については,各OSのマニュアルを参照してください。
OSが出力する収集情報およびシステムログのファイル名を次の表に示します。
項番 |
収集情報 |
ファイル名 |
---|---|---|
1 |
ログイン,ログアウト |
|
2 |
ログイン失敗 |
|
3 |
ユーザ権限の変更※ |
|
(2) UNIXのログファイルの変換コマンドをcronデーモンへ登録する
UNIXシステムログを定期的にデータ変換したり収集したりするために,UNIXのログファイルの変換コマンドをcronデーモンへ登録します。crontabへの登録は,rootユーザで実施してください。
なお,UNIXのログファイルの変換コマンドを実行する周期は,監査ログ管理サーバで監査ログを収集する周期を考慮し,設定してください。
- cronデーモンへの登録例
-
ログイン,ログアウト情報を毎日20時に変換したい場合の登録例を次に示します。
0 20 * * * /opt/jp1netmaudit/agent/bin /admuxlogcol -t login
- 注
-
JP1/NETM/Audit - Manager 09-00より前のバージョンから上書きインストールした場合,admuxlogcolコマンドのインストール先ディレクトリは「/opt/jp1netmaudit/manager/bin」になります。
cronデーモンへの登録の詳細は,各OSのマニュアルを参照してください。
(3) UNIXシステムログを収集する場合の注意事項
UNIXシステムログを監査ログとして収集する場合の注意事項を次に示します。
-
sulogを収集する場合,ユーザ名に「-」が含まれていると,情報が正しく収集できません。
-
sulogを収集する場合,OSが出力するログには年の情報は出力されません。UNIXシステムログの変換コマンドでは,次の方法で年の情報を追加して出力します。
- 「ログ中の月<=UNIXシステムログの変換を実施した月」の場合
-
「変換を実施した時点の年」の情報を追加。
- 「ログ中の月>UNIXシステムログの変換を実施した月」の場合
-
「変換を実施した時点の年 - 1」の情報を追加。
例えば,ログ中の月が11月で,2007年10月にUNIXログ変換を実施した場合,2006年11月として情報が追加されます。なお,ファイルに1年以上のデータが蓄積されていた場合,年が正しく設定されないことがあります。
-
使用しているOSによって,JP1/Audit Management - Managerが収集対象としているファイルが単調増加ファイルになっている場合があります。定期的にファイルサイズを確認し,ファイルのバックアップおよび再作成を実施してください。なお,ファイルのバックアップおよび再作成を実施する場合は,バックアップ前に一度,UNIXシステムログの変換コマンドを実行し,ログ情報を変換してください。
-
使用しているOSによっては,システムの起動時またはランレベルの変更時に動作するシェルスクリプトで,JP1/Audit Management - Managerが収集対象としているファイルのバックアップを実行していることがあります。この場合,システムを再起動したり,ランレベルを変更したりすると,情報が収集されないことがあります。UNIXシステムログの変換コマンドを実行するシェルスクリプトを作成し,バックアップのシェルスクリプトが実行される前に動作するようシステムへ登録してください。
シェルスクリプトの記載例(sulogを変換する場合)
シェルスクリプトの記載例を次に示します。
#!/sbin/sh # ADMUXLOGCOL=/opt/jp1netmaudit/agent/bin/admuxlogcol export ADMUXLOGCOL case $1 in 'start') if [ -x ${ADMUXLOGCOL} ]; then ${ADMUXLOGCOL} -t su if [ $? -ne 0 ]; then echo "ERROR CODE $?" fi fi ;; *) echo "usage: $0 {start}" ;; esac exit 0