Saba note

醜悪コード Ugly hacks ITものづくり

CentOS7にファイル改ざん検知を行う

AIDEをインストールする

yum install -y aide

設定

設定ファイル確認

vi /etc/aide.conf

## 改ざん検知の対象から外すもの
!/tmp
!/proc

aideのスキャニング自体は典型的なLinuxサーバーでは(サイズによりますが)10分から60分ぐらいはかかりました。少なくともサーバー立ち上げ時でも10分弱かかりました。なので、テスト中は殆どのディレクトリを対象外にして開発した方がよいです。
また修正した後はこの後の初期化コマンド(aide –init)でDB作成をしないとダメです。

初期化(というかDBの生成)

ものすごい時間がかかるので、topコマンドで見守る。

aide --init
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

DBの移動

mv -f /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

ここまでで基本的な設定は完了。

改ざん検知実行

aide -C

これもめちゃくちゃ時間かかるのでtopコマンドで見守ります。問題がなければ、

AIDE, version 0.15.1
### All files match AIDE database. Looks okay!

という風に改ざんがなかったことを報告してくれます。

ログローテート

これをうまいこと設定してあげないとダメ。

# /etc/logrotate.d/aide
/var/log/aide/*.log {
        daily
        missingok
        rotate 7
        compress
        delaycompress
}

実際のログはここ。

/var/log/aide/aide.log

cronバッチ

#!/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
exit

こういうのを作ってcronで実行しておく。

/usr/bin/bash /root/batch/aide.sh

返り値

aideの返り値は改ざん(修正・更新など)がなかったら0が返ってきます。改ざんがあった場合は0以外が返ってきます。


いまさら CentOS7.3 に AIDE(ファイル改ざん検知ツール)を入れてみる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です