CentOS
Vagarant
AIDE

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

AIDE(Advanced Intrusion Detection Environment) って

仕事が忙しくないので趣味を兼ねた、いまさらシリーズw。
オープンソースの AIDE(Advanced Intrusion Detection Environment)は、いわゆるホスト型(サーバにインストールする系)の監視ツールで、主に「ファイルとディレクトリが改ざんされたか」どうかを判定(整合性チェック)する監視ツールです。

監視するといっても常駐型でなくバッチ型なので、リアルタイムにファイルが改ざんされたことを検知することができないのでcronで定期的に実施し結果をメールで受け取るなどして(今時だとSlackに通知かな)サーバの状態を把握するということになりますね。

インストール

めっちゃ簡単ですw。

$ sudo yum install aide

検知対象ディレクトリと非検知ディレクトリの指定

/etc/aide.conf に検知ルールが記述されているので、とりあえず下記のディレクトリは検知して欲しくないので追加します。※ ! でディレクトを指定すると非対象にになります。

/etc/aide.conf
!/tmp
!/proc

AIDEデータベースファイルの作成

まず初期化、これ大切あるね。

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

AIDEデータベースファイルのコピー

AIDEの仕組み上、前回のファイル整合性チェック結果今回のファイル整合性チェック結果 を比較するため上記で初期化実施した結果ファイルをコピーしておきます。

こんな定義になっているので。

/etc/aide.conf
@@define DBDIR /var/lib/aide
database=file:@@{DBDIR}/aide.db.gz
database_out=file:@@{DBDIR}/aide.db.new.gz

コピーしないと怒られるですよww

bash
$ sudo aide -C
Couldn't open file /var/lib/aide/aide.db.gz for reading

そんな訳で初期化で作成されたAIDEデータベースファイルをコピーします。

bash
$ sudo mv -f /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

とりあえずチェックしてみる

コマンドを実行してみる。結果は、/var/log/aide/aide.log ファイルに出力されるので実行が終わったらみてみるとよい。

bash
$ sudo aide -C

AIDEを実行しかつAIDEデータベースファイルも更新するとかシェル

まあ普通作りますよねシェル。そしてcronで定期的に実行しますよね。
私の使用しているメールサーバのルールでは、英字だけのsubjectだと弾かれてしまうので漢字にしています。

aide.sh
#!/bin/bash

OK_MAIL="AIDEファイル改ざんチェックOK"
NG_MAIL="AIDEファイル改ざんチェックNG問題あり"

MAILTO=vagrant
LOGFILE=/var/log/aide/aide.log
AIDEDIR=/var/lib/aide
/usr/sbin/aide -u > $LOGFILE
/usr/bin/cp $AIDEDIR/aide.db.new.gz $AIDEDIR/aide.db.gz
x=$(/usr/bin/grep "Looks okay" $LOGFILE | /usr/bin/wc -l)

if [ $x -eq 1 ]
then
  echo "OK" | /usr/bin/iconv -f utf-8 -t iso-2022-jp | /bin/mail -s `echo $OK_MAIL | /usr/bin/nkf -j | /usr/bin/nkf -M` $MAILTO
else
  /usr/bin/cat $LOGFILE | /usr/bin/nkf -j | /bin/mail -s `echo $NG_MAIL | /usr/bin/nkf -j | /usr/bin/nkf -M` $MAILTO
fi

使った感想

こんな施策しても凄腕のハッカーにしたら「へっ」ってなもんですが、まあやらないよりはマシって感じですかね。あと改ざんではないけど不用意にファイルを変更しまった場合、このAIDEで監視できるのでそういう点ではいいかもしれない。

参考にさせて頂いたサイト様

CentOS にファイル改ざん検知システムを導入する【AIDE】
オープンソースの IDS である AIDE を CentOS にインストールする
ファイル改ざん検知システム(AIDE)を構築してみる