参考URL:http://www.websec-room.com/2013/11/09/999
# yum -y install aide
AIDE の動作設定は、/etc/aide.conf で行いますが、ここではセキュリティー上の理由で公開しません。と言うのも、悪さをしようとする者は必ずAIDEのDBファイルを改竄しようとしますの で、この場所が非常に大事になります。また下記に示してあるのはテスト時の場所で、最後にテストが終了後、この位置ではなく別の場所にしております。
/etc/aide.confは参考URLを参照し、設定していってください。
監視対象から外すには、先頭に ! を付けます。取り敢えず走らせ、メールが着ますので、よく変更になるdirectoryやファイルを設定していけばいいと思います。
AIDEの持っているデータベースの初期化
# aide –init
ありゃりゃエラーが出るぞ、
/usr/sbin/prelink: /usr/sbin/mtr: at least one of file's dependencies has changed since prelinking
Error on exit of prelink child process
これはインストール後、時間が経ちyum の updateが走り、リンク済みのバイナリと新しいバイナリではハッシュ値が合わないので、prelinkがエラーを出している見たい
# /etc/cron.daily/prelink
でハッシュ値を更新する。再度
# aide –init
これは全てのファイルをスキャンしているので時間がかかる
AIDE, version 0.14
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
と表示されファイルが出来たので、出来たファイルを登録
# cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
改ざんのチェックをするために、ファイルを作成
# echo “TEST” >> dummy.txt
aideでチェックを実行
# aide –check
AIDE found differences between database and filesystem!!
Start timestamp: 2014-05-06 10:19:07
Summary:
Total number of files: 180686
Added files: 1
Removed files: 0
Changed files: 77
---------------------------------------------------
Added files:
---------------------------------------------------
added: /root/dummy.txt
---------------------------------------------------
Changed files:
---------------------------------------------------
changed: /usr/sbin changed:
/usr/bin changed:
/usr/lib64 changed:
中略
--------------------------------------------------
Detailed information about changes:
---------------------------------------------------
Directory: /usr/sbin
Mtime : 2014-05-06 10:07:48 , 2014-05-06 10:07:57
Ctime : 2014-05-06 10:07:48 , 2014-05-06 10:07:57
Directory: /usr/bin
Mtime : 2014-05-06 10:07:49 , 2014-05-06 10:09:38
Ctime : 2014-05-06 10:07:49 , 2014-05-06 10:09:38
後略
ファイルが一つ増え(dummy.txtを足したから当たり前)、77のdirectoryの Mtime と Ctime に変更があった。
私は未熟なので何故directoryの時間が変更になったかは不明。
MtimeとCtimeはhttp://x68000.q-e-d.net/~68user/unix/pickup?%A5%BF%A5%A4%A5%E0%A5%B9%A5%BF%A5%F3%A5%D7
を参照、でも後で調べて見よう。
【2015-07-07追記】この理由が分かりました。prelinkingのせいだそうです。なので
# gedit /etc/sysconfig/prelink
# Set this to no to disable prelinking altogether
# (if you change this from yes to no prelink -ua
# will be run next night to undo prelinking)
PRELINKING=no ← ここをnoに変更
定期実行するスクリプトの作成
# gedit /etc/cron.daily/aide
#!/bin/bash
MAILTO=root
LOGFILE=/var/log/aide/aide.log
AIDEDIR=/var/lib/aide
/usr/sbin/aide -u > $LOGFILE
cp $AIDEDIR/aide.db.new.gz $AIDEDIR/aide.db.gz
x=$(grep "Looks okay" $LOGFILE | wc -l)
if [ $x -eq 1 ]; then
echo "All Systems Look OK" | /bin/mail -s "AIDE OK" $MAILTO
else
echo "$(egrep "added|changed|removed" $LOGFILE)" | /bin/mail -s "AIDE DETECTED CHANGES" $MAILTO
fi
/etc/cron.daily/prelink ←2015-07-07追記:prelinking をignoreしたので追記
exit
私は root へのメールは /etc/aliases に設定があり、そこに設定したメアドにメールが来る
スクリプトに実行権限をつける
# chmod +x /etc/cron.daily/aide
スクリプトを試してみる
# /etc/cron.daily/aide
設定したメアドのメールが着ているかチェックする。
あと、アップデートがあった時は
# aide –init
でデーターベースをアップデートしておくこと。