Установка и использование chkrootkit
Как проверить сервер на наличие руткитов и настроить автоматическое сканирование.
Chkrootkit (check rootkit) — бесплатная утилита с открытым исходным кодом для поиска руткитов и вредоносных приложений в операционной системе. Она способна обнаруживать практически все существующие современные руткиты и доступна в большинстве дистрибутивов Linux.
Утилита поддерживается на VPS и выделенных серверах.
Установка
Способ 1 — через менеджер пакетов (рекомендуется):
apt-get install chkrootkit
Способ 2 — из исходных кодов (для получения последней версии):
wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvfz chkrootkit.tar.gz
cd chkrootkit-*/
make sense
После сборки переместите каталог в удобное место:
cd ..
mv chkrootkit-/ /usr/local/chkrootkit
Создайте символическую ссылку для быстрого доступа:
ln -s /usr/local/chkrootkit/chkrootkit /usr/local/bin/chkrootkit
Опции запуска
| Опция | Описание |
|---|---|
| -h | Показать справку |
| -V | Показать версию |
| -l | Список доступных тестов |
| -d | Режим отладки |
| -q | Тихий режим — выводить только заражённые файлы |
| -x | Расширенный режим — подробный вывод по каждому файлу |
| -r dir | Использовать указанный каталог как корневой |
| -n | Пропустить проверки на NFS-разделах |
| -p dir1:dir2 | Пути для внешних программ, используемых chkrootkit |
Запуск проверки
Для полного сканирования системы выполните:
chkrootkit
Пример вывода:
ROOTDIR is /' Checking amd'... not found
Checking basename'... not infected Checking cron'... not infected
Checking find'... not infected Checking ls'... not infected
Checking ps'... not infected Checking sshd'... not infected
...
Checking `bindshell'... INFECTED (PORTS: 465)
...
Расшифровка результатов
| Статус | Значение |
|---|---|
| not infected | Сигнатур известных руткитов не обнаружено |
| INFECTED | Программа может относиться к известным образцам вредоносного кода |
| not found | Программа не найдена и не проверялась |
| not tested | Тест не выполнен: неприменим для данной ОС, отсутствует внешняя программа или отключён опциями |
| Vulnerable but disabled | Программа заражена, но на момент проверки не запущена |
Ложное срабатывание: если вы видите
Checking 'bindshell'... INFECTED (PORTS: 465)на почтовом сервере — не беспокойтесь. Порт 465 — это SMTPS (Secure SMTP), и это хорошо известное ложное срабатывание chkrootkit.
Важно
chkrootkit только сообщает о проблемах, но не устраняет их. Каждое предупреждение необходимо изучить самостоятельно и убедиться, что это реальная угроза, а не ошибка или ложное срабатывание.
Автоматическая проверка через cron
Можно настроить регулярное сканирование с отправкой отчёта на почту.
Узнайте полный путь к chkrootkit:
which chkrootkit
Вывод:
/usr/sbin/chkrootkit
Откройте crontab:
crontab -e
Добавьте задание — например, ежедневное сканирование в 3:00 ночи:
0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit Report" ваш@email.com
Замените путь к chkrootkit на полученный выше и укажите свой почтовый адрес.
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!