寄稿しました。
もくじ
AIDEのインストール
# yum install aide
# vi /etc/aide.conf # 監視対象ディレクトリの指定 /var/www/vhosts NORMAL #追加設定 対象除去 !/var/log/.*~ !/dev !/tmp !/proc !/sys !/root
データファイル作成 ※初期インストール状態で 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: /etc/aide.conf --------------------------------------------------- Detailed information about changes: ---------------------------------------------------
aideに-uオプションをつけると、
ファイルの改ざんチェックとDBの更新を行ってくれます。
# aide -u
ログロテーション設定
# vi /etc/logrotate.d/aide /var/log/aide/*.log { weekly missingok rotate 4 compress delaycompress copytruncate minsize 100k } ↓変更 /var/log/aide/*.log { daily missingok rotate 7 compress delaycompress }
定期実行設定
メールコマンドをインストール
# yum install mailx
定期チェックスクリプト作成
# vi /root/aidechecker.sh #!/bin/bash MAILTO=root MAILFROM=AIDE@`hostname` LOGFILE=/var/log/aide/aide.log AIDEDIR=/var/lib/aide /usr/sbin/aide -u > $LOGFILE mv -f $AIDEDIR/aide.db.new.gz $AIDEDIR/aide.db.gz x=$(grep "Looks okay" $LOGFILE | wc -l) if [ $x -ne 1 ] then echo "$(egrep "added|changed|removed" $LOGFILE)" | /bin/mail -s "AIDE DETECTED CHANGES" -r $MAILFROM $MAILTO 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