Средства диагностики руткитов

Средства диагностики руткитовРуткит (rootkit) — это программа, позволяющая получить доступ с правами суперпользователя или администратора к системе, при этом скрывающая следы злоумышленника. Когда недоброжелатель получает доступ к системе с повышенными правами, можно сказать, что систему вы потеряли. Однако, если у вас еще есть доступ к системе, то можно попытаться ее спасти. В этом вам помогут средства диагностики руткитов — rkhunter и chkrootkit.

chkrootkit

Программа chkrootkit содержится в пакете с одноименным названием, установить ее в Debian/Ubuntu можно командой

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

Если запустить ее без параметров, то результат ее работы будет выглядеть следующим образом:

Как видите, программа проверяет определенные части системы на предмет присутствия руткитов. В моем случае она ничего не нашла. Тем не менее, полагаться на одно средство никогда не стоит. Если есть возможность использовать другие средства, то лучше их использовать. Именно поэтому мы будем рассматривать сразу две программы.

У chkrootkit есть параметры командной строки, которые можно использовать при работе, а формат самой команды выглядит так:

Параметры:

-h Вывести краткую справку и выйти
-V Вывести информацию о версии и выйти
-l Список возможных тестов. Именно названия из этого списка можно явно указывать при запуске. Если название не указано, будут проведены все тесты
-d Режим отладки
-x Режим эксперта
-e Исключить файлы и директории, для которых известны ложно-позитивные срабатывания. Список должен быть заключен в кавычки, а файлы и директории разделены пробелами
-q «Тихий» режим
-r <директория> Использовать указанную директория как корневую
-p <список> Указать пути для внешних программ, используемых chkrootkit. Список разделяется двоеточиями
-n Исключить из проверки директории, смонтированные по NFS

Как видите, параметров немного. Теперь давайте рассмотрим вторую программу, rkhunter

rkhunter

rkhunter — это более сложная программа. Устанавливается она так же просто:

apt-get install rkhunter

Установка включается также скрипт для запуска проверки по расписанию, он помещается в директорию /etc/cron.daily и имеет название «chkrootkit». Однако для того, чтобы проверка происходила ежедневно, необходимо в файле /etc/rkhunter.conf изменить опцию

на

Запустить проверку можно при помощи опции «—check». Результат проверки должен выглядеть следующим образом:

chkrootkit запоминает состояние файлов и проверяет, изменилось ли их состояние. Если вы обновили какие-то пакеты, то при очередной проверке rkhunter отобразит изменения, и, если все хорошо, то вам надо будет обновить статус состояния файлов командой

Кроме этого, у chkrootkit есть еще достаточно много команд и опций командной строки, которые вы можете использовать.

Команды:

-c, —check Проверка, эту опцию мы уже рассмотрели выше
—unlock Удалить lock-файл
—update Обновить базу программы. Для обновления в системе должна присутствовать программа wget или lynx
—propupd [уточнение] Обновление состояния. В качестве уточнения может быть указан один из параметров:
— имя файла
— имя директории
— имя пакета
—versioncheck Проверить, есть ли более свежая версия программы
—list [уточнение] Вывести информацию. В качестве уточнения можно использовать одно из следующих слов:
tests — вывести список доступных тестов
lang или languages — список поддерживаемых языков
rootkits — список известных руткитов
perl — вывести информацию об установленном в системе трансляторе perl
propfiles — список файлов, из которых формируется информация о состоянии
-C, —config-check rkhunter проверяет корректность своего конфигурационного файла и завершает работу
-V, —version Вывод информации о версии программы
-h, —help Вывод краткой справки

Опции:

—appendlog По умолчанию rkhunter при новом запуске перезаписывает лог-файл. Эта опция позволяет добавлять записи в конец не затирая существующий файл лога
—bindir <директория> Добавление директории в список директорий, в которых rkhunter будет искать необходимые программы. По умолчанию это содержимое переменной PATH пользователя root и некоторые внутренние директории, которые использует rkhunter. Указанная директория будет добавлена в конец списка. Однако, если указать перед именем директории «+», то она будет добавлена в начало списка
-cs2, —color-set2 Цветовая схема по умолчанию предполагает, что текст будет выводиться на темном фоне. Но если вы используете белый фон в эмуляторе терминала, эта опция позволит использовать цветовую схему, которая лучше выглядит на светлом фоне
—configfile <файл> Использовать указанный файл настроек
—cronjob Аналогично —check, но отключает средства интерактивного взаимодействия, например, ожидание нажатия клавиши Enter
—dbdir <директория> Указать директорию, в которой находится база данных программы
—debug Включить режим отладки. При включении отладки вывод и содержимое стандартного лога не изменяются. Для отладочной информации создается отдельный файл, начинающийся с «/tmp/rkhunter-debug»
—disable <список> Не выполнять указанные в списке тесты. Названия тестов разделяются запятыми без пробелов
—display-logfile После окончания работы на экран будет выведен файл лога
—enable <список> Выполнять только указанные тесты. Список тестов разделяется запятыми без пробелов
—hash <алгоритм> команды проверки и —propupd будут использовать указанный алгоритм для подсчета контрольной суммы. Возможные значения: MD5, SHA1, SHA224, SHA256, SHA384, SHA512, NONE, а также название команды, которая будет использоваться для вычисления контрольной суммы
—lang <язык>
—language <язык>
Указать язык, на котором будут выводиться сообщения во время работы
-l, —logfile <файл> Указать название файла лога
—noappend-log Вернуть обычное поведение, rkhunter будет перезаписывать лог при каждом запуске
—nocf Используется совместно с опцией —disable. Обычно если эта опция не указана, то не выполняются тесты, которые были указаны в командной строке, а также тесты, которые записаны в конфигурационном файле. Опция —nocf позволяет игнорировать тесты из конфигурационного файла
—no-colors Не использовать цвета при отображении результатов работы
—nolog Не записывать файл лога
—nomow, —no-mail-on-warning Не посылать электронное письмо при появлении предупреждений
—ns, —no-summary При использовании —check в конце проверки отображается суммарная информация. Данная опция ее отключает
—pkgmgr Указать, какой пакетный менеджер использовать для получения информации о файле. Возможные варианты: RPM, DPKG, BSD, SOLARIS, NONE. По умолчанию NONE
-q, —quiet «Тихая» работа. Информация на экран не выводится. Полезно, когда необходимо только проверить код возврата
—rwo, —report-warnings-only Отображать только предупреждения
—sk, —skip-keypress При проверке не ждать от пользователя нажатия клавиши для продолжения
—summary Отображать суммарную информацию результатов теста. По умолчанию включено
—syslog [уровень] Если используется эта опция, то начало и конец работы логгируются при помощи syslog. Если указан уровень логгирования, то они логгируются на соответствующем уровне. По умолчанию это authpriv.notice
—tmpdir <директория> Указать директорию для создания временных файлов
—vl, —verbose-logging При тестировании выводить в лог как можно больше информации
-x, —autox Автоматически определять, запущена ли X Window System. Если да, то автоматически используется второй набор цветов (опция —color-set2)
-X, —no-autox Не определять автоматически, запущена ли X Window System

Ну, вот и все. Удачи, и здоровья вашим серверам.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *