Когда просматривал материалы CIS по настройке операционных систем, отметил себе программу AIDE (Advanced Intrusion Detection Environment), про которую раньше не знал. Решил изучить.
AIDE — это небольшой, но мощный бесплатный инструмент обнаружения изменений в файлах и каталогах с открытым исходным кодом. У него небольшой текстовый конфиг, в котором можно явно указывать каталоги для наблюдения, либо использовать регулярные выражения для более точечного использования. Работает программа довольно просто — создаёт снимки выбранных частей файловой системы и потом сравнивает их.
Установить AIDE не сложно, так как эта программа есть в репозиториях популярных дистрибутивов.
# apt install aide
У программы много готовых настроек и возможностей. Я не буду всё это описывать, чтобы не раздувать заметку. В сети есть много материалов по ней. Дефолтный конфиг насыщен настройками для слежения за системой, можно его изучить. Если не хочется разбираться, а надо проверить работу, то покажу простой пример.
Будем наблюдать за изменением файлов сайта в директории /var/www/html. Отслеживать можно как содержимое файлов, так и атрибуты. Для этого переименовываем изначальный конфиг и делаем свой, где будет только то, что нам надо:
database_in=file:/var/lib/aide/aide.dbdatabase_out=file:/var/lib/aide/aide.db.newdatabase_new=file:/var/lib/aide/aide.db.newgzip_dbout=yesreport_summarize_changes=yesreport_grouped=yeslog_level=warningreport_level=changed_attributesALL = p+u+g+acl+sha256+ftype/var/www/html ALL
Создаём базу данных о файлах:
# aideinit
В директории /var/lib/aide появятся два файла aide.db и aide.db.new. Теперь создадим новый файл в директории /var/www/html:
# touch /var/www/html/test.txt
Проверяем изменения с помощью aide:
# aide --check --config /etc/aide/aide.conf
В консоли увидите информацию о добавленном файле:
f+++++++++++++++++: /var/www/html/test.txt
Для дальнейших проверок, нужно текущий файл с базой данных сделать основным, обновив его перед этим:
# aide --update --config /etc/aide/aide.conf# mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
Теперь проверьте, как работает контроль за изменением владельца файлов. Измените владельца у файла и ещё раз запустите проверку:
# chown mail /var/www/html/test.txt# aide --check --config /etc/aide/aide.confFile: /var/www/html/test.txt Uid : 0 | 8
Владелец файла с root (id 0) изменился на mail (id 8)
Подобные проверки оборачиваются в скрипты и добавляются в планировщик cron или systemd-timers. Базы данных в случае необходимости можно сохранять и оставлять на долгосрочное хранение, а не держать только прошлое и новое состояние.
⇨ Сайт / Исходники
#security #linux