Esta sección explica cómo configurar Zabbix para recuperar secretos de CyberArk Vault CV12.
El almacén debe estar instalado y configurado como se describe en la documentación oficial de CyberArk.
Para obtener información sobre cómo configurar TLS en Zabbix, consulte Almacenamiento de secretos.
El acceso a un secreto con credenciales de base de datos se configura por separado para cada componente de Zabbix.
Para obtener credenciales de base de datos desde el vault para el servidor o proxy de Zabbix, especifique los siguientes parámetros de configuración en el archivo de configuración:
Vault
- qué proveedor de vault debe utilizarse;VaultURL
- URL HTTP[S] del servidor de vault;VaultDBPath
- consulta al secreto del vault que contiene las credenciales de la base de datos que se recuperarán mediante las claves "Content" y "UserName" (esta opción solo puede usarse si no se especifican DBUser y DBPassword);VaultTLSCertFile
, VaultTLSKeyFile
- nombres de los archivos de certificado y clave SSL; configurar estas opciones no es obligatorio, pero sí altamente recomendable;VaultPrefix
- prefijo personalizado para la ruta o consulta del vault, dependiendo del vault; si no se especifica, se utilizará el valor predeterminado más adecuado.Los parámetros de configuración Vault
, VaultURL
, VaultTLSCertFile
, VaultTLSKeyFile
y VaultPrefix
también se utilizan para la autenticación en el vault al procesar macros secretas del vault por el servidor de Zabbix (y el proxy de Zabbix, si está configurado). El servidor y los proxies de Zabbix no abrirán macros secretas del vault que contengan credenciales de base de datos de VaultDBPath.
El servidor y el proxy de Zabbix leen los parámetros de configuración relacionados con el vault de los archivos zabbix_server.conf y zabbix_proxy.conf al iniciar.
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": <contraseña>,
"UserName": <usuario>,
"Address": <dirección>,
"Database": <BaseDeDatos>,
"PasswordChangeInProcess":<CambioDeContraseñaEnProceso>
}
Para obtener las credenciales de la base de datos desde el vault para la interfaz web de Zabbix, especifique los siguientes parámetros durante la instalación de la interfaz web.
Parámetro | Obligatorio | Valor por defecto | Descripción |
---|---|---|---|
Punto final de la API del vault | sí | https://localhost:1858 | Especifique la URL para conectarse al vault en el formato esquema://equipo:puerto |
Prefijo del vault | no | /AIMWebService/api/Accounts? | Proporcione un prefijo personalizado para la ruta o consulta del vault. Si no se especifica, se utiliza el valor por defecto. |
Cadena de consulta secreta del vault | sí | Una consulta que especifica desde dónde se deben recuperar las credenciales de la base de datos. Ejemplo: AppID=foo&Query=Safe=bar;Object=buzz |
|
Certificados del vault | no | Después de marcar la casilla, aparecerán parámetros adicionales que permitirán configurar la autenticación del cliente. Aunque este parámetro es opcional, se recomienda encarecidamente habilitarlo para la comunicación con CyberArk Vault. | |
Archivo de certificado SSL | no | conf/certs/cyberark-cert.pem | Ruta al archivo de certificado SSL. El archivo debe estar en formato PEM. Si el archivo de certificado también contiene la clave privada, deje vacío el parámetro de archivo de clave SSL. |
Archivo de clave SSL | no | conf/certs/cyberark-key.pem | Nombre del archivo de clave privada SSL utilizado para la autenticación del cliente. El archivo debe estar en formato PEM. |
Para utilizar CyberArk Vault para almacenar valores de macro de usuario Vault secret, asegúrese de que:
El servidor Zabbix (y el proxy Zabbix, si está configurado) requieren acceso a los valores de macro Vault secret desde el vault. La interfaz web de Zabbix no necesita dicho acceso.
El valor de la macro debe contener una consulta (como query:key
).
Consulte Macros de Vault secret para obtener información detallada sobre el procesamiento de valores de macro por parte de Zabbix.
El símbolo de dos puntos (":") está reservado para separar la consulta de la clave.
Si una consulta en sí misma contiene una barra diagonal o dos puntos, estos símbolos deben ser codificados en URL ("/" se codifica como "%2F", ":" se codifica como "%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": <password>,
"UserName": <username>,
"Address": <address>,
"Database" :<Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
Para actualizar una configuración existente para recuperar secretos de un CyberArk Vault:
Actualice los parámetros del archivo de configuración del servidor o proxy de Zabbix como se describe en la sección Credenciales de base de datos.
Actualice la configuración de conexión a la base de datos reconfigurando el frontend de Zabbix y especificando los parámetros requeridos como se describe en la sección Frontend. Para reconfigurar el frontend de Zabbix, abra la URL de configuración del frontend en el navegador:
Alternativamente, estos parámetros pueden establecerse en el archivo de configuración del frontend (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'] = '';
Para actualizar una configuración existente para recuperar secretos de un HashiCorp Vault, consulte Configuración de HashiCorp.