El cifrado de la configuración de automatización protege las credenciales confidenciales en el archivo de configuración de copia de seguridad local del Agente de automatización. Cuando el agente almacena una copia de seguridad de la configuración del clúster en el disco, cifra los campos confidenciales, incluidas las contraseñas y las claves de autenticación, mediante AES-256-GCM en lugar de escribirlos en texto plano.
Esta función ayuda a las organizaciones a cumplir con los requisitos de cumplimiento de marcos como PCI-DSS, HIPAA y SOC 2.
El cifrado está desactivado de forma predeterminada. Las implementaciones existentes permanecerán sin cifrar hasta que actives explícitamente esta función.
Métodos de cifrado
Ops Manager admite tres métodos de cifrado para la configuración de automatización:
Método | Lo mejor para | Fuente de la clave de cifrado de claves (KEK) |
|---|---|---|
En línea (KMIP) | Entornos con infraestructura KMIP | Servidor KMIP gestionado por el cliente |
Sin conexión | Entornos aislados o independientes | Clave generada por máquina |
predeterminado | Alineación automática del cumplimiento | Sigue la configuración de cifrado en reposo |
En línea (KMIP)
Tip
Usar en línea (ModoKMIP cuando la infraestructura KMIP está disponible. Proporciona la máxima seguridad porque la clave maestra nunca sale de su HSM.
El modo en línea es ideal para entornos con infraestructura KMIP. La clave maestra reside en un HSM externo compatible con KMIP y nunca se almacena en disco. Una clave de arranque independiente protege localmente las credenciales del certificado KMIP, lo que permite reinicios automáticos.
Nota
Este método requiere un servidor compatible con KMIP existente. Debe configurar la autenticación de certificado de cliente (mTLS), que coincida con la de MongoDB Enterprise Advanced.
security.kmip.* configuración.
Para usar el modo en línea, cambie encryptionMethod a ONLINE_KMS y proporcione los detalles de su servidor KMIP.
Parameter | Descripción | Requerido |
|---|---|---|
| Nombre de host o dirección IP del servidor KMIP | Sí |
| Puerto del servidor KMIP. Predeterminado: | No |
| Ruta del certificado CA (Unix) | Sí |
| Ruta del certificado CA (Windows) | Condicional |
| Ruta del certificado del cliente (Unix) | Sí |
| Ruta del certificado de cliente (Windows) | Condicional |
| Contraseña del certificado de cliente (si PEM está cifrado) | No |
| UUID de una clave existente en el servidor KMIP. Si está vacío, el agente crea automáticamente una nueva clave. | No |
| Utilice KMIP 1.0/1.1 (Crear+Obtener) en lugar de KMIP 1.2 (Cifrar/Descifrar). Úselo cuando el servidor KMIP no admita KMIP 1.2. | No |
Esquema de configuración
{ "configEncryption": { "encryptionMethod": "ONLINE_KMS", "kmip": { "serverName": "<hostname>", "port": 5696, "serverCAFile": "<path-unix>", "serverCAFileWindows": "<path-windows>", "clientCertificateFile": "<path-unix>", "clientCertificateFileWindows": "<path-windows>", "clientCertificatePassword": "<password>", "keyIdentifier": "<optional-uuid>", "useLegacyProtocol": false } } }
Antes de comenzar
Verifique lo siguiente antes de habilitar el cifrado KMIP en línea:
Protocolo de enlace TLS: Ejecute el siguiente comando y confirme que el protocolo de enlace se realiza correctamente y que el certificado es aceptado:
openssl s_client -connect <serverName>:<port> \ -CAfile <serverCAFile> -cert <clientCertificateFile> Permisos del certificado: Confirme que el certificado del cliente esté autorizado para las operaciones KMIP requeridas. Verifique la consola de administración o los registros de su servidor KMIP.
Accesibilidad de la red: Confirme que el host del agente puede acceder al servidor KMIP en el puerto configurado. Verifique las reglas del firewall, los grupos de seguridad y la resolución DNS.
Caducidad del certificado: Asegúrese de que tanto el certificado de la CA del servidor como el del cliente no hayan caducado. Para comprobarlo, ejecute:
openssl x509 -enddate -noout -in <certFile>
Permisos del servidor KMIP
El certificado del cliente debe estar autorizado para las siguientes operaciones en el servidor KMIP:
Modo KMIP | Operaciones requeridas |
|---|---|
Predeterminado (KMIP 1.2) | Crear, cifrar y descifrar con claves simétricas. |
Legado ( | Crear, Obtener en claves simétricas |
Si proporciona keyIdentifier, no se requiere el permiso de creación. Consulte la documentación de su servidor KMIP para configurar los permisos adecuados para el certificado del cliente.
Sin conexión
El modo sin conexión es ideal para entornos aislados o independientes. El agente obtiene una clave de cifrado a partir de un UUID proporcionado por el cliente, combinado con parámetros físicos de la máquina. Este método no requiere dependencias externas.
Para usar el modo sin conexión, establezca encryptionMethod en OFFLINE_SOFTWARE y proporcione el siguiente parámetro:
Parameter | Descripción | Requerido |
|---|---|---|
| UUID utilizado para la derivación de claves. Actúa como disparador de rotación. | Sí |
UUID de sal dinámica
El dynamicSalt es un UUID criptográficamente aleatorio que sirve como entrada adicional para el proceso de derivación de clave.
Interfaz de usuario del administrador de operaciones: Haga clic Generate para generar automáticamente un nuevo UUID.
API pública: Proporcione un UUID criptográficamente aleatorio 4 (Versión). Utilice un generador de números aleatorios seguro. Evite los UUID predecibles, secuenciales o codificados.
Cambiar la sal dinámica a un nuevo UUID activa la rederivación de la clave, que es el mecanismo de rotación principal para el modo fuera de línea.
Esquema de configuración
{ "configEncryption": { "encryptionMethod": "OFFLINE_SOFTWARE", "dynamicSalt": "<UUID>" } }
predeterminado
Si el cifrado en reposo (security.enableEncryption) está habilitado para cualquier proceso en la implementación, el cifrado sin conexión se activa automáticamente sin necesidad de configuración explícita. De lo contrario, la configuración permanece sin cifrar.
Nota
El modo predeterminado no admite la rotación manual de teclas.
Configura el cifrado
Puede configurar el cifrado de la configuración de automatización mediante la interfaz de usuario de Ops Manager o la API pública.
A través de la interfaz de usuario de Ops Manager
Configure el cifrado a nivel de proyecto en Ops Manager.
Rellene los campos obligatorios para el método elegido.
Para obtener descripciones de los campos, consulte En línea (KMIP) o fuera de línea.
A través de la API pública
Puede gestionar el cifrado de la configuración de automatización a través del punto final de configuración de automatización de Ops Manager.
Punto final: PUT /groups/{PROJECT-ID}/automationConfig
Incluya el objeto configEncryption en el cuerpo de la solicitud de configuración de automatización. Para obtener más información sobre la solicitud y respuesta completas, consulte Actualiza la configuración de automatización.
Debes tener el rol para usar este punto Project Automation Admin final.
Cuerpo de la solicitud
Incluya un configEncryption objeto en el cuerpo de la solicitud de configuración de automatización.Consulte Online (KMIP) o Offline para obtener referencias completas de los campos.
En línea (KMIP):
{ "configEncryption": { "encryptionMethod": "ONLINE_KMS", "kmip": { "serverName": "kmip.example.com", "serverCAFile": "/path/to/ca.pem", "clientCertificateFile": "/path/to/client.pem" } } }
Desconectado:
{ "configEncryption": { "encryptionMethod": "OFFLINE_SOFTWARE", "dynamicSalt": "<UUID>" } }
Códigos de respuesta
Para ver la especificación completa de la respuesta, consulte Actualizar la configuración de automatización. Los siguientes códigos de error son específicos de la configEncryption validación:
Código HTTP | Descripción | notas |
|---|---|---|
| Configuración guardada como borrador. | Devuelve un objeto JSON vacío: |
|
| Se devuelve si el objeto |
|
| Se devuelve si el proyecto está restringido por un bloqueo gestionado externamente. |
Desactivar el cifrado
Para desactivar el cifrado de la configuración de automatización, establezca el método de cifrado en Predeterminado.
Nota
Si ninguna implementación del proyecto utiliza el cifrado en reposo, el cifrado se desactivará después de implementar este cambio.
Campos cifrados
Solo se cifran los campos sensibles. Los datos operativos no sensibles, como los puertos, las rutas de registro y la topología, permanecen en texto plano.
Categoría | Campos |
|---|---|
Autenticación | auth.keyauth.newKeyauth.autoPwdauth.newAutoPwdauth.autoKerberosWindowsPassword |
credenciales de usuario | auth.usersWanted.[].initPwdauth.usersWanted.[].scramSha1Creds.saltauth.usersWanted.[].scramSha1Creds.storedKeyauth.usersWanted.[].scramSha1Creds.serverKeyauth.usersWanted.[].scramSha256Creds.saltauth.usersWanted.[].scramSha256Creds.storedKeyauth.usersWanted.[].scramSha256Creds.serverKey |
TLS |
|
LDAP | ldap.bindQueryPasswordldap.newBindQueryPassword |
Prometheus | prometheus.passwordprometheus.passwordHashprometheus.passwordSaltprometheus.tlsPemPassword |
Conector de BI |
|
Proveedores de cifrado | encryptionProviders.awsKms.accessKeyIdencryptionProviders.awsKms.secretAccessKeyencryptionProviders.awsKms.sessionTokenencryptionProviders.azureKeyVault.clientIdencryptionProviders.azureKeyVault.tenantIdencryptionProviders.azureKeyVault.secretencryptionProviders.googleCloudKMS.serviceAccountKey |
Cifrado de configuración |
|
Artefactos de archivo
El agente almacena dos archivos en su directorio de copia de seguridad configurado. El usuario del agente debe tener permisos de lectura y escritura para este directorio.
Archivo | Descripción | Permisos (Unix/Windows) |
|---|---|---|
| Configuración del clúster con campos sensibles cifrados en línea. |
|
| Clave(s) de cifrado encapsulada(s) (JSON) |
|
El agente escribe archivos siguiendo un patrón atómico (escribe en un archivo temporal y luego lo renombra). El agente guarda el archivo de configuración antes que el archivo de clave para garantizar una reversión consistente en caso de que se produzca un fallo durante la escritura.
Advertencia
No modifique estos archivos. El agente los utiliza para recuperarse de un reinicio cuando Ops Manager no está disponible.
Rotación de claves
El agente admite la rotación manual y automática de llaves.
Rotación manual
Para rotar manualmente las claves de cifrado, utilice los siguientes activadores:
Modo | Activador |
|---|---|
En línea (KMIP) | Actualiza cualquier propiedad de configuración de KMIP en Ops Manager. |
Sin conexión | Generar un nuevo UUID de sal dinámico en Ops Manager |
predeterminado | Primero, cambia al modo en línea o fuera de línea. |
Rotación automática
El agente rota automáticamente las claves de cifrado cuando:
El proceso del agente se reinicia.
La versión del agente cambia (actualización o degradación).
Cuándo rotar
Gire las teclas en las siguientes situaciones:
Sospecha de compromiso clave
Rotación programada según la política de seguridad de su organización.
Cambios de personal relacionados con el acceso a la infraestructura
Considerations
Las siguientes condiciones pueden afectar al cifrado de la configuración de automatización en su implementación.
Cambios de hardware: La sustitución de hardware o la migración de máquinas virtuales pueden provocar que la copia de seguridad local quede inaccesible para el agente. El agente se recupera automáticamente obteniendo la configuración actualizada de Ops Manager.
Clonación de máquinas virtuales: Las máquinas virtuales clonadas conservan la misma identidad y pueden descifrar datos cifrados sin conexión. Utilice el modo en línea (KMIP) para una seguridad aislada de la clonación.
Actualizaciones y degradaciones del agente: Cambiar la versión del agente invalida los artefactos de cifrado. El agente obtiene automáticamente la configuración actualizada de Ops Manager para volver a cifrar.
Conectividad con Ops Manager: Si el agente no puede descifrar los archivos locales y Ops Manager no está disponible, entra en un estado de error y vuelve a intentarlo hasta que se restablezca la conectividad.
Disponibilidad del servidor KMIP: El servidor KMIP debe ser accesible durante las operaciones del agente para el cifrado y descifrado de claves.
Operador de Kubernetes: El modo operador desactiva el cifrado. El operador de Kubernetes gestiona los secretos por separado.
Migración diferida: Las implementaciones existentes pasan al modo predeterminado al actualizar. Si el cifrado en reposo está habilitado para algún proceso, el cifrado sin conexión se activa automáticamente.
Arquitectura de seguridad
El sistema de cifrado utiliza cifrado de sobre con una clave de cifrado de datos (DEK) que cifra los campos y una clave de cifrado de clave (KEK) que protege la DEK. En modo en línea, la KEK reside en su HSM compatible con KMIP y nunca se almacena en disco. En modo fuera de línea, el agente obtiene la KEK a partir de atributos específicos de la máquina, vinculando los datos cifrados al host físico.
Algoritmos criptográficos
La siguiente tabla enumera los algoritmos criptográficos utilizados en cada etapa del proceso de cifrado.
Propósito | algoritmo | Detalles |
|---|---|---|
Cifrado de campo | AES-256-GCM | Clave de 256bits, nonce de 96bits, etiqueta de autenticación de 128bits. Cada campo utiliza un nonce único y está vinculado a su ruta de configuración mediante datos autenticados (AAD), lo que impide la manipulación o la reubicación del campo. |
Derivación de KEK (sin conexión) | PBKDF2-HMAC-SHA256 | Deriva la KEK utilizando un alto número de iteraciones para reforzar la seguridad computacional frente a ataques de fuerza bruta. |
Envoltura DEK | AES Key Wrap (RFC 3394) | Algoritmo aprobado por NIST para proteger la DEK bajo la KEK. Produce una clave encapsulada con un valor de verificación de integridad de 8bytes. |
Envoltura DEK (KMIP en línea 1.2) | Cifrado/descifrado del servidor KMIP | La clave maestra nunca sale del servidor KMIP. El servidor cifra y descifra la DEK directamente. |
Envoltura DEK (legado de KMIP en línea) | AES Key Wrap (RFC 3394) | El agente recupera la clave del servidor KMIP y la utiliza localmente para el cifrado AES Key Wrap, y luego la borra de la memoria. |
Propiedades de seguridad
El sistema de cifrado de configuración de automatización proporciona las siguientes garantías de seguridad.
Arranque en modo en línea: Una clave local independiente protege las credenciales del certificado KMIP almacenadas en la configuración. Esto permite que el agente se autentique con su servidor KMIP durante reinicios desatendidos sin almacenar información confidencial en texto plano en el disco.
Escritura atómica: El agente escribe los archivos de configuración y claves mediante un patrón atómico que garantiza la seguridad ante fallos. El agente puede recuperarse completamente de un fallo en cualquier punto del proceso de escritura.
Sin secretos en texto plano en el disco: Cuando habilita el cifrado, el agente reemplaza todos los campos de credenciales en el archivo de copia de seguridad con valores cifrados. El
master.keyarchivo contiene solo claves encriptadas (cifradas).
Mejores prácticas de seguridad
Siga estas recomendaciones para fortalecer la implementación del cifrado de la configuración de automatización.
Prefiera la opción en línea (KMIP) cuando la infraestructura KMIP esté disponible. Ofrece la máxima seguridad.
Utilice KMIP 1.2 (predeterminado) en lugar del protocolo heredado. La clave maestra nunca sale del HSM.
Rote las llaves periódicamente según la política de su organización.
Restringir el acceso al sistema de archivos del directorio de configuración del agente.
Asegúrese de que Ops Manager esté conectado antes de realizar cambios de hardware o migraciones de máquinas virtuales en modo sin conexión. El agente se recupera automáticamente obteniendo la configuración actualizada en la siguiente consulta exitosa.
Solución de problemas
Las siguientes secciones tratan sobre problemas comunes, pasos de recuperación forzada y etiquetas de registro del agente.
Problemas comunes
La siguiente tabla enumera los síntomas comunes, sus posibles causas y los pasos para solucionarlos.
Síntoma | Causa probable | Resolución |
|---|---|---|
El agente entra en estado de error al iniciarse. | Se ha cambiado la identidad del hardware o de la máquina (modo sin conexión). | Restablezca la conectividad de Ops Manager. El agente se recupera automáticamente. |
El agente entra en estado de error al iniciarse. | Servidor KMIP inaccesible o certificado caducado (modo en línea) | Verifique la conectividad KMIP y la validez del certificado. Actualice las credenciales en Ops Manager si es necesario. Ejecute |
El registro muestra "No se pudo localizar el objeto: KEY_ID". | La clave de cifrado no está disponible en KMIP. | Utiliza una de las siguientes opciones:
|
| El protocolo de enlace TLS fue rechazado. | Verifique que |
| El servidor KMIP rechazó la operación. | Verifique que el certificado del cliente tenga los permisos necesarios (Crear/Cifrar/Descifrar o Crear/Obtener). Verifique que el UUID de la clave en |
Los archivos de copia de seguridad no se actualizan. | Permisos de archivo o espacio en disco insuficientes | Verifique que el usuario del agente tenga permisos de escritura en el directorio de configuración. |
Error de descifrado tras la actualización o la degradación. | Los artefactos de cifrado están vinculados a la versión. | El agente obtiene automáticamente la configuración actualizada desde Ops Manager. |
Recuperación forzada
Si el agente no puede descifrar su copia de seguridad local y Ops Manager es accesible, puede restablecer el estado de cifrado.
Advertencia
Es necesario poder acceder a Ops Manager antes de iniciar el agente. Sin conectividad, el agente no dispone de ninguna configuración alternativa y entra en un estado de error.
Para desactivar el cifrado como parte del proceso de recuperación, consulte la sección Desactivar cifrado.
Log Tags
Las siguientes etiquetas de registro identifican los eventos relacionados con el cifrado en los registros del agente.
Tag | Nivel | Descripción |
|---|---|---|
| información | Operación de escritura iniciada |
| DEBUG | Escribir completado |
| información | Se ha iniciado la operación de lectura/descifrado. |
| DEBUG | Lectura/descifrado completado |
| DEBUG | Clave de cifrado servida desde la caché |
| información | Clave no almacenada en caché; regenerando |
| información | Se activó la rotación de la llave. |
| Error | Falló la rotación de la llave. |
| información | Se ha cambiado el método de cifrado. |
| DEBUG | Clave de cifrado encapsulada (incluye método) |
| DEBUG | Clave de cifrado descifrada (incluye método) |
| DEBUG | Ruta de campo cifrada (solo ruta, sin valores) |
| DEBUG | Ruta de campo descifrada (solo ruta, sin valores) |
| Error | La operación de cifrado falló. |
| Error | Falló la operación de descifrado. |
| Error | Error inesperado en el subsistema de cifrado. |
| DEBUG | Conexión TLS de KMIP establecida |
| Error | Falló la conexión TLS de KMIP (incluye servidor, puerto y número de reintentos). |
| DEBUG | Operación KMIP completada (tipo de operación, ID de clave, duración) |
| Error | La operación KMIP falló (tipo de operación, ID de clave, error) |
| información | Nueva clave creada en el servidor KMIP (ID de clave) |
| DEBUG | Se reutiliza una clave KMIP existente (ID de clave, origen). |
| DEBUG | Configuración TLS de KMIP creada (rutas de certificados, indicador de protección por contraseña) |
Nota
Ops Manager nunca registra valores confidenciales.