Компания
37,17
рейтинг
11 ноября 2014 в 10:21

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

На хабре не раз было упомянуто приложение под названием 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 после каждого изменения конфигурационных файлов или обновления ОС. Этим вы избежите ложных срабатываний.
Автор: @vadim_s_sabinich
FirstVDS
рейтинг 37,17

Комментарии (15)

  • 0
    Тип поста очень похож на tutorial.
    Или надо разбавить сравнением. Чем он лучше того что есть, или хуже?
    • 0
      Да, Вы правы. Добавил флажок.
    • 0
      > Чем он лучше того что есть, или хуже?

      А сравнивать не с чем. rkhunter один в своем классе, фактически.
      • 0
        А как же chkrootkit?
        • 0
          А он живой? Спасибо, что напомнили, я его лет 8 не смотрел.
          Ну да, тогда их два.
          У себя сейчас, ради интереса, посмотрю. Просто rkhunter использую регулярно, когда в руки попадают сервера которые переставлять нельзя, а раньше админились другими, а вот про chkrootkit давно забыл.
          • 0
            Ну, судя по сайту, вроде живой :)
      • 0
        Еще есть lynis правда не уверен идет ли она по сигранутам руткиты или проверяет различне настройки, но пакет из той же оперы.

        К слову был у меня с rkhunter странный случай. Подвешивал он не однократно сервер по ночам в момент своего запуска, на глухо выжирая все ресурсы. По этому нужно быть осторожным с ним.
  • 0
    Спасибо. Ждем мануал по chkrootkit :)
    • +1
      Хорошо =). Постараюсь более полно раскрыть возможности chkrootkit исходя из замечаний в комментариях к этой публикации.
    • 0
      Затянул немного с мануалом, но он все же готов.
  • +2
    Могу посоветовать сканер userland-руткитов, которые замещают системные вызовы через LD_PRELOAD
    www.chokepoint.net/2014/02/detecting-userland-preload-rootkits.html
  • 0
    я ожидал более тонкой настройки, а тут просто запуск из коробки и добавление сканирования в крон через веб-интерфейс ISPmanager
  • +1
    Простите, почему rkhunter обозвали «сканером уязвимостей»? Какие уязвимости он ищет?
    • 0
      помимо создания снимка системных файлов при первом запуске, по умолчанию проверяет файлы не только на изменения хэша, но и по своим базам руткитов, вредоносных программ (malware), «троянских коней», подозрительные порты и тому подобное.
      Плюс можно включать\отключать дополнительные тесты, полный список которых доступен по команде rkhunter --list tests
      Я опустил это, так как по умолчанию включен достаточный набор проверок.
  • 0
    Еще рекомендую посмотреть на OSSEC. Это не антируткит, а скорее HIPS, но очень полезная штука для сервера.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка