Это старая версия документа!
Linux: система AIDE
Отслеживание изменений файлов и директорий
Суть системы — она создаёт свою базу данных директорий и файлов, и периодически отслеживает изменения в них.
Установка
Centos 7
yum install aide -y
Создаём базу для хранения состояния файлов конфигураций:
aide --init
Перемещаем базу:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Запускаем проверку:
aide --check
Основной файл конфигурации — /etc/aide.conf
nano /etc/aide.conf
Пример исключения файлов и каталогов из проверки
!/var/log
Для сервера mikbill можно использовать такой конфиг (добавить конец файла):
/var/www/mikbill DIR !/var/www/mikbill/admin/app/log !/var/www/mikbill/stat/app/log !/var/www/mikbill/admin/sys/mrtg !/var/www/mikbill/admin/sys/mrtg_users
Обновить базу данных
aide --update
Скрипт для проверки по крону:
mkdir /var/mikbill/custom_scripts/aide nano /var/mikbill/custom_scripts/aide/aide.sh
#!/bin/bash SERVER_NAME=""; DATE=`date +%Y-%m-%d` LOGDIR=/var/log/aide REPORT="Aide-"$DATE.txt AIDEDIR=/var/lib/aide/ aide --check >$LOGDIR/check cat $LOGDIR/check|/bin/egrep "added|changed|removed" > $LOGDIR/$REPORT aide --update cp $AIDEDIR/aide.db.gz $LOGDIR/aide.db.gz-$DATE mv $AIDEDIR/aide.db.new.gz $AIDEDIR/aide.db.gz function send_message() { size=$(cat $LOGDIR/$REPORT |wc -l) if [ "$size" != "0" ]; then MESSAGE="$SERVER_NAME, $(< $LOGDIR/$REPORT)" # Тут можно что-то делать с $MESSAGE, например отправлять по почте, в telegram или slack fi } #send_message
Даем права на исполнение
chmod +x /var/mikbill/custom_scripts/aide/aide.sh
Добавляем в крон
nano /etc/cron.d/aide
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 00 07 * * * root /var/mikbill/custom_scripts/aide/aide.sh > /dev/null #
Настройка Debian
Установка
apt install aide aideinit cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db update-aide.conf cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Скрипт
#!/bin/bash SERVER_NAME=""; DATE=`date +%Y-%m-%d` LOGDIR=/var/log/aide REPORT="Aide-"$DATE.txt AIDEDIR=/var/lib/aide/ AIDE='aide -c /etc/aide/aide.conf' $AIDE --check >$LOGDIR/check-$DATE $AIDE --update cp $AIDEDIR/aide.db $LOGDIR/aide.db-$DATE mv $AIDEDIR/aide.db.new $AIDEDIR/aide.db