Установка и настройка Rkhunter на Centos
Установка через менеджер пакетов yum
1. Установка через менеджер пакетов yum
1 |
# yum install rkhunter |
Просмотр части файлов, которые создаются при установке rkhunter
1 |
# rpm -ql rkhunter-1.4.2-3.el6.noarch | grep "etc\|log" |
1 2 3 4 5 |
/etc/cron.daily/rkhunter /etc/logrotate.d/rkhunter /etc/rkhunter.conf /etc/sysconfig/rkhunter /var/log/rkhunter |
2.Изменяем адрес ,на который будет приходит уведомление в случае появления Warning при проверке
1 |
# nano /etc/sysconfig/rkhunter |
1 2 |
MAILTO=your@email DIAG_SCAN=no |
3.Настраиваем конфигурационный файл rkhunter.conf
1 |
# cp /etc/rkhunter.conf /etc/rkhunter.conf~ |
1 |
# nano /etc/rkhunter.conf |
1 2 3 4 5 6 7 8 9 10 11 12 |
MAIL-ON-WARNING=your@email LOGFILE=/var/log/rkhunter/rkhunter.log APPEND_LOG=1 ALLOW_SSH_PROT_V1=0 ALLOW_SSH_ROOT_USER=unset SSH_CONFIG_DIR=/etc/ssh ENABLE_TESTS=ALL DISABLE_TESTS="suspscan deleted_files packet_cap_apps apps" PKGMGR=RPM SUSPSCAN_DIRS=/tmp /var/tmp SUSPSCAN_MAXSIZE=10240000 SUSPSCAN_THRESH=200 |
4.Проверяем синтаксиса конфигурационного файла rkhunter.conf
1 |
# rkhunter --config-check |
5. Проверяем наличие новой версии Rkhunter
1 |
# rkhunter --versioncheck |
6. Обновляем базу руткитов rkhunter
1 |
# rkhunter --update |
7. Делаем первоначальный снимок/слепок системы, с которой потом будет сравнивать Rkhunter при проверки
1 |
# rkhunter --propupd |
8. Cron-задание добавляется при установке rkhunter
1 |
# ls -al /etc/cron.daily/ | grep rkhunter |
1 |
-rwxr-xr-x 1 root root 1746 Jun 6 22:48 rkhunter |
9. Настройка ротации файла логов с помощью logrotate
1 |
# nano /etc/logrotate.d/rkhunter |
1 2 3 4 5 6 7 8 9 10 11 |
/var/log/rkhunter/rkhunter.log { daily rotate 7 notifempty missingok create 640 root root compress dateext delaycompress copytruncate } |
Логи смотрим в
1 |
# tail -f /var/log/rkhunter/rkhunter.log |
Установка и настройка Rkhunter на Debian
1.Установка Rkhunter
1 |
# apt-get install rkhunter |
2.Настройка Rkhunter
1 |
# cp /etc/rkhunter.conf /etc/rkhunter.conf~ |
1 |
# nano /etc/rkhunter.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
MAIL-ON-WARNING=your@email MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}" TMPDIR=/var/lib/rkhunter/tmp DBDIR=/var/lib/rkhunter/db SCRIPTDIR=/usr/share/rkhunter/scripts LOGFILE=/var/log/rkhunter.log APPEND_LOG=1 ALLOW_SSH_ROOT_USER=unset SSH_CONFIG_DIR=/etc/ssh ENABLE_TESTS="all" DISABLE_TESTS="suspscan hidden_procs deleted_files packet_cap_apps apps" PKGMGR=DPKG SUSPSCAN_DIRS="/tmp /var/tmp" |
Проверяем наличие cron-задания
1 |
# ls -al /etc/cron.daily/rkhunter |
1 |
-rwxr-xr-x 1 root root 982 May 26 2012 /etc/cron.daily/rkhunter |
Изменяем настройки по умолчанию
1 |
# nano /etc/default/rkhunter |
1 2 3 4 5 6 |
# E-Mail, на который отправляются отчеты об еженедельном обновлении баз REPORT_EMAIL=your@email #Включаем автоматическое обновление баз APT_AUTOGEN="true" #Понижение приоритета для уменьшения нагрузки на сервере во время сканирования NICE="19" |
Если включить проверку ежедневную в параметре установив для параметра
CRON_DAILY_RUN значение true, то rkhunter будет запускаться ежедневно с параметрами
1 |
--cronjob --report-warnings-only --appendlog |
Параметр cronjob включает в себя три параметра
1 |
--nocolors |
— этот параметр позволяет включить черно-белый режим вывода результатов работы.
1 |
--check |
— выполнить поиск руткитов, результат будет выведен на стандартный вывод, а также в лог-файл
1 |
-sk, --skip-keypress |
— по умолчанию rkhunter после некоторых наборов тестов просит нажать клавишу “Ввод”. Чтобы таких запросов не поступало можно использовать эту опцию
Остальные параметры
1 |
--report-warnings-only |
— выводятся только предупреждения
1 |
--appendlog |
— в случае использования данного параметра лог /var/log/rkhunter.log будет дополнен, а не перезаписан. По умолчанию, после того, как rkhunter отработает, основной лог перезаписывается, а предыдущее его содержимое сохраняется в файле rkhunter.log.log, при чем, хранится только один
По умолчанию такая проверка в CRON_DAILY_RUN не активирована
Если необходимо использовать другие параметры при проверки,то нужно создать свое cron-задание для rkhunter
3.Тестируем работу rkhunter
1 |
# rkhunter --check |
Логии смотрим в
1 |
# tail -f /var/log/rkhunter.log |
Установка Rkhunter из исходников
1.Скачиваем последнюю стабильную версию,распаковываем и устанавливаем rkhunter
1 |
# cd /tmp |
1 |
# wget http://ncu.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz |
1 |
# tar xvfz rkhunter-1.4.2.tar.gz |
1 |
# cd rkhunter-1.4.2 |
1 |
# ./installer.sh --layout default --install |
1 |
# rm -rf rkhunter* |
2. Добавляем Cron-задание для ежедневной проверки
1 |
# nano /etc/cron.daily/rkhunter.sh |
1 2 3 4 5 6 7 |
#!/bin/sh ( /usr/local/bin/rkhunter --versioncheck /usr/local/bin/rkhunter --update /usr/local/bin/rkhunter --cronjob --report-warnings-only ) | /bin/mail -s 'rkhunter Daily Run (servername)' your@email |
1 |
# chmod +x /etc/cron.daily/rkhunter.sh |
После установки из исходников в конец файла автоматически добавляются следующие настройки
1 2 3 4 5 |
INSTALLDIR=/usr/local DBDIR=/var/lib/rkhunter/db SCRIPTDIR=/usr/local/lib64/rkhunter/scripts TMPDIR=/var/lib/rkhunter/tmp USER_FILEPROP_FILES_DIRS=/etc/rkhunter.conf |
1 |
# cp /etc/rkhunter.conf /etc/rkhunter.conf~ |
Вносим правки
1 2 3 4 5 6 7 8 9 10 11 |
MAIL-ON-WARNING=your@email LOGFILE=/var/log/rkhunter.log APPEND_LOG=1 ALLOW_SSH_PROT_V1=0 ALLOW_SSH_ROOT_USER=unset SSH_CONFIG_DIR=/etc/ssh ENABLE_TESTS=ALL DISABLE_TESTS="suspscan deleted_files packet_cap_apps apps" PKGMGR=RPM SUSPSCAN_MAXSIZE=10240000 SUSPSCAN_THRESH=200 |
После первого сканирования обнаруживается ряд Warning-ов
(в основном на скрытые файлы в каталоге /dev)
Добавляем в список разрешенных некоторые папки/файлы
1 2 3 4 5 6 7 8 9 10 11 12 |
ALLOWHIDDENDIR=/etc/.java ALLOWHIDDENDIR=/dev/.udev ALLOWHIDDENDIR=/dev/.udevdb ALLOWHIDDENDIR=/dev/.udev.tdb ALLOWHIDDENDIR=/dev/.udev/db ALLOWHIDDENDIR=/dev/.udev/rules.d ALLOWHIDDENDIR=/dev/.static ALLOWHIDDENDIR=/dev/.initramfs ALLOWHIDDENDIR=/dev/.SRC-unix ALLOWHIDDENDIR=/dev/.mdadm ALLOWHIDDENDIR=/dev/.systemd ALLOWHIDDENDIR=/dev/.mount |
1 2 3 4 5 6 7 8 |
ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz ALLOWHIDDENFILE=/usr/bin/.fipscheck.hmac ALLOWHIDDENFILE=/usr/bin/.ssh.hmac ALLOWHIDDENFILE=/usr/sbin/.sshd.hmac ALLOWDEVFILE=/dev/.udev/db/block* ALLOWDEVFILE=/dev/.udev/db/class* ALLOWDEVFILE=/dev/.udev/db/devices* ALLOWDEVFILE=/dev/.udev/uevent_seqnum |
Если используется OpenVZ-виртуализация,то отключаем проверки доступных и загруженных модулей
1 |
avail_modules loaded_modules |
Rkhunter информирует
1 2 3 |
Warning: No output found from the lsmod command or the /proc/modules file: /proc/modules output: lsmod output: |
1 |
# nano /etc/rkhunter.conf |
1 |
DISABLE_TESTS="………….. avail_modules loaded_modules" |
Послеи зменения файла rkhunter.conf обновляем снимок
1 |
# rkhunter --propupd |
Запуск вручную
1 |
# rkhunter --check |
Источник:
http://www.tecmint.com/install-linux-rkhunter-rootkit-hunter-in-rhel-centos-and-fedora/
http://www.stephenlang.net/2013/06/malware-detection-rkhunter/