Я знаю два варианта.
Первый вариант - это при использовании системы мониторинга
Zabbix в стандартном агенте есть возможность собирать контрольные суммы либо время последней модификации файлов. Можно в шаблон для Linux-а добавить нужные файлы и настроить реакцию на их изменение.
Преимущества: просто настроить, если Zabbix уже используется.
Недостатки: каждый контролируемый файл нужно явно перечислять в шаблоне; агенту нужно иметь права на чтение этих файлов (в случае контрольных сумм) или папок, в которых они находятся (в случае времени последней модификации).
Второй вариант, описанный в Security Guide по SLES-у, - это использование утилиты AIDE (для SLES 15 это описано в главе 13). Она не устанавливается по умолчанию, её надо доставлять явно (RPM-пакет
aide). Ничего не защищает сама по себе, но позволяет на основе периодического сканирования файловой системы замечать подозрительные изменения.
В общих чертах это выглядит так:
- Настройки задаются в конфигурационном файле /etc/aide.conf. Сначала задаются общие параметры (местонахождение базы AIDE и т.п.), потом – собственно, что и как проверять. Командой aide --config-check можно проверить корректность конфиг-файла (при ошибках выдаст последнюю корректную строку, предшествующую ошибке).
- Команда aide -i (после всех инсталяций и начальных настроек) инициализирует базу данных AIDE. Рекомендуется её после этого скопировать на внешний носитель или другой сервер.
- Проверка выполняется командой aide --check (если всё OK, то вывод будет пустым). При обнаружении различий будет выведено краткое резюме (summary со статистикой), для более детального отчёта нужно добавить ещё параметр "-V" (verbose): aide --check -V
- Дополнительная информация – в комментариях к конфиг-файлу и в папке /usr/share/doc/packages/aide
- Запуск с ключами "-i" (--init) или "-u" (--update) записывают текущее состояние в базу данных, заданную параметром database_out (по умолчанию – файл aide.db.new), в то время как при проверке (запуск с ключом "-C" или "--check", либо без ключей) используется база данных, указанная параметром database (по умолчанию – файл aide.db). Сделано умышленно, чтобы при проверке случайно не затереть прежнюю базу.
- Основная мысль: при проверке база должна быть доступна в режиме "read-only", причём желательно с какого-то внешнего носителя (например, CD-R).