В Linux сканер Rkhunter (Rootkit Hunter) можно использовать на сервере для проверки уязвимостей, руткитов, бэкдоров и возможных локальных эксплойтов.

Инструмент выполняет поиск каталогов по умолчанию (руткитов), неправильно настроенных разрешений, скрытых файлов, модулей ядра, содержащих подозрительные строки, и сравнивая хэши важных файлов с известными хорошими.
Содержание
Установка
Установка в Arch Linux
oleg@mobile:~:$ yay -S rkhunter
Sync Explicit (1): rkhunter-1.4.6-3
разрешение зависимостей...
проверка конфликтов...
Пакеты (1) rkhunter-1.4.6-3
Будет загружено: 0,23 MiB
Будет установлено: 1,09 MiB
:: Приступить к установке? [Y/n] y
:: Получение пакетов...
rkhunter-1.4.6-3-any 230,8 KiB 370 KiB/s 00:01 [###############################################] 100%
(1/1) проверка ключей [###############################################] 100%
(1/1) проверка целостности пакета [###############################################] 100%
(1/1) загрузка файлов пакетов [###############################################] 100%
(1/1) проверка конфликтов файлов [###############################################] 100%
(1/1) проверка доступного места [###############################################] 100%
:: Обработка изменений пакета...
(1/1) установка rkhunter [###############################################] 100%
Дополнительные зависимости для 'rkhunter'
unhide
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
oleg@mobile:~:$
Установка в Ubuntu
oleg@mobile:~:$ sudo apt install rkhunter
...
oleg@mobile:~:$
Синтаксис
$ sudo rkhunter {--check | --unlock | --update | --versioncheck | --propupd [{filename | directory | package name},...] | --list [{tests | {lang | languages} | rootkits | perl | propfiles}] | --config-check | --version | --help} [options]
Параметры
--append-log
Добавить в файл журнала, не перезаписывать
--bindir
... Использовать указанные каталоги команд
-c, --check
Проверить локальную систему
-C, --config-check
Проверить файл(ы) конфигурации, затем выйти
--cs2, --color-set2
Использовать второй набор цветов для вывода
--configfile
Использовать указанный файл конфигурации
--cronjob
Запустить как задание
cron
(подразумеваются параметры-c
,--sk
и--nocolors
)--dbdir
Использовать указанный каталог базы данных
--debug
Режим отладки (не использовать, если не будет такого требования)
--disable
[, ...] Отключить опредёленные тесты (по умолчанию тесты отключены)
--display-logfile
Отобразить файл журнала в конце
--enable
[, ...] Включить определенные тесты (по умолчанию включены все тесты)
--hash {MD5 | SHA1 | SHA224 | SHA256 | SHA384 | SHA512 | NONE |
} Использовать указанную функцию хеширования файла (по умолчанию SHA256)
-h, --help
Отобразить это меню справки, затем выйти
--lang, --language
Указать используемый язык (по умолчанию английский)
--list [tests | languages |
Перечислить доступные имена тестов, языки, руткиты | perl | имена руткитов, файлы свойств статуса модуля perl] или базу данных свойств файла, затем выйти
-l, --logfile [file]
Записать в файл журнала (по умолчанию
/var/log/rkhunter.log
)--noappend-log
Не добавлять в файл журнала, перезаписывать его
--nocf
Не использовать записи файла конфигурации для отключённых тестов (действительно только с -
-disable
)--nocolors
Использовать чёрно-белый вывод
--nolog
Не записывать в лог-файл
--nomow, --no-mail-on-warning
Не отправлять сообщение, если появляются предупреждения
--ns, --nosummary
Не показывать сводку результатов проверки
--novl, --no-verbose-logging
Нет подробного ведения журнала
--pkgmgr {RPM | DPKG | BSD | BSDng | SOLARIS |NONE}
Использовать указанный менеджер пакетов для получения или проверки значений свойств файла (по умолчанию
NONE
)--propupd [file | directory | package]...
Обновить всю базу данных свойств файла, или только для указанных записей
-q, --quiet
Тихий режим (звук вообще не выводится)
--rwo, --report-warnings-only
Показывать только предупреждающие сообщения
--sk, --skip-keypress
Не ждать после нажатия клавиши для каждого теста
--summary
Показать сводку результатов проверки системы (это значение по умолчанию)
--syslog [facility.priority]
Регистрировать время начала и окончания проверки в системном журнале (уровень по умолчанию —
authpriv.notice
)--tmpdir
Использовать указанный временный каталог
--unlock
Разблокировать (удалить) файл блокировки
--update
Проверить наличие обновлений в файлах базы данных
--vl, --verbose-logging
Использовать подробное ведение журнала (включено по умолчанию)
-V, --version
Отобразить номер версии, затем выйти
--versioncheck
Проверить наличие последней версии программы
-x, --autox
Автоматически определять, используется ли X
-X, --no-autox
Не определять автоматически, используется ли X
Конфигурация
Начальная настройка
Перед первым запуском rkhunter
следует обновить базу данных свойств файла:
$ sudo rkhunter --propupd
Важные файлы
Основной файл конфигурации находится по адресу /etc/rkhunter.conf
.
По умолчанию журнал последней проверки системы будет помещен в /var/log/rkhunter.log
.
Использование сканера Rkhunter
Актуальность файлов данных
Для обеспечения актуальности файлов данных rkhunter
выполняется следующая команда:
$ sudo rkhunter --update
Проверка системы
Для запуска проверки системы следует выполнить следующую команду:
$ sudo rkhunter --check --sk
Проверка файлов конфигурации
Для проверки файла(ов) конфигурации запускается следующая команда:
$ sudo rkhunter --config-check
Ложные срабатывания
Из коробки Rootkit Hunter выдаёт несколько ложных предупреждений во время проверки свойств файла. Это происходит из-за того, что некоторые основные утилиты были заменены скриптами. Эти предупреждения можно отключить с помощью белого списка:
/etc/rkhunter.conf
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/ldd
SCRIPTWHITELIST=/usr/bin/vendor_perl/GET
Заключение
Из этой небольшой статьи следует, что сканер Rkhunter является крайне полезным и нужным инструментом для тех, кто заботится о безопасности своего сервера.