1. Настройка CyberArk

В этом разделе объясняется, как настроить Zabbix для извлечения секретов из CyberArk Vault CV12.

Хранилище должно быть развёрнуто и настроено, как описано в официальной документации CyberArk [en].

Чтобы узнать о настройке TLS в Zabbix, смотрите Хранение секретов.

Учётные данные базы данных

Доступ к секрету с учётными данными базы данных настраивается для каждого компонента Zabbix отдельно.

Сервер и прокси

Чтобы получить учетные данные базы данных из хранилища для Zabbix сервера или прокси, укажите следующие параметры конфигурации в файле конфигурации:

  • Vault — какой поставщик хранилища должен использоваться;
  • VaultURL — HTTP[S] URL сервера хранилища;
  • VaultDBPath — запрос к секрету хранилища, содержащему учётные данные базы данных, которые будут извлечены по ключам «Content» и «UserName» (эта опция может использоваться, только если не указаны DBUser и DBPassword);
  • VaultTLSCertFile, VaultTLSKeyFile — имена файлов сертификата и ключа SSL; настройка этих параметров не является обязательной, но настоятельно рекомендуется;
  • VaultPrefix — пользовательский префикс для пути хранилища или запроса в зависимости от хранилища; если не указано, будет использовано наиболее подходящее значение по умолчанию.

Zabbix сервер также использует параметры конфигурации Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile и VaultPrefix для аутентификации хранилища при обработке макросов секрета хранилища.

Zabbix сервер и Zabbix прокси считывают параметры конфигурации, связанные с хранилищем, из zabbix_server.conf и zabbix_proxy.conf при запуске.

Пример
  1. В zabbix_server.conf укажите следующие параметры:
Vault=CyberArk
       VaultURL=https://127.0.0.1:1858
       VaultDBPath=AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
       VaultTLSCertFile=cert.pem
       VaultTLSKeyFile=key.pem
       VaultPrefix=/AIMWebService/api/Accounts?
  1. Zabbix отправит следующий запрос API в хранилище:
curl \
       --header "Content-Type: application/json" \
       --cert cert.pem \
       --key key.pem \
       https://127.0.0.1:1858/AIMWebService/api/Accounts?AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
  1. Ответ хранилища будет содержать ключи «Content» и «UserName»:
{
           "Content": <пароль>,
           "UserName": <имя_пользователя>,
           "Address": <адрес>,
           "Database": <База_данных>,
           "PasswordChangeInProcess":<ВыполняетсяСменаПароля>
       }
  1. В результате Zabbix будет использовать следующие учётные данные для аутентификации в базе данных:
  • Имя пользователя: <имя_пользователя>
  • Пароль: <пароль>

Веб-интерфейс

Чтобы получить учётные данные базы данных из хранилища для веб-интерфейса Zabbix, укажите следующие параметры во время установки веб-интерфейса.

  1. На шаге Настройка соединения с базой данных (Configure DB Connection) установите параметр Хранить учётные данные в (Store credentials in) в значение «CyberArk Vault».

  1. Затем заполните дополнительные параметры:
Параметр Обязательный Значение по умолчанию Описание
API endpoint Хранилища
(Vault API endpoint)
да https://localhost:1858 Укажите URL для подключения к хранилищу в формате схема://хост:порт
Префикс Хранилища
(Vault prefix)
нет /AIMWebService/api/Accounts? Укажите пользовательский префикс для пути или запроса хранилища. Если не указано, используется значение по умолчанию.
Строка запроса к секрету Хранилища
(Vault secret query string)
да Запрос, который указывает, откуда следует извлекать учётные данные базы данных.
Пример: AppID=foo&Query=Safe=bar;Object=buzz
Сертификаты хранилища
(Vault certificates)
нет После установки флажка появятся дополнительные параметры, позволяющие настроить аутентификацию клиента. Хотя этот параметр является необязательным, настоятельно рекомендуется включить его для взаимодействия с хранилищем CyberArk.
Файл сертификата SSL
(SSL certificate file)
нет conf/certs/cyberark-cert.pem Путь к файлу сертификата SSL. Файл должен быть в формате PEM.
Если файл сертификата также содержит закрытый ключ, оставьте параметр файла ключа SSL пустым.
Файл ключа SSL
(SSL key file)
нет conf/certs/cyberark-key.pem Имя файла закрытого ключа SSL, используемого для аутентификации клиента. Файл должен быть в формате PEM.

Значения пользовательских макросов

Чтобы использовать CyberArk Vault для хранения значений пользовательских макросов Секрет Хранилища, убедитесь, что:

Доступ к значениям макросов Секрет Хранилища из хранилища требуется только серверу Zabbix. Другим компонентам Zabbix (прокси, веб-интерфейс) такой доступ не нужен.

Значение макроса должно содержать запрос (в виде запрос:ключ).

Подробную информацию об обработке значений макросов Zabbix смотрите в макросах секрета Хранилища.

Синтаксис запроса

Символ двоеточия («:») зарезервирован для отделения запроса от ключа.

Если сам запрос содержит косую черту или двоеточие, эти символы должны указываться с использованием URL-кодирования («/» кодируется как «%2F», «:» кодируется как «%3A»).

Пример

  1. В Zabbix добавьте пользовательский макрос {$PASSWORD} с типом «Секрет Хранилища» и со значением AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

  1. Zabbix отправит следующий запрос API в хранилище:
curl \
       --header "Content-Type: application/json" \
       --cert cert.pem \
       --key key.pem \
       https://127.0.0.1:1858/AIMWebService/api/Accounts?AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
  1. Ответ хранилища будет содержать ключ «Content»:
{
           "Content": <пароль>,
           "UserName": <имя_пользователя>,
           "Address": <адрес>,
           "Database" :<База_данных>,
           "PasswordChangeInProcess":<ВыполняетсяСменаПароля>
       }
  1. В результате Zabbix раскроет макрос {$PASSWORD} в значение — <пароль>.

Обновление существующей конфигурации

Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища CyberArk:

  1. Обновите параметры файла конфигурации сервера Zabbix или прокси, как описано в разделе Учётные данные базы данных.

  2. Обновите параметры подключения к БД, перенастроив веб-интерфейс Zabbix и указав требуемые параметры, как описано в разделе Веб-интерфейс. Чтобы перенастроить веб-интерфейс Zabbix, откройте URL-адрес настройки веб-интерфейса в браузере:

  • для Apache: http://<ip_или_имя_сервера>/zabbix/setup.php
  • для Nginx: http://<ip_или_имя_сервера>/setup.php

Кроме того, эти параметры можно задать в файле конфигурации веб-интерфейса (zabbix.conf.php):

$DB['VAULT']                    = 'CyberArk';
       $DB['VAULT_URL']                = 'https://127.0.0.1:1858';
       $DB['VAULT_DB_PATH']            = 'AppID=foo&Query=Safe=bar;Object=buzz';
       $DB['VAULT_TOKEN']              = '';
       $DB['VAULT_CERT_FILE']          = 'conf/certs/cyberark-cert.pem';
       $DB['VAULT_KEY_FILE']           = 'conf/certs/cyberark-key.pem';
       $DB['VAULT_PREFIX']             = '';
  1. Настройте пользовательские макросы, как описано в разделе Значения пользовательских макросов, если необходимо.

Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища HashiCorp, смотрите Настройка HashiCorp.