Проверка изменений в системе

Posted by

В последнее время читатели, заходившие на блог, могли обнаружить, что я не опубликовываю новые заметки. Все дело в том, что работы много. Но сейчас есть время и можно поделиться некоторыми сформированными в процессе работы заметками. Поэтому я сейчас рассмотрю скрипт () для проверки локальной систему на предмет:

  •          Попыток взлома
  •          Обнаружения известных 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.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

11 − 8 =