今回はファイルの改ざんを検知するAIDEをインストールする。
インストール
いつも通りyumでインストール。
yum install aide
初期化
AIDEは現状のファイルの状態を記録しDB化しておき、検査をするときに記録しておいたものと現在のファイルを比較して、更新されているかどうかを確認するシステム。
というわけでまず最初にDBの作成とか行う初期化を実行する必要がある。
- 初期化
aide --init
-
コマンドが完了するとaide.db.new.gzというのが出来ているので、比較元としてaide.db.gzという名称に変更する。
mv -f /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
設定
/etc/aide.confで検査対象や除外の設定が出来る。
大体いいように設定はされているはず。
vi /etc/aide.conf
ファイル内
!/usr/log #追記
!/tmp #追記
!/proc #追記
実行
下記コマンドで実行可能。
aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 年-月-日 時:分:秒
Summary:
Total number of files: 76523
Added files: 3
Removed files: 0
Changed files: 3
定期実行
定期的に検査を行えるよう、cronに登録を行っておく。
- スクリプト作成
/etc/cron.dailiyフォルダ内にaideという名前でスクリプトを作成する。vi /etc/cron.daily/aide
#!/bin/bash MAIL_TO=root MAIL_SUBJECT="`hostname -s` `date +%Y%m%d_%H-%M-%S` AIDE" LOG_FILE=/var/log/aide/aide.log AIDE_DIR=/var/lib/aide /usr/sbin/aide --update 2>&1 > $LOG_FILE cp $AIDE_DIR/aide.db.new.gz $AIDE_DIR/aide.db.gz x=$(grep "Looks okay" $LOG_FILE | wc -l) if [ $x -eq 1 ] then echo "$MAIL_SUBJECT OK" | mail -s "$MAIL_SUBJECT OK" $MAIL_TO else echo "$(egrep "added|changed|removed" $LOG_FILE)" | mail -s "$MAIL_SUBJECT NG" $MAIL_TO fi exit
-
パーミッション変更
chmod 744 /etc/cron.daily/aide
ログローテーション
お好みでログローテーションを修正する。
vi /etc/logrotate.d/aide
/var/log/aide/*.log {
daily
notifempty
missingok
rotate 30
compress
delaycompress
create 640 root root
}
終わり
次はアンチウィルステスト(clamAV)の予定。