В первом разделе дана инструкция по настройке сигнализации с нуля. Процедура миграции на новую версию изложена во втором разделе.
Установите пакеты nagios-full, nagios-www-apache2,
apache2-mod_ssl, nagwad-templates, nagwad-actions,
alterator-nagios-secondary, nagios-addons-nrpe, nagios-nsca,
nagstamon, nagiosdigger.
Если сервер мониторинга является в то же время контроллером домена,
дополнительно установите пакет nagios-domain-discovery и в файле
/etc/nagios/domain-discovery/main.conf задайте:
HOSTGROUPS=nagwad-nodes
После этого запустите сценарий /usr/sbin/nagios-domain-discovery.
Будет выведен список добавленных в конфигурацию Nagios узлов, а в
директории /etc/nagios/objects появятся соответствующие
файлы. Например:
# cat /etc/nagios/objects/nagios-node.cfg
define host{
host_name nagios-node
use linux-server
alias nagios-node
address 10.88.9.174
hostgroups nagwad-nodes
}
Для регулярного автоматического обновления списка наблюдаемых узлов
включите службу nagios-domain-discovery.timer. Обновление будет
производится раз в 5 минут, но служба nagios будет перезапускаться
только в случае действительного обновления списка.
В том случае, если сервер мониторинга не является контроллером домена,
то для каждого наблюдаемого узла следует вручную записать в директорию
/etc/nagios/objects конфигурационный файл по вышеприведённому
образцу. В этом образце главное — параметр hostgroups: все
проверки, которые обеспечивает пакет nagwad уже описаны в шаблоне и
привязаны к группе nagwad-nodes. Это избавляет от необходимости
перечислять проверки для каждого узла в отдельности.
Для завершения настройки Nagios включите и (пере-) запустите службы
nagios и xinetd.
Рабочее место администратора безопасности строится на основе web-интерфейса Nagios, панели контроля и управления безопасностью Nagstamon и аггрегатора событий Nagiosdigger.
Пользователи и пароли для доступа к web-интерфейсу задаются в файле
/etc/nagios/nagios.web-users. По умолчанию там содержится одна
запись о пользователе “nagios” с паролем “nagios”. При необходимости,
используйте команду
htpasswd /etc/nagios/nagios.web-users <имя_пользователя>
для добавления нового пользователя или смены пароля существующего
пользователя. После этого включите и перезапустите службу httpd2.
Web-интерфейс теперь доступен по адресу https://localhost/nagios.
При первом запуске nagstamon выведет диалоговое окно, в котором
следует настроить новое подключение к Nagios. Используйте для этого
адрес https://localhost/nagios, имя пользователя и пароль, который
вы настроили для web-интерфейса Nagios (по умолчанию “nagios”,
“nagios”).
Для каждого проблемного узла в панели управления доступны команды:
Lock_host — блокировка проблемного узла;NSCA_shell — запуск протоколируемой командной оболочки на
проблемном узле.Для успешного выполнения этих команд на каждом из наблюдаемых узлов
должен быть настроен доступ по SSH. Процедура настройки описана в
отдельном разделе ниже. А на данном этапе можно заранее изготовить
пользовательский ключ командой ssh-keygen.
Для работы nagiosdigger необходима база данных, совместимая с
MySQL. Можно использовать как удалённую БД, так и локальную СУБД. В
последнем случае, установите один из следующих пакетов:
mariadb-server или MySQL-server и запустите службу mariadb или
mysqld соответственно. Для работы с БД также понадобится инструмент
доступа: установите соответственно mariadb-client или
MySQL-client.
Теперь необходимо создать таблицу для хранения записей о событиях.
Можно добавить таблицу к существующей БД или создать новую. Для
создания новой БД подключитесь к СУБД командой mysql и введите
следующие команды:
CREATE DATABASE nagiosdigger;
GRANT INSERT,SELECT ON nagiosdigger.logs TO nagioslogs@localhost
IDENTIFIED BY '<пароль>';
FLUSH PRIVILEGES;
Затем, используйте команды
cat /usr/share/doc/nagiosdigger-0.9/create_tables.sql | mysql -B nagiosdigger
для создания таблицы logs в базе данных nagiosdigger.
Теперь необходимо позаботиться о том, чтобы Nagiosdigger имел доступ
к базе данных. Для этого запишите параметры доступа в файл
/etc/nagios/nagiosdigger/config.ini.
Далее, нужно чтобы в эту таблицу logs попадали данные о событиях.
Для этого в файле /etc/nagios/nagios.cfg задайте
global_service_event_handler=nagiosdigger-service-handler
Если сейчас перезапустить службу nagios, то новые события начнут
добавляться в БД. Однако, это может быть нежелательно, поскольку
наблюдаемые узлы ещё не настроены. При желании можно добавить в БД и
все те события, которые уже записаны в /var/log/nagios/nagios.log
— используйте для этого команду
cat /var/log/nagios/nagios.log | sort | nagiosdigger-import
и, при необходимости также
cat /var/log/nagios/archives/nagios-*.log | sort | nagiosdigger-import
Web-интерфейс Nagiosdigger доступен по адресу https://localhost/nagiosdigger.
Шаблон проверок /etc/nagios/templates/50-nagwad.cfg обеспечивает
проверку следующих случаев нарушения безопасности:
Кроме этих базовых проверок можно добавить в конфигурацию Nagios
дополнительные, основанные на них вторичные проверки. За их
настройку отвечает модуль Центра управления системой “Вторичные
проверки Nagios”, доступный после установки пакета
alterator-nagios-secondary (для обновления списка модулей следует
перезагрузить службу alteratord).
Диалоговое окно модуля позволяет задать базовую проверку, интервал времени и количество событий, после фиксирования которых должна сработать вторичная проверка. Таким образом можно получить новые события, типа “повторный несанкционированный доступ к устройству в течение часа”.
Установите пакеты nagwad, nagios-nrpe, nagios-nsca-send
nagios-plugins.
После этого задайте в файле /etc/nagios/nrpe.cfg
allowed_hosts=<IP_адрес_сервера_мониторинга>
Теперь включите и запустите службу nrpe.
Аналогично, в файле /etc/nagios/send_nsca.cfg задайте
host_address=<IP_адрес_сервера_мониторинга>
Теперь нужно открыть доступ по SSH на узел для администратора
безопасности. Для этого нужно добавить его публичный ключ SSH в файл
/root/.ssh/authorized_keys. Доступ к этому ключу на сервере
мониторинга должен быть доступен непривилегированному пользователю,
в сеансе которого работает Nagsamon.
События неправильного входа в систему будут отслеживаться только в том
случае, если настроено ограничение на количество ошибочных попыток
авторизации. Для настройки пропишите PAM-модуль pam_tally2 в
/etc/pam.d/system-auth с соответствующими параметрами.
Например:
auth required pam_tally2.so deny=4 audit
Для окончания настройки узла, включите и запустите службу
osec.timer.
В переходе на новую версию критическим моментом является обновление
конфигурации наблюдаемых узлов. От описания тех проверок (define
service), которые относятся к nagwad (см. список выше, в разделе
“Настройка вторичных проверок”), следует отказаться в пользу указания
hostgroups nagwad-nodes. Это связано, в первую очередь, с тем, что
поменялись названия некоторых команд NRPE, используемых в проверках.
На стороне наблюдаемого узла, все актуальные команды NRPE, отвечающие
за проверки nagwad, определены в файле
/etc/nagios/nrpe-commands/nagwad.cfg. Во избежание путаницы описание
соответствующих старых команд нужно удалить из файла
/etc/nagios/nrpe.cfg.
Ещё одно отличие заключается в том, что сигнальные файлы nagwad
записываются теперь в директорию /var/log/nagwad, а не в
/var/lib/nagwad.
Об особенностях настройки команды Lock_host в Nagstamon см. далее в разделе “Быстрая блокировка узла”.
Для каждого проблемного узла в Nagstamon из контекстного меню доступна
команда NSCA_shell. Она рассчитана на SSH-доступ на проблемный узел
для пользователя root. Выполнение команды приводит к открытию нового
эмулятора терминала с сеансом на проблемном узле. Администратор
безопасности может разобраться с возникшей проблемой и, в случае
успешного её решения, должен переместить файл
/var/log/nagwad/<проблема>/<проблема>_XXXX в
/var/log/nagwad/<проблема>_archived/.
Замечание. Если сеанс от пользователя root по каким-то причинам
невозможен, то следует отредактировать команду NSCA_shell (через
графический интерфейс), задав имя другого пользователя, для которого
настроен доступ по SSH на любой из наблюдаемых узлов. Естественно, что
в этом случае все системные операции и, в частности, операции с
сигнальными файлами в /var/log/nagwad/ потребуют повышения каким-то
образом привилегий.
Все введённые командные строки протоколируются! И после завершения сеанса на удалённом узле автоматически передаются на сервер мониторинга, где связываются с узлом и сработавшей проверкой в качестве комментария к ней. Эти комментарии доступны для просмотра через web-интерфейс Nagios.
Вторая команда в контекстном меню Nagstamon — Lock_host.
Также как и NSCA_shell она рассчитана теперь на SSH-доступ на
проблемный узел для пользователя root. Если сеанс от пользователя
root по каким-то причинам невозможен, то следует отредактировать
эту команду соответствующим образом. Так, в предыдущей версии системы
использовался пользователь nagios с последующим автоматическим
повышением привилегий посредством специальной настройки sudo.