В последнее время читатели, заходившие на блог, могли обнаружить, что я не опубликовываю новые заметки. Все дело в том, что работы много. Но сейчас есть время и можно поделиться некоторыми сформированными в процессе работы заметками. Поэтому я сейчас рассмотрю скрипт (rkhunter) для проверки локальной систему на предмет:
- Попыток взлома
- Обнаружения известных rootkits & malware (присутствует своя база данных отпечатков)
- Изменений в установленных программах, системных файлах запуска и проверок для приложений, которые ожидают соединения на интерфейсах сервера.
Моя система:
[admin@TCentOS ~]$ uname -a && cat /etc/redhat-release
Linux TCentOS 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
CentOS release 6.4 (Final)
Устанавливаем данный скрипт из репозитариев:
[admin@TCentOS ~]$ sudo yum install -y rkhunter
Далее обновим базу отпечатков с помощью которой будет производиться сравнительный анализ работы:
[admin@TCentOS ~]$ sudo rkhunter --update
[ Rootkit Hunter version 1.4.0 ]
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/zh [ Updated ]
Checking file i18n/zh.utf8 [ Updated ]
Первый раз следует запустить rkhunter с ключом «–c» для проверки конфигурационного файла:
сканирование можно провести с помощью команды:
[admin@TCentOS ~]$ sudo rkhunter --check
или в режиме вывода только предупреждений:
[admin@TCentOS ~]$ sudo rkhunter -c --rwo
В идеальном случае эта команда не должна выдать никаких сообщений, но даже на чистой системе вывод на экран консоли, скорее всего, будет похоже на это:
[admin@TCentOS ~]$ sudo rkhunter -c --rwo
Warning: Hidden file found: /etc/.sudoers.swp: Vim swap file, version 7.2
You have new mail in /var/spool/mail/admin
Данные выше предупреждения, если они не критичны, убираются через правку параметров в файле /etc/rkhunter.conf:
На заметку: если в режиме предупреждения идет жалоба на файл (как правило системный) используем директиву: ALLOWHIDDENFILE, если каталог, то директиву: ALLOWHIDDENDIR.
[admin@TCentOS ~]$ sudo nano /etc/rkhunter.conf
ALLOWHIDDENFILE=/etc/.sudoers.swp
Чтобы убрать предупреждение о разрешении подключения по ssh с именем root (Warning: The SSH configuration option… )добавьте параметр:
ALLOW_SSH_ROOT_USER=yes
И добавьте параметр PermitRootLogin yes в /etc/ssh/sshd_config командой.
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
Обычно этот параметр там есть, но он закомментирован.
Иначе будет предупреждение: Warning: The SSH configuration option ‘PermitRootLogin’ has not been set.
Предупреждения – Warning: Hidden file found: убираются параметрами:
ALLOWHIDDENDIR="/etc/.java"
ALLOWHIDDENDIR="/dev/.udev /dev/.udevdb /dev/.udev.tdb"
ALLOWHIDDENDIR="/dev/.static"
ALLOWHIDDENDIR="/dev/.initramfs"
ALLOWHIDDENDIR="/dev/.SRC-unix"
ALLOWHIDDENDIR="/dev/.mdadm
ALLOWHIDDENFILE="/etc/.java"
ALLOWHIDDENFILE="/usr/share/man/man1/..1.gz"
ALLOWHIDDENFILE="/usr/bin/.fipscheck.hmac"
ALLOWHIDDENFILE="/usr/bin/.ssh.hmac"
ALLOWHIDDENFILE="/usr/sbin/.sshd.hmac"
В файле /etc/rkhunter.conf есть и другие примеры настройки и последующей работы данного скрипта.
На заметку: Не забываем сохранить внесенные изменения.
После каждого изменения файла /etc/rkhunter.conf нужно выполнить команду:
[admin@TCentOS ~]$ sudo rkhunter --propupd
[ Rootkit Hunter version 1.4.0 ]
File created: searched for 166 files, found 132
Далее создадим скрипт ежедневного задания, которое будет делать следующее:
- Проверять наличие новой версии (–versioncheck Check for latest version of program)
- Проверять актуальность обновлений (–update Check for updates to database files)
- Сформировывать отчет и отсылать его на почту администратору
admin@TCentOS ~]$ sudo nano /etc/cron.daily/rkhunter.sh
Вместо (TCentOS) следует подставить имя хоста (команда hostname выведет текущее имя хоста) на которой осуществляется запуск утилиты rkhunter, и указать необходимый почтовый адрес на который присылать отчет о проделанных действиях (у меня указано, admin@TCentOS)
#!/bin/sh
(
/usr/bin/rkhunter --versioncheck
/usr/bin/rkhunter --update
/usr/bin/rkhunter --cronjob --report-warnings-only
) | /bin/mail -s 'rkhunter Daily Run (TCentOS)' admin@TCentOS
Ниже скрин, как наглядно выглядит скрипт:
Наделяем созданный файл rkhunter.sh правами на исполнение:
[admin@TCentOS ~]$ sudo chmod +x /etc/cron.daily/rkhunter.sh
Ниже скриншот сформированных отчетов данным скриптом:
Письма располагаются в каталоге /var/spool/mail/admin
, где admin – это моя учетная запись в системе.
Вот собственно и все, что можно было рассмотреть при использовании данного скрипта на использование в Вашей системе, небольшая проверка есть, и отсылка ежедневного отчета на почту, как небольшое дополнение. С уважением, ekzorchik.