Гид по технологиям

AIDE на CentOS 8 — установка и настройка

• 6 min read • Безопасность • Обновлено 22 Nov 2025
AIDE на CentOS 8 — установка и настройка
AIDE на CentOS 8 — установка и настройка

Важно: AIDE помогает выявлять изменения в файловой системе, но не заменяет комплексную систему обнаружения вторжений. Всегда храните базу AIDE в защищённом и, по возможности, внешнем месте.

Схематичное изображение мониторинга целостности системы

AIDE (Advanced Intrusion Detection Environment) — популярный инструмент для контроля целостности файлов на системах Linux. Он создаёт базу (снимок) текущего состояния файловой системы и затем сравнивает её со свежим состоянием, чтобы обнаруживать добавления, удаления и изменения. AIDE ускоряет расследование инцидентов, сужая круг подозрительных файлов.

Что делает AIDE в 1 строке

AIDE сравнивает эталонную базу метаданных и хэшей файлов с текущим состоянием — и сообщает о любых расхождениях.

Особенности AIDE

  • Отслеживает атрибуты: тип файла, inode, uid, gid, права, число ссылок, mtime, ctime, atime.
  • Поддерживает сжатие Gzip, SELinux, XAttrs, Posix ACL и расширенные атрибуты файловой системы.
  • Может использовать множество алгоритмов контрольных сумм: md5, sha1, sha256, sha512, rmd160, crc32 и другие.
  • Умеет оповещать по почте через системную почту.

Экран справки AIDE с параметрами сборки

Требования

  • Сервер с CentOS 8 и минимум 2 ГБ оперативной памяти. Перечисление требований — ориентировочно; реальные потребности зависят от размера файловой системы.
  • Настроенный root-пароль или доступ под пользователем с правами root.

Подготовка системы

Перед установкой рекомендуется обновить систему до последних пакетов:

dnf update -y

После обновления перезагрузите систему, чтобы применить обновления ядра и системных библиотек.

Установка AIDE

AIDE доступен в стандартных репозиториях CentOS 8. Установите пакет командой:

dnf install aide -y

Проверьте версию:

aide --version

Ожидаемый пример вывода (вариант зависит от версии сборки):

Aide 0.16

Compiled with the following options:

WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Также можно просмотреть доступные команды и опции:

aide --help

Инициализация базы AIDE

Первое действие после установки — создать базу (снимок) файловой системы. Это эталон, с которым будут сравниваться будущие состояния.

Запустите инициализацию:

aide --init

Пример вывода, который вы можете увидеть (содержит временные метки и контрольные суммы):

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:  49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

Команда создаёт файл /var/lib/aide/aide.db.new.gz. Просмотреть можно так:

ls -l /var/lib/aide

Пример:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

Чтобы AIDE начал пользоваться этой базой, переименуйте её в aide.db.gz:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Совет: обновляйте базу периодически (например, после плановых изменений), чтобы эталон соответствовал ожидаемому состоянию.

Проверка с использованием базы

После инициализации запустите проверку без внесения изменений:

aide --check

В большом файловом дереве проверка может занять время. Ожидаемый результат, если ничего не менялось:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Это означает, что все файлы и директории соответствуют базе.

Пример: тест детектирования изменений

По умолчанию AIDE может не отслеживать /var/www/html (корень веб-документов). Добавим его в конфигурацию.

Откройте конфигурационный файл:

nano /etc/aide.conf

Добавьте строку (например, перед “/root/ CONTENT_EX”):

/var/www/html/ CONTENT_EX

Сохраните и закройте.

Создайте тестовый файл:

echo "Test AIDE" > /var/www/html/aide.txt

Запустите проверку:

aide --check

Ожидаемый вывод при обнаружении нового файла:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:  49475
  Added entries:        1
  Removed entries:      0
  Changed entries:      0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Если изменения верны, обновите базу:

aide --update

Пример вывода при обновлении базы:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:  49475
  Added entries:        1
  Removed entries:      0
  Changed entries:      0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Затем переименуйте новую базу и снова проверьте:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

aide --check

Ожидаемый результат — отсутствие различий.

Автоматизация проверок (cron)

Рекомендуется запускать проверку регулярно и получать отчёты по почте.

Отредактируйте системный crontab:

nano /etc/crontab

Добавьте строку для ежедневной проверки в 10:15:

15 10 * * * root /usr/sbin/aide --check

Сохраните. Отчёты будут отправляться на системную почту root. Просмотреть почту можно так:

tail -f /var/mail/root

Логи AIDE находятся в /var/log/aide/aide.log:

tail -f /var/log/aide/aide.log

Совет: направьте вывод в отдельный файл, используйте лог-роутер или SIEM для агрегации уведомлений.

Безопасность и надёжность базы AIDE

  • Храните копию aide.db.gz вне проверяемой системы — на другом хосте, в зашифрованном хранилище или на съемном носителе.
  • Ограничьте права на /var/lib/aide: файл должен быть доступен только root (rw——-).
  • Подумайте о подписывании базы (GPG) и хранении подписи отдельно.
  • Закройте доступ к конфигурации /etc/aide.conf и к cron-скриптам для предотвращения подмены.
  • SELinux помогает: убедитесь, что контексты не мешают чтению базы и логов.

Важно: если злоумышленник получил root, он может изменить и саму базу AIDE. Поэтому off-host резервные копии и подписи критичны.

Когда AIDE не поможет (ограничения)

  • AIDE не обнаружит атаки, которые не оставляют изменений в файловой системе (например, эксплойты в памяти).
  • Если злоумышленник получил root и изменил бинарь AIDE или базу, локальная проверка может вернуть ложное «OK».
  • AIDE отслеживает файлы и атрибуты, но не поведение процессов.

Альтернативы и дополнения

  • OSSEC / Wazuh — HIDS с возможностями лог-анализа и реакций на события.
  • Tripwire — коммерческая и открытая реализация контроля целостности.
  • Auditd (linux audit framework) — для подробного аудита системных вызовов.

Используйте AIDE в составе многослойной защиты.

Практическое руководство — мини-методология

  1. Инициализируйте базу на чистой, проверенной системе.
  2. Экспортируйте копию базы на защищённый сервер или внешнее хранилище.
  3. Настройте регулярные проверки (cron) и обработку уведомлений.
  4. На обнаружение — проверить, проанализировать, зафиксировать и обновить базу при необходимости.
  5. Храните историю инцидентов и политику реакции.

Пошаговый SOP для администратора (сокращённый)

  • Шаг 1 — Инициализация
    • Установите aide, выполните aide –init.
    • Перенесите aide.db.new.gz оффхост и подпишите.
  • Шаг 2 — Настройка мониторинга
    • Добавьте директории в /etc/aide.conf.
    • Настройте cron для aide –check.
  • Шаг 3 — Обработка оповещений
    • На оповещение: проверьте изменения, сравните логи и временные метки, подтвердите источник изменения.
    • Если подтверждён инцидент — выполните процедуру инцидент-менеджмента и восстановление из бэкапа.
  • Шаг 4 — Обновление базы
    • После валидного изменения выполните aide –update, перенесите новую базу в защищённое хранилище.

Чек-листы по ролям

  • Sysadmin

    • Установил AIDE и проинициализировал базу.
    • Настроил права на /var/lib/aide (600).
    • Настроил cron и проверил доставку почты root.
  • SecOps

    • Настроил интеграцию с SIEM или централизованным логированием.
    • Настроил оффхост бэкап базы и подписывание.
    • Прописал процесс реагирования и эскалации.
  • DevOps

    • Добавил нужные пути приложений в /etc/aide.conf.
    • Убедился, что автогенерация файлов (например, временных) исключены из проверки.

Примеры сценариев и критерии приёмки

Критерии приёмки для теста установки:

  • aide –init успешно создаёт /var/lib/aide/aide.db.new.gz.
  • mv в /var/lib/aide/aide.db.gz и aide –check сообщают NO differences сразу после инициализации.
  • При создании тестового файла AIDE обнаруживает добавление.
  • cron запускает проверку в указанное время и отчёт появляется в /var/mail/root.

Решение при обнаружении изменений — простое дерево принятия решений

flowchart TD
  A[Определено отличие AIDE] --> B{Изменение ожидаемо?}
  B -- Да --> C[Документировать, выполнить aide --update]
  B -- Нет --> D{Похоже на злонамеренное изменение?}
  D -- Нет --> E[Исследовать, откатить при необходимости]
  D -- Да --> F[Запустить инцидент-реакцию: изолировать, собрать артефакты, восстановить]
  C --> G[Перенести новую базу в защищённое хранилище]
  E --> G
  F --> G

Отладка и полезные команды

  • Просмотр лога AIDE:
tail -n 100 /var/log/aide/aide.log
  • Проверка содержимого базы (gzip):
gzip -d -c /var/lib/aide/aide.db.gz | less
  • Быстрая проверка конфигурации:
aide --check --config-check

(Опция –config-check полезна для синтаксической проверки /etc/aide.conf.)

Безопасность данных и аудит

  • Храните копии базы в нескольких местах.
  • Ограничьте доступ к конфигурации и логам.
  • Подписывайте базу и храните подпись отдельно.
  • Контролируйте целостность бинарей AIDE (например, с помощью hw-based measured boot или внешнего контроля).

Глоссарий — 1 строка на термин

  • База AIDE: сжатый файл с контрольными суммами и метаданными отслеживаемых файлов.
  • CONTENT_EX: правило конфигурации AIDE означающее сравнение содержимого и разрешённые исключения.
  • ETHALON (эталон): базовое состояние файловой системы, с которым сравнивают текущее.

Контрольные случаи тестирования

  • Инициализация на чистой системе создаёт базу и aide –check возвращает “NO differences”.
  • Добавление/удаление/изменение файла фиксируется как Added/Removed/Changed.
  • Обновление базы приводит к созданию aide.db.new.gz и последующему применению.

Заключение

AIDE — простой и надёжный инструмент контроля целостности файловой системы. Его сила — в простоте: создание эталона и регулярные проверки. Для полноты безопасности используйте AIDE как часть многослойного подхода: защищайте базу вне хоста, интегрируйте уведомления в SIEM и документируйте процедуру реагирования.

Требования к дальнейшим действиям:

  • Настройте оффхост-резервирование базы AIDE и подпись.
  • Включите в план реагирования обработку результатов AIDE.
  • Периодически ревью конфигурации /etc/aide.conf и исключений.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро