В этом разделе объясняется, как настроить 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 при запуске.
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?
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
{
"Content": <пароль>,
"UserName": <имя_пользователя>,
"Address": <адрес>,
"Database": <База_данных>,
"PasswordChangeInProcess":<ВыполняетсяСменаПароля>
}
Чтобы получить учётные данные базы данных из хранилища для веб-интерфейса Zabbix, укажите следующие параметры во время установки веб-интерфейса.
Параметр | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|
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»).
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content
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
{
"Content": <пароль>,
"UserName": <имя_пользователя>,
"Address": <адрес>,
"Database" :<База_данных>,
"PasswordChangeInProcess":<ВыполняетсяСменаПароля>
}
Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища CyberArk:
Обновите параметры файла конфигурации сервера Zabbix или прокси, как описано в разделе Учётные данные базы данных.
Обновите параметры подключения к БД, перенастроив веб-интерфейс Zabbix и указав требуемые параметры, как описано в разделе Веб-интерфейс. Чтобы перенастроить веб-интерфейс Zabbix, откройте URL-адрес настройки веб-интерфейса в браузере:
Кроме того, эти параметры можно задать в файле конфигурации веб-интерфейса (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'] = '';
Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища HashiCorp, смотрите Настройка HashiCorp.