Защита системы с помощью Rkhunter

Материал из Викиадмин
Перейти к навигации Перейти к поиску

rkhunter - скрипт, предназначенный для командной оболочки (таких как bash и т.д.), который выполняет различные проверки на локальной системе для обнаружения известных ему rootkits и malware.

Он также проводит проверки и выявление изменений в установленных программах, в системных файлах запуска и различные проверки для приложений, которые “слушают” на сетевых интерфейсах сервера. По сути - антишпион (антивирус - как будет угодно) для Linux. И, в целях улучшения безопасности, его использовать стоит.

Установка rkhunter

Простая, как 5 копеек, т.к. присутствует в хранилищах большинства дистрибутивов.

Для CentOS

yum install rkhunter

Для Ubuntu, Linux Mint и иже с ними

sudo apt-get install rkhunter

Настройка rkhunter

Для начала зайдите в конф. файл

nano /etc/rkhunter.conf

и поставьте ваш почтовый адрес, чтобы предупреждения сыпались на почту и мешали спокойно спать. То есть исправьте строку:

MAIL-ON-WARNING="root"

в файле /etc/rkhunter.conf. Вместо root укажите свой адрес.

Далее, нужно сделать “слепок” того, что есть сейчас. Это делается буквально с помощью команды:

rkhunter --propupd

Далее давайте обновим базу:

rkhunter --update

Проверка с помощью rkhunter

Итак, система настроена и обновлена, теперь давайте попробуем прогнать первый раз проверку:

rkhunter -c --update --noappend-log --vl

Придется немного посидеть перед монитором, т.к. система несколько раз предложит нажать ENTER. При этом можно будет сразу обратить внимание на варнинги (ошибки или как угодно их назовите). Их мы перечислим после. Но сначала:

Добавление rkhunter в cron

Например, нам надо сканировать систему раз в сутки в 23.00. Зададим такую команду:

0 23 * * * /usr/bin/rkhunter --update; /usr/bin/rkhunter -c --createlogfile --cronjob

Сначала будет проходить обновление, потом - проверка. Будьте внимательны относительно пути к rkhunter! Данный пример приведен для CentOS 5.5.

Warnings! Ошибки, выдаваемые rkhunter

При сканировании могут на ранних этапах появится ошибки, которых на самом деле нет. Например:

  • Checking if SSH root access is allowed [ Warning ]

Более чем странная ошибка, если root в SSH запрещен. Для начала все-таки проверьте доступ пользователя ROOT по SSH. Можно с помощью команды

less /etc/ssh/sshd_config | grep Root 

Должно появится: PermitRootLogin no. Если стоит yes - запрещаем входить root на сервер (что правильно!) и рестартуем SSHD

/etc/init.d/sshd restart

Если же всё-таки стоит ”no” - лечится просто заменой ”yes” на ”no” в конфиге /etc/rkhunter.conf в параметре ALLOW_SSH_ROOT_USER`

  • Checking for passwd file changes [ Warning ] или Checking for group file changes [ Warning ]

В данном случае вы, скорее всего, забыли сделать первоначальный “слепок” командой rkhunter –propupd

Если возникают какие-либо еще ошибки - прошу в студию.. :)

Если у вас появились какие-либо еще ошибки и вы их решили - напишите мне о них, я добавлю с указанием авторства. Почта есть на главной странице, данные IRC там же.