Установка, настройка и использование сканера уязвимостей сервера rkhunter
На хабре не раз было упомянуто приложение под названием 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.2Latest 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: 139Suspect files: 23
Rootkit checks…Rootkits checked: 381Possible rootkits: 0
Applications checks…Applications checked: 3Suspect 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 после каждого изменения конфигурационных файлов или обновления ОС. Этим вы избежите ложных срабатываний.