Введение
Для решения задач централизованного протоколирования и анализа журналов аудита, а также для организации распределенного мониторинга сети, жизнеспособности и целостности серверов в Astra Linux используется программное решение Zabbix, реализованное на web-сервере Apache, СУБД (MySQL, Oracle, PostgreSQL, SQLite) и языке сценариев PHP.
Zabbix предоставляет гибкий механизм сбора данных. Все отчеты и статистика Zabbix, а также параметры настройки компонентов Zabbix доступны через web-интерфейс. В web-интерфейсе реализован следующий функционал:
- Вывод отчетности и визуализация собранных данных;
- Создание правил и шаблонов мониторинга состояния сети и узлов;
- Определение допустимых границ значений заданных параметров;
- Настройка оповещений;
- Настройка автоматического реагирования на события безопасности.
Архитектура
Zabbix состоит из следующих основных программных компонентов:
- Сервер — является основным компонентом, который выполняет мониторинг, взаимодействует с прокси и агентами, вычисляет триггеры, отправляет оповещения. Является главным хранилищем данных конфигурации, статистики, а также оперативных данных;
- Агенты — разворачиваются на наблюдаемых системах для активного мониторинга за локальными ресурсами и приложениями и для отправки собранных данных серверу или прокси;
- Прокси — может собирать данные о производительности и доступности от имени сервера. Прокси является опциональной частью Zabbix и может использоваться для снижения нагрузки на сервер;
- База данных — вся информация о конфигурации, а также собранные Zabbix данные, хранятся в базе данных;
- Web-интерфейс — используется для доступа к Zabbix из любого места и с любой платформы.
Zabbix может использоваться с СУБД PostgreSQL или с СУБД MySQL. Выбор СУБД осуществляется при установке пакета
Установку пакета Zabbix можно осуществить с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки.
Установка пакета
Установка сервера Zabbix с СУБД PostgreSQL выполняется командой:
Создание базы данных
Для создания базы данных сервера используются сценарии по созданию базы данных для PostgreSQL, например:
Далее необходимо импортировать исходную схему и данные сервера на PostgreSQL:
Для настройки базы данных сервера откорректировать конфигурационный файл zabbix_server.conf:
При этом в параметре DBPassword указывается пароль пользователя PostgreSQL.
Основные параметры конфигурационного файла сервера приведены в таблице:
Разрешение серверу запускаться от имени пользователя root.
Если запуск от имени root не разрешен (значение «0»), а сервер запускается от имени root, то сервер попробует переключиться на пользователя zabbix.
Если сервер запускается от имени обычного пользователя, то параметр игнорируется. Значение по умолчанию — 0.
Запуск сервера и управление сервером
Сервер работает как демон. Для запуска сервера выполнить команду:
Для нормальной работы сервера необходимо использовать региональные настройки с кодировкой UTF-8т (см. Добавление дополнительной региональной настройки и раскладки клавиатуры), иначе некоторые текстовые элементы данных могут интерпретироваться некорректно.
В следующей таблице приведены основные параметры, используемые при управлении сервером.
Путь к файлу конфигурации.
Значение по умолчанию /usr/local/etc/zabbix_server.conf.
Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент.
Пример:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute
Агенты
Агенты устанавливаются на контролируемые компьютеры и могут выполнять пассивные и активные проверки:
- При пассивной проверке агент отвечает на запрос от сервера или прокси;
- При активной проверке агент получает от сервера перечень данных для мониторинга, затем осуществляет периодический сбор и отправку данных серверу согласно полученному перечню.
Выбор между пассивной и активной проверкой осуществляется выбором соответствующего типа элемента данных. Агент обрабатывает элементы данных типов > и >.
Установка и настройка агента в UNIX
Для установки агента в UNIX-системах выполнить команду:
Агент UNIX работает как демон, для запуска выполнить команду:
Для остановки, перезапуска и просмотра состояния агента UNIX используются стандартные команды systemct:
Установка и настройка агента в Windows
В среде Windows агент работает как служба Windows. Агент Windows распространяется в виде zip-архива.
Файл агента bin\win64\zabbix_agentd.exe и файл конфигурации conf\zabbix_agentd.win.conf из zip-архива необходимо скопировать в один каталог, например, в C:\zabbix.
При необходимости — откорректировать конфигурационный файл c:\zabbix\zabbix_agentd.win.conf.
Для установки агента Windows как службы используется следующая команда:
Основные параметры конфигурационного файла агента.
Основные параметры конфигурационного файла агента приведены в таблице:
Параметр | Описание |
---|---|
AllowRoot | Параметр используется только для агентов UNIX. Разрешение агенту запускаться от имени пользователя root. Если запускаться от имени root не разрешено (значение «0») , а агент запускается от имени root, то он попробует переключиться на пользователя zabbix. Если агент запускается от имени обычного пользователя, то параметр игнорируется. Значение по умолчанию — 0. |
EnableRemoteCommands |
Указывает, разрешены ли удаленные команды с сервера:
- 0 — Не разрешены;
- 1 — Разрешены.
- file — запись журнала в файл, указанный в параметре LogFile;
- system— запись журнала в syslog (для агентов UNIX) или в журнал событий Windows (для агентов Windows);
- console — вывод журнала в стандартный вывод
Список IP-адресов или имен серверов, разделенных запятой.
Входящие соединения будут приниматься только с адресов, указанных в этом параметре.
- unencrypted — принимать подключения без защитного преобразования данных (по умолчанию);
- psk — принимать подключения с TLS и pre-shared ключом (PSK);
- cert — принимать подключения с TLS и сертификатом
Обязательный параметр если заданы TLS-сертификат или параметры PSK, в противном случае — нет.
Как агент должен соединяться с сервером или прокси.
Используется активными проверками. Можно указать только одно из значений:
- unencrypted — подключаться без использования защитного преобразования данных (по умолчанию);
- psk — подключаться, используя TLS и pre-shared ключом (PSK);
- cert — подключаться, используя TLS и сертификат
Управление агентом
Основные параметры, используемые при управлении агентом, приведены в таблице:
Настройка сервера
Для настройки севера нужно импортировать шаблоны для Astra Linux, для чего:
- Открыть в браузере WEB-интерфейс Zabbix;
Перейти в Настройки — Шаблоны и нажать кнопку Импорт:
- Нажать кнопку Обзор;
- Выбрать шаблон в файле /usr/share/zabbix/conf/zabbix_astra_template.xml;
- Перейти в Настройки — Узлы сети ;
- Выбрать нужный узел;
- Перейти в закладку «Шаблоны»:
- Нажав Выбрать в группе узлов сети Astra clients выбрать шаблоны Template Astra Linux и Template Astra Linux Parsec для Astra Linux Special Edition в режиме МКЦ и МРД и добавить их к узлу, нажав «Выбрать»:
- Обновить конфигурацию узла с помощью кнопки Обновить:
Настройка агента
- В конфигурационном файле агента /etc/zabbix/zabbix_agentd.conf:
- В строках Server и ServerActive указать IP-адрес (при настроенном DNS — имя) сервера;
- В строке Hostname указать имя агента. Имя агента должно совпадать с указанным на сервере именем агента и может содержать буквенно-цифровые символы, пробелы, точки, тире и подчеркивания:
### Option: Server # List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers. # Incoming connections will be accepted only from the hosts listed here. # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address. # '0.0.0.0/0' can be used to allow any IPv4 address. # Example: Server=127.0.0.1,192.168.1.0/24. 1,2001:db8::/32,zabbix.domain # # Mandatory: no # Default: # Server= Server=192.168.27.110 ### Option: ServerActive # List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks. # If port is not specified, default port is used. # IPv6 addresses must be enclosed in square brackets if port for that host is specified. # If port is not specified, square brackets for IPv6 addresses are optional. # If this parameter is not specified, active checks are disabled. # Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051. 1,[12fc::1] # # Mandatory: no # Default: # ServerActive= ServerActive=192.168.27.110 ### Option: Hostname # Unique, case sensitive hostname. # Required for active checks and must match hostname as configured on the server. # Value is acquired from HostnameItem if undefined. # # Mandatory: no # Default: # Hostname= Hostname=astraclient
После выполнения указанных выше действий отдельные события аудита будут отображаться в WEB-интерфейсе zabbix-сервера в разделе Мониторинг:
Для определения дополнительных событий аудита, подлежащих регистрации, необходимо в разделе Аудит приложения — Управление политикой безопасности ( fly-admin-smc ) установить переключатели Успех и Отказ напротив регистрируемых событий аудита. Для применения изменений необходимо перезагрузить сессию пользователя или перезагрузить компьютер:
Настройка триггеров
Триггеры — это логические выражения, которые «оценивают» получаемые данные и отражают текущее состояние системы. Ш аблоны Zabbix для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) содержат общие настройки, использующихся для сбора системных данных Astra Linux, и крайне непрактично наблюдать за этими данными всё время в ожидании выполнения условия, приводящего к оповещению или которое заслуживающего внимания. Работа по «оценке» данных может выполняться автоматически с использованием триггеров в соответствии с установленной в сети политикой безопасности.
- В WEB-интрефейе сервера перейти в Настройка ->Шаблоны ->Триггеры;
- Нажать кнопку Создать триггер:
- В появившемся окне:
- Задать имя триггера;
- Установить важность триггера;
- Нажать кнопку Добавить для задания выражения триггера:
- Заполнить открывшуюся форму Условие (пример показан на рисунке):
- Нажать кнопку Вставить;
- Нажать кнопку Добавить после чего в открывшемся окне отобразится строка с добавленным триггером:
Для проверки срабатывания триггера на компьютере с установленным zabbix-агентом выполнить произвольную команду с использованием sudo, например:
В случае успеха примерно через 1-2 минуты на сервере в разделе Мониторинг -> Проблемы отобразится факт срабатывание триггера: