以前紹介した記事「AIDEでファイルの改竄検知(CentOS6)」にてファイルの改竄検知ができるようになりました。
そこで今回、改竄検知の情報を下記のようなFluentdのログとして出力されるよう試みてみました。

2013-02-09T22:41:46+09:00       parsed.syslog   {"total":"384","added":"2","removed":"2","changed":"3"}
2013-02-09T22:42:41+09:00 parsed.syslog {"total":"384","added":"2","removed":"2","changed":"3"}

○AIDEの出力の確認

実行すると次のように、確認したファイル数、追加されたファイル数、削除されたファイル数、
変更されたファイル数が出力されます。

# aide --update
...
Summary:
Total number of files: 384
Added files: 2
Removed files: 2
Changed files: 3
...

○AIDEの出力をSyslogにも出力

下記のように設定することでSyslogにも出力できます。

# cat /etc/aide.conf
...
report_url=syslog:LOG_AUTH
...

上記に該当する出力は、Syslog内では下記のように出力されます。

# cat /var/log/messages
...
Feb 9 21:23:43 ip-10-148-5-42 aide: #012Summary:#012 Total number of files:#011384#012 Added files:#011#011#0112#012 Removed files:#011#0112#012 Changed files:#011#0113#012
...

○Fluentdでまとめる

上記のログを、下記のようにまとめます。

2013-02-09T22:41:46+09:00       parsed.syslog   {"total":"384","added":"2","removed":"2","changed":"3"}
2013-02-09T22:42:41+09:00 parsed.syslog {"total":"384","added":"2","removed":"2","changed":"3"}

今回はログのParseが必要なため、fluent-plugin-parserをインストールして利用しました。

# /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-parser

最終的な設定ファイルは下記のようにしています。


type tail
format syslog
path /opt/suz-lab/var/log/syslog/all.log
pos_file /opt/suz-lab/var/lib/td-agent/pos/tail.syslog.pos
tag tail.syslog


type copy

type file
path /tmp/tail.syslog


type parser
key_name message
format /011(?[^ ]*).012.+011(?[^ ]*).012.+011(?[^ ]*).012.+011(?[^ ]*).012/
tag parsed.syslog



type file
path /tmp/parsed.syslog

○ログの確認

以上のような設定をすることで、前述のようなログが出力されます。

2013-02-09T22:41:46+09:00       parsed.syslog   {"total":"384","added":"2","removed":"2","changed":"3"}
2013-02-09T22:42:41+09:00 parsed.syslog {"total":"384","added":"2","removed":"2","changed":"3"}

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら