geektimes

Установка, настройка и использование сканера уязвимостей сервера rkhunter

  • среда, 12 ноября 2014 г. в 02:10:55
http://habrahabr.ru/company/first/blog/242865/

На хабре не раз было упомянуто приложение под названием rkhunter. Хотелось бы остановиться на нем по подробней.

Rkhunter — это сканер различных видов локальных (потенциальных) уязвимостей (бэкдоров, эксплоитов и руткитов) со своей регулярно обновляемой базой.
Он написан на bash и perl, поэтому будет работать под любой серверной ОС на базе unix без каких-либо проблем.




Для установки можно воспользоваться официальными репозитариями той ОС, на которой требуется провести сканирование, либо скачав архив с официального сайта http://rkhunter.sourceforge.net/

Установка
  • Centos: yum install rkhunter
  • Debian/Ubuntu: apt-get install rkhunter
  • FreeBSD: make all install clean -C /usr/ports/security/rkhunter или pkg install rkhunter


Первый запуск и подготовка
Первый запуск требуется для проверки системы на предмет совместимости и корректности установки самого rkhunter.

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

rkhunter --versioncheck

Появится такая информация, по которой можно судить об актуальности версии
[ Rootkit Hunter version 1.4.2 ]

Checking rkhunter version…
This version: 1.4.2
Latest version: 1.4.2


Для поддержания актуальности инструмента для поиска уязвимостей на сервере следует запускать rkhunter с ключом --update

rkhunter --update
[ Rootkit Hunter version 1.4.2 ]

Checking rkhunter data files…
Checking file mirrors.dat [ No update ]
Checking file programs_bad.dat [ No update ]
Checking file backdoorports.dat [ No update ]
Checking file suspscan.dat [ Updated ]
Checking file i18n/cn [ No update ]
Checking file i18n/de [ Updated ]
Checking file i18n/en [ No update ]
Checking file i18n/tr [ Updated ]
Checking file i18n/tr.utf8 [ Updated ]
Checking file i18n/zh [ Updated ]
Checking file i18n/zh.utf8 [ Updated ]


Вторым шагом будет создание снимка состояния установленной системы для rkhunter командой:
rkhunter --propupd

[ Rootkit Hunter version 1.4.2 ]
File created: searched for 171 files, found 139


Итак, база обновлена и теперь мы готовы сделать первый запуск rkhunter для сканирования.
rkhunter -c --enable all --disable none

Будет проведено тестирование системы и вывод различных сообщений по каждому из пункта проверок. После каждого этапа нужно будет нажать Enter для продолжения. В самом конце появится итоговая информация проверки системы:

System checks summary
=====================

File properties checks…
Files checked: 139
Suspect files: 23

Rootkit checks…
Rootkits checked: 381
Possible rootkits: 0

Applications checks…
Applications checked: 3
Suspect applications: 0

The system checks took: 2 minutes and 39 seconds

All results have been written to the log file: /var/log/rkhunter/rkhunter.log

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter/rkhunter.log)


Обратите внимание на то, что rkhunter ведет лог-файл и в нем можно увидеть и те данные, которые отображались на экране в ходе проверки.

Первый запуск и проверка произведена, теперь перейдем к более тонкой настройке этого замечательного инструмента.

Настройка rkhunter
Файл конфигурации rkhunter может находиться в /etc/rkhunter.conf или /usr/local/etc/rkhunter.conf в зависимости от ОС и дистрибутива.
В первую очередь настроим оповещение на адрес электронной почты в параметре
MAIL-ON-WARNING=«почтовый@ящик»
В случае ложного срабатывания на файлы типа /bin/which можно воспользоваться параметром SCRIPTWHITELIST и добавить в него файлы, которые не требуется проверять/сигнализировать о проблеме. Добавлять следует по одному в параметр на строчке:
SCRIPTWHITELIST="/usr/sbin/adduser"
SCRIPTWHITELIST="/bin/which

Если Вы пользуетесь для доступа по ssh пользователем root и не намерены его отключать, то можно эту проверку отключить:
ALLOW_SSH_ROOT_USER=yes

После редактирования конфигурационного файла сохраните его и проверьте на наличие проблем, запустив rkhunter с ключом -C:
rkhunter -C
Запустим rkhunter для проверки системы, но добавим ключ -rwo, чтобы выводились только предупреждения:
rkhunter -c --enable all --disable none --rwo

Автоматический запуск сканирования
Настройку планировщика можно провести как из консоли, так и в панели управления ISPmanager.

В консоли требуется выполнить команду crontab -e и добавить строчку для ежедневного сканирования:
@daily /usr/bin/rkhunter --cronjob --update --quiet

В ISPmanager4 планировщик расположен в пункте меню “Инструменты” -> “Планировщик (cron)”


В ISPmanager5 это пункт меню “Планировщик” в разделе “Система”


В качестве заключения хочу напомнить. Не забывайте запускать rkhunter --propupd после каждого изменения конфигурационных файлов или обновления ОС. Этим вы избежите ложных срабатываний.