Что делает этот модуль #
Мониторинг целостности файлов (FIM, от англ. File Integrity Monitoring) отвечает на очень конкретный вопрос: изменилось ли что-то на моём сервере без моего ведома? Злоумышленник, которому удалось проникнуть внутрь, случайная правка системного файла или неожиданное обновление всегда оставляют один и тот же след: файлы, которые появляются, исчезают или изменяются.
Модуль aide опирается на AIDE (Advanced Intrusion Detection Environment), чтобы обнаруживать именно это. Его работа состоит из трёх частей: сначала он сохраняет эталон — эталонный снимок с хешем и атрибутами каждого отслеживаемого файла; затем проверяет текущее состояние относительно этого снимка и показывает сводку того, что было добавлено, удалено или изменено; а когда эти изменения легитимны (например, после обновления), вы принимаете текущее состояние как новый эталон, чтобы они перестали появляться как предупреждения.
Проверка имеет смысл, только если эталон отражает доверенное состояние. Создавайте или принимайте эталон сразу после установки и настройки сервера, когда вы уверены, что он чист. С этого момента каждая команда check сравнивает с этой отправной точкой.
Типовые задачи #
Выберите, что вы хотите сделать. В каждом рецепте команда уже готова — просто нажмите Копировать и вставьте её в терминал.
1
Проверить, изменилось ли что-нибудь
Сравнивает текущую систему с эталоном и показывает сводку изменений.
Подключитесь по SSH к вашему серверу под пользователем ubuntu.
Запустите проверку. Вы увидите количество добавленных, удалённых и изменённых файлов:
$ sudo imaxe aide checkНужно для скрипта или панели? Запросите вывод в JSON:
$ sudo imaxe aide check --json2
Смотреть детали последней проверки
Показывает, какие именно файлы были добавлены, удалены или изменены.
После check просмотрите результат в удобочитаемом виде со списком затронутых файлов:
$ sudo imaxe aide report3
Смотреть общее состояние
С первого взгляда: есть ли эталон, когда была последняя проверка и остались ли ожидающие изменения.
Запросите сводку состояния модуля:
$ sudo imaxe aide statusТакже доступно в JSON для интеграции в ваш мониторинг:
$ sudo imaxe aide status --jsoncheck, есть ли ожидающие изменения и активна ли запланированная проверка.4
Принять изменения как нормальные
Фиксирует текущее состояние как новый эталонный снимок.
Когда вы просмотрели отчёт и изменения легитимны, примите текущее состояние как новый эталон:
$ sudo imaxe aide update-baselinecheck сравнивает с этим новым эталоном.Запуск update-baseline навсегда объявляет обнаруженные изменения нормальными. Если среди них окажется что-то вредоносное, оно будет «отмыто». Всегда просматривайте report перед обновлением и делайте это только тогда, когда доверяете состоянию системы.
Синопсис #
imaxe aide <subcomando> [flags]Все подкоманды требуют привилегий root (используйте sudo), потому что AIDE читает защищённые системные файлы, а его база данных находится в ограниченных путях. Добавьте --json к check или status, чтобы получить машиночитаемый вывод, пригодный для скриптинга и мониторинга.
Подкоманды #
| Подкоманда | Что делает | Значимые флаги |
|---|---|---|
| check | Проверяет целостность относительно эталона и показывает сводку изменений по типам (добавлены, удалены, изменены). | --json |
| report | Показывает последнюю проверку в удобочитаемом виде со списком затронутых файлов. | — |
| status | Состояние: наличие эталона, последняя проверка, ожидающие изменения и запланированная проверка. | --json |
| update-baseline | Принимает текущее состояние как новый эталон (выполняет aide --update и активирует новую БД). | — |
Аргументы и флаги #
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
| --json | bool | false | В check и status выдаёт результат в виде структурированного JSON в stdout, пригодного для скриптинга и мониторинга. |
Подкоманды report и update-baseline не принимают флагов: они всегда работают с последней проверкой и действующим эталоном соответственно.
Файлы и пути #
| Путь | Содержимое |
|---|---|
| /etc/imaxe/aide.yml | Конфигурация модуля: опции check, такие как вывод списка затронутых файлов в дополнение к счётчикам. |
Пример aide.yml:
check:
# Listar los ficheros afectados en `check` (además de los contadores).
list_files: trueКоды возврата и логи #
Каждый запуск возвращает код, который можно проверить командой echo $? — полезно для связок в скриптах или запуска оповещений:
Следите за журналом модуля во время отладки:
$ sudo journalctl -u imaxe-aide -fУстранение неполадок #
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Выходит NOBASE (код 4) | В системе пока нет эталона. | Создайте эталонный снимок через update-baseline, когда сервер чист. |
| Выходит CHANGES (код 3) | Есть файлы, добавленные, удалённые или изменённые с момента эталона. | Просмотрите детали через report; если они легитимны, примите их через update-baseline. |
check долго выполняется | AIDE пересчитывает хеш множества файлов; это нормально при первом запуске. | Дайте ему завершиться. Последующие check выполняются быстрее. |
| Каждое обновление вызывает изменения | Эталон устарел после установки системных патчей. | Просмотрев report, выполните update-baseline, чтобы зафиксировать новое доверенное состояние. |
Застряли с модулем Целостность?
Напишите нам, приложив вывод «imaxe <module> status --json», и мы быстро ответим.