Настройка AIDE для проверки целостности файлов сайта
Зачем нужен сканер целостности файлов
Сканер целостности фиксирует добавление, удаление или изменение файлов. Это помогает быстро заметить закладки (backdoor), подмену форм оплаты или другие постфактумные вторжения. При ежедневной проверке вы получите уведомление в течение 24 часов и сохраните доказательственную базу для расследования.
Важно: эти инструкции ориентированы на конечного пользователя без root-доступа. Предполагается, что бинарник aide уже установлен на сервере. Многие хосты устанавливают его по запросу.
Шаг 1: Скачайте пример конфигурации AIDE
Мы начнём с простого конфига, который будет сканировать корневую папку веб-сайта и проверять MD5-хэши.
Подключитесь по SSH и выполните:
$ wget securehostingdirectory.com/aide.confВ скачанном файле замените “username” на своё имя пользователя в первом пути и убедитесь, что это путь до вашего домашнего каталога. На последней строке подтвердите, что public_html — это ваш web root. На хостингах с cPanel public_html обычно и есть веб-корень.
Примечание: не меняйте имена файлов и путей в командах, если вы не уверены в последствиях. Если сомневаетесь, спросите поддержу хоста.
Шаг 2: Инициализация базы данных AIDE
Инициализируйте базу так:
$ nice -19 aide --init --config=/home/username/aide.confМы запускаем aide с приоритетом 19 через nice, чтобы снизить влияние на нагрузку сервера.
После завершения скопируйте выходной файл в входной:
$ cp aide.db.out aide.db.inПотом можно протестировать проверку:
$ nice -19 aide -C --config=/home/username/aide.confЗапустите её. Вначале AIDE сообщит, что файлов нет в изменённом состоянии. Затем измените или добавьте файл и запустите повторно — в отчёте вы увидите отличия.
Шаг 3: Ежедневная отчётность
Частый способ получения отчётов — отправка их по почте. Для этого используйте cron.
Откройте crontab и добавьте строку:
0 1 * * * nice -19 /usr/local/bin/aide --config=/home/username/aide.conf -C| mail you@domain -saide\ domainЭто выполнит проверку каждый день в 01:00 и отправит результат на указанный e‑mail.
Если отчёты становятся слишком большими и вы хотите обновлять эталонную базу раз в неделю, добавьте:
0 2 * * 0 nice -19 /usr/local/bin/aide --config=/home/username/aide.conf --init;mv -f /home/username/aide.db.out /home/username/aide.db.inЭта строка инициализирует новую базу каждое воскресенье в 02:00 и заменяет эталонную базу.
Важно: заменяйте “username” и адрес электронной почты на свои значения.
Шаг 4: Исключения и тонкая настройка
Если у вас форум, галерея или иное приложение, в котором регулярно добавляются файлы (например, изображения), имеет смысл исключить их из отчёта, чтобы уменьшить шум.
Пример исключения всех .jpg в папке images/:
!@@{TOPDIR}/public_html/images/.*\.jpg$Эту строку разместите прямо перед строкой:
@@{TOPDIR}/public_html MDТак AIDE не будет сигнализировать о регулярном появлении изображений.
Дополнительные меры безопасности
- Храните конфигурацию и файл базы под другим пользователем. Попросите хост сменить владельца (chown) этих файлов на отдельного системного пользователя. Тогда при компрометации вашего аккаунта злоумышленник не сможет легко подменить эталонную базу.
- Скачивайте локально копию aide.db.in после создания и загружайте её перед запуском проверки. Это даёт дополнительный уровень контроля.
- Храните резервную копию конфигов и баз вне хостинга, чтобы восстановить целостность после инцидента.
Когда AIDE может не помочь
- Если злоумышленник получает привилегии root и подменяет бинарник aide или системные утилиты, AIDE не сможет корректно защитить систему без внешних контрольных точек.
- Если атака происходит и сопровождается корректировкой эталонной базы (aide.db.in), изменения останутся незамеченными. Поэтому хранение копии базы вне сервера важно.
Альтернативные подходы
- Tripwire — коммерческий/opensource инструмент со схожей функциональностью.
- OSQuery — позволяет отслеживать состояние файлов и процессов через запросы SQL-подобного языка.
- Решения SIEM (LogRhythm, Splunk) — объединяют логи и события с более широкой аналитикой.
Выбор зависит от бюджета, требований к интеграции и уровня доступа к серверу.
Практическая методология быстрого внедрения (мини‑метод)
- Скачайте и отредактируйте конфиг (замена username).
- Инициализируйте базу и сделайте cp aide.db.out aide.db.in.
- Запустите тестовую проверку и внесите искусственные изменения.
- Настройте cron для ежедневных проверок.
- Настройте передачу базы вне сервера и ограничьте права на файлы.
Роль‑ориентированные чек-листы
Для владельца сайта:
- Проверить, что в конфиге указан правильный web root.
- Указать корректный e‑mail для отчетов.
Для администратора хостинга:
- Установить aide при запросе.
- Наставить права и владельца для conf и db файлов.
Для специалиста по безопасности:
- Настроить резервное копирование aide.db.in вне сервера.
- Проверить целостность бинарника aide и системных утилит.
Критерии приёмки
- После инициализации aide сообщает, что все файлы соответствуют.
- При изменении файла отчёт показывает конкретные отличия.
- Cron‑задачи отправляют отчёты на указанный e‑mail.
Глоссарий (1 строка)
AIDE — инструмент для проверки целостности файлов методом сравнения текущих файлов с эталонной базой.
Итог
AIDE — простой и эффективный инструмент для первичного контроля целостности сайта. Даже при отсутствии root‑доступа вы можете:
- скачать конфиг,
- инициализировать базу,
- настроить cron и e‑mail уведомления,
- и снизить риск незамеченных изменений.
Если нужен пример полноценного конфигурационного файла, используйте ссылку Full AIDE Config File от вашего провайдера или спросите хостинг‑поддержку.
Важно: AIDE — часть общей стратегии безопасности. Комбинируйте его с резервным копированием, ограничением прав и мониторингом логов.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента