久しぶりにLinuxのお仕事で監査ログの収集。
いくつかのツールは試したが、ターゲットがRH7のサーバーであるのでデフォルト利用できるauditを利用して監査を行い、そのログを集計サーバーに送信するというシェル芸で行くことに。

auditに特定のディレクトリに対する操作の監査を行うルールを作成し、1日1回、cronでausearchを実行し監査ログをフィルタ、ログを解析し特定のフォーマットに変換、集計サーバーにSFTPで送信って感じな簡単な内容。

実装~単体テストが終わって、cronに仕込んで1週間ほど様子見と気軽にしていたんだが、何故かcronから実行すると、ausearchで監査ログをフィルタした結果が0件となってしまう。

ausearchには、日付も指定しているので…
「これは、cron実行時にLC_TIMEがうまいことセットされないんでは?」と勝手な妄想にハマり込み、今度こそと数日間ごにょごにょ(汗)

色々やっても全然うまくいかず、man ausearch(英語)を隅から隅まで読んでみたら…cron実行時は、--input-logsオプション付けろとか(汗)

ausearch --start yesterday --end today -m SYSCALL --input-logs

あっさり...まずは、manを読めってことですね(爆)