HPUXシステムで監査を設定し、それをSIEMソリューションに複数行ログに送信するのに問題があります。問題は、audsysがログをバイナリファイルに書き込み、audispがそれをテキストファイルに変換して定期的にsyslogサーバーに送信するように設定する必要があることです。
ベストアンサー1
/etc/rc.config.d/auditing ファイルを次のように設定しました。
AUDITING=1
PRI_AUDFILE=/var/.audit/audfile1
PRI_SWITCH=10000
SEC_AUDFILE=/var/.audit/audfile2
SEC_SWITCH=10000
AUDEVENT_ARGS1=" -P -F -r Remotesyslog"
AUDEVENT_ARGS2=""
AUDEVENT_ARGS3=""
AUDEVENT_ARGS4=""
AUDOMON_ARGS=" -p 20 -t 1 -w 90"
その後、/etc/audit/audit_site.confにカスタム設定ファイルを作成しました。
#Custom Auditing File
# Audit self auditing admin commands, logins and execve calls
PROFILE Remotesyslog= SELFAUD_EVENT admin, EVENT login, execve, execv
/var/.audit に以下を生成しました。
1) A folder "remotelogs"
2) A script "remotelogs.sh"
スクリプトファイルの内容は次のとおりです。
NOW=$(/usr/bin/date +"%Y%m%d%H%M")
if /usr/bin/audsys | grep -q audfile1; then
/usr/bin/audsys -c /var/.audit/audfile2 -s 100000
/usr/bin/audisp /var/.audit/audfile1 > /var/.audit/remotelogs/remotelogs.log.${NOW}
sleep 5
/usr/contrib/bin/gzip /var/.audit/remotelogs/remotelogs.log.${NOW}
rm -r /var/.audit/audfile1
else
/usr/bin/audsys -c /var/.audit/audfile1 -s 100000
/usr/bin/audisp /var/.audit/audfile2 > /var/.audit/remotelogs/remotelogs.log.${NOW}
sleep 5
/usr/contrib/bin/gzip /var/.audit/remotelogs/remotelogs.log.${NOW}
rm -r /var/.audit/audfile2
fi
デフォルトでは、このスクリプトが実行する作業は、現在の監査証跡が何であるかを確認してから、次の監査証跡に切り替えて、現在の監査証跡の内容をテキストファイルにダンプし、タイムスタンプを追加することです。内容をダンプする時間を許可するために5秒待ってからテキストファイルを圧縮し、現在の監査証跡の内容を削除します。
定期的に(3分ごとに)実行するために、次のようにcrontabでcronjobをスケジュールしました。
3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,59 * * * * /var/.audit/remotelogs.sh
また、以下のように3日を過ぎたログを削除するために別のcronjobを追加しました。
00 00 * * * find /var/.audit/remotelogs/* -mtime +3 | xargs rm