Настройка rkhunter
При администрировании сервера на базе FreeBSD 7.2-RELEASE столкнулся с необходимостью иметь инструмент, который бы автоматически проверял операционную систему и высылал бы в мой адрес информацию об обнаруженных известных уязвимостях. Эдакий “антивирус” с мониторингом работы системы… Такая утилита нашлась, это rkhunter – RootKit Hunter. |
Как видно из man rkhunter этот скрипт предназначен для командной оболочки (таких как bash и т.д.), который выполняет различные проверки на локальной системе для попытки обнаружения известных ему rootkits и malware. Он также производит проверки и выявления изменений в установленных программах, в системных файлах запуска и различные проверки для приложений, которые “слушают” на сетевых интерфейсах сервера.
Устанавливать его просто из портов, для этого переходим в папку:
# cd /usr/ports/security/rkhunter
Далее смотрим, что можно настроить при установке:
# make config
В открывшемся окне советую выбрать все продукты lsof и nmap.
lsof – list open files – показывает на своем стандартном выводе список запущенных процессов.
nmap – Network exploration tool and security / port scanner – инструмент для сетевого исследования и проверки безопасности.
Теперь нам осталось только собрать пакет и установить его:
# make && make install && make clean
После этого необходимо проверить обновления:
# rkhunter --update
На момент написания статьи актуальная версия была [ Rootkit Hunter version 1.3.4 ].
Если вы хотите, чтобы rkhunter сам периодически обновлялся и проверял вашу систему, вам необходимо внести в файл (или создать при его отсутствии):
# nano -w /etc/periodic.conf
— следующие строки:
daily_rkhunter_update_enable="YES" daily_rkhunter_update_flags="--update --nocolors" daily_rkhunter_check_enable="YES" daily_rkhunter_check_flags="--checkall --nocolors --skip-keypress"
Для каждодневного поиска обновлений и каждодневной проверки системы на безопасность. Или же вы можете внести в свой crontab следующую строку:
0 22 * * 7 /usr/local/bin/rkhunter --update; /usr/local/bin/rkhunter -c --createlogfile --cronjob
— по которой в 10 часов вечера каждое воскресенье rkhunter обновится, сделает проверку вашей системы, занесет результаты проверки в лог-файл и не будет спрашивать у вас никаких подтверждений на выполнение.
Также необходимо создать первоначальную базу данных свойств различных системных команд, для того чтобы rkhunter мог сравнивать с ней текущее состояние команд в системе. Делается это так:
# rkhunter --propupd
У установленного скрипта есть конфигурационный файл, расположенный по пути: /usr/local/etc/rkhunter.conf
.
Все значения переменных хорошо описаны, и настроить его под свои нужды вам не составит труда. Обращу внимание на следующие значения переменных:
MAIL-ON-WARNING=“you@your_domain.ru” – электронный адрес, куда будут приходить письма с критическими уведомлениями после проверки системы.
LANGUAGE=en – язык, поддерживаемый скриптом. Его можно оставить без изменения, т.к. rkhunter не поддерживает русский. Список поддерживаемых языков можно узнать командой:
# rkhunter --list languages
ALLOW_SSH_ROOT_USER=no – если вы не присвоите это значение данной переменной, rkhunter будет вам всегда напоминать в своем логе, что разрешать рутовый логин при подключении к серверу по ssh не рекомендуется! Чтобы запретить руту подключаться к системе по ssh, необходимо в конфигурационный файл демона sshd внести следующую строчку:
# nano -w /etc/ssh/sshd_config PermitRootLogin no
и перезапустить демон sshd:
# /etc/rc.d/sshd restart
— теперь rkhunter от вас отстанет.
(Не забудьте внести пользователей, которым будет разрешено становиться рутом при подключении по ssh, в группу wheel. Тогда они смогут получить права root’а на удаленной системе по “su -”).
Следующий параметр заслуживает нашего внимания: STARTUP_PATHS="/etc/rc.d /usr/local/etc/rc.d"
— раскомментируйте и укажите в нем правильные пути расположения скриптов для запуска программ.
SYSLOG_CONFIG_FILE=/etc/syslog.conf
— раскомментируйте и укажите правильный путь к конфигурационному файлу демона syslogd.
Не забудьте сделать бекап вашего конфигурационного файла для rkhunter. При следующем обновлении программы (особенно если это делается автоматически, или при полном обновлении системы по portupgrade -v -a), установщик затрет его новым конфигурационным файлом и все ваши настройки пропадут.
Вот в принципе и все. Не забывайте хоть иногда пробегать глазами лог, который пишет для вас rkhunter. Он расположен по пути: /var/log/rkhunter.log
. (Это если вы не настроили отправку результатов тестирования системы по почте).
Удачи!