AIDEでファイルの改ざんチェック

優

セキュリティ

 

ファイル改ざん検知ツールを導入するTipsです。

改竄検知がシステム要件に入る場合があります。複数の検知ツールを組み合わせるとより効果的です。プラグイン等の脆弱性で変なファイルが混入されてしまった場合などすぐに異常を検知できます。

 

 

AIDEのインストール

 

# yum install aide

 

vi /etc/aide.conf

#追加設定 対象除去
!/var/log/.*~
!/dev
!/tmp
!/proc
!/sys

 

 

データファイル作成 ※初期インストール状態で 1~2分程度かかる

# aide -i

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

 

リネーム

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

 

改竄チェック

 

# touch aidetest.txt

 

改ざんチェック!

# aide -C


AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2017-09-26 15:55:16

Summary:
  Total number of files:        51192
  Added files:                  2
  Removed files:                0
  Changed files:                1


---------------------------------------------------
Added files:
---------------------------------------------------

added: /root/aidetest.txt
added: /var/log/lastlog

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /root/aidetest.txt

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------

 

 

aideに-uオプションをつけると、
ファイルの改ざんチェックとDBの更新を行ってくれます。

# aide -u

 

 

定期実行設定

 

メールコマンドをインストール

# yum install mailx

 

定期チェックスクリプト作成

# vi /root/aidechecker.sh

#!/bin/bash

MAILTO_1=hoge1@example.net
#MAILTO_2=hoge2@example.net

MAILFROM=AIDE@`hostname`
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_1 $MAILTO_2
else
  echo "$(egrep "added|changed|removed" $LOGFILE)" | /bin/mail -s "AIDE DETECTED CHANGES" -r $MAILFROM  $MAILTO_1 $MAILTO_2
fi
exit

 

正常時はメールさせないなど、細かな挙動についてはスクリプトをカスタマイズして下さいね!

 

 

権限の付与を行います。

# chmod +x /root/aidechecker.sh

 

Crontabの設定

# vi /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
#MAILTO=root
MAILTO=''

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

## 4時20分にAIDEにより改ざんチェックを行う
20 4 * * * root /root/aidechecker.sh > /dev/null 2>&1

 

反映を行います。

# systemctl enable crond
# systemctl restart crond

 

ファイルが増えたり、変更されている場合はレポートに出ます。

お疲れ様です。

 

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG