El cifrado de configuración de automatización protege las credenciales sensibles 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 sensibles, incluidas las contraseñas y claves de autenticación, utilizando AES-256-GCM en lugar de escribirlos en texto sin formato.
Esta funcionalidad ayuda a las organizaciones a cumplir con los requisitos de cumplimiento de marcos como PCI-DSS, HIPAA y SOC 2.
El cifrado está deshabilitado por defecto. Las implementaciones existentes permanecen sin cifrar hasta que activas explícitamente esta funcionalidad.
Métodos de cifrado
Ops Manager admite tres métodos de cifrado para la configuración de automatización:
Método | Mejor para | Fuente de la llave de cifrado de llaves (KEK) |
|---|---|---|
En linea (KMIP) | Entornos con infraestructura KMIP | Servidor KMIP gestionado por el cliente |
offline | Entornos aislados o autónomos | Clave derivada por máquina |
predeterminado | Alineación automática de cumplimiento | Sigue la configuración de cifrado en reposo |
En linea (KMIP)
Tip
Uso en linea (KMIP) modo cuando KMIP infraestructura esté disponible. Proporciona la seguridad más sólida porque la clave maestra nunca sale de tu HSM.
El modo en línea es el mejor para entornos con infraestructura KMIP. La clave principal reside en un HSM externo compatible con KMIP y nunca se almacena en un disco. Una clave Bootstrap separada asegura las credenciales del certificado KMIP localmente, permitiendo reinicios no supervisados.
Nota
Este método requiere un servidor preexistente compatible con KMIP. Debe configurar la autenticación de certificados de cliente (mTLS) que coincida con la de MongoDB Enterprise Advanced
security.kmip.* configuración.
Para utilizar el modo en linea, ajusta encryptionMethod a ONLINE_KMS y proporciona los detalles de tu servidor KMIP.
Parameter | Descripción | Requerido |
|---|---|---|
| Nombre de host o IP del servidor KMIP | Sí |
| Puerto del servidor KMIP. Por defecto: | No |
| Ruta del certificado CA (Unix) | Sí |
| Ruta del certificado CA (Windows) | Condicional |
| Ruta del certificado de cliente (Unix) | Sí |
| Ruta del certificado de cliente (Windows) | Condicional |
| Contraseña del certificado de cliente (si el PEM está cifrado) | No |
| UUID de una clave existente en el servidor KMIP. Si está vacío, el agente crea una nueva clave automáticamente. | No |
| Utilice KMIP 1.0/1.1 (Crear+GET) en lugar de KMIP 1.2 (Cifrar/Descifrar). Utilícelo 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
Verifica lo siguiente antes de que puedas habilitar el cifrado KMIP en línea:
handshake TLS: Ejecuta el siguiente comando y confirma que el handshake se realiza con éxito y que el certificado sea aceptado:
openssl s_client -connect <serverName>:<port> \ -CAfile <serverCAFile> -cert <clientCertificateFile> Permisos del certificado: Confirmar que el certificado del cliente está autorizado para las operaciones KMIP requeridas. Revisa la consola de administración de tu servidor KMIP o los registros.
Alcance de la red: Confirme que el host del agente puede alcanzar el servidor KMIP en el puerto configurado. Verifique las reglas del firewall, los grupos de seguridad y la resolución de DNS.
Vencimiento del certificado: Asegúrate de que tanto el servidor CA como los certificados de cliente no hayan caducado. Para comprobarlo, ejecute:
openssl x509 -enddate -noout -in <certFile>
Permisos del servidor KMIP
El certificado de cliente debe estar autorizado para las siguientes operaciones en el servidor KMIP:
Modo KMIP | Operaciones requeridas |
|---|---|
Por defecto (KMIP 1.2) | Crear, cifrar, descifrar con claves simétricas |
Legado ( | Crear, GET en claves simétricas |
Si proporcionas keyIdentifier, no se necesita el permiso Crear. Consulte la documentación de su servidor KMIP para configurar los permisos adecuados para el certificado de cliente.
offline
El modo fuera de línea es el mejor para entornos autónomos o aislados de la red (air-gapped). 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 utilizar el modo offline, configure encryptionMethod en OFFLINE_SOFTWARE y proporcione el siguiente parámetro:
Parameter | Descripción | Requerido |
|---|---|---|
| UUID usado para la derivación de claves. Actúa como el activador de rotación. | Sí |
UUID salino dinámico
El dynamicSalt es un UUID criptográficamente aleatorio que sirve como una entrada adicional para el proceso de derivación de claves.
Interfaz de usuario de Ops Manager: Haz clic Generate para producir un nuevo UUID automáticamente.
API pública: Proporcionar un UUID criptográficamente aleatorio (versión 4). Utiliza un generador aleatorio seguro. Evita UUID predecibles, secuenciales o codificados de forma rígida.
Cambiar la sal dinámica a un nuevo UUID activa la re-derivación de la clave, que es el mecanismo principal de rotación 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 offline se activa automáticamente sin requerir una configuración explícita. En caso contrario, la configuración permanece sin cifrar.
Nota
El modo predeterminado no admite la rotación manual de claves.
Configura el cifrado
Puedes configurar el cifrado de la configuración de automatización utilizando la interfaz de usuario de Ops Manager o la API pública.
A través de la Interfaz de Usuario de Ops Manager
Configura el cifrado a nivel de proyecto en Ops Manager.
Completa los campos requeridos del método elegido.
Para descripciones de campos, consulte en linea (KMIP) o Sin conexión.
A través de la API pública
Puedes administrar el cifrado de la configuración de automatización a través del endpoint de configuración de automatización de Ops Manager.
Punto final: PUT /groups/{PROJECT-ID}/automationConfig
Incluye 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 la respuesta completas, consulte Actualiza la configuración de automatización.
Debes tener el rol Project Automation Admin para usar este endpoint.
Cuerpo de la solicitud
Incluya un objeto configEncryption en el cuerpo de la solicitud de configuración de automatización. Consulta En línea (KMIP) o Sin conexión para obtener referencias completas de 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 conocer la especificación completa de la respuesta, consulte Actualizar la configuración de automatización. Los siguientes códigos de error son específicos para la validación configEncryption:
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 administrado externamente. |
Desactivar cifrado
Para desactivar el cifrado de la configuración de automatización, establece el método de cifrado en por defecto.
Nota
Si ninguna implementación en el proyecto utiliza cifrado en reposo, el cifrado se desactivará después de implementar este cambio.
Campos cifrados
Sólo los campos sensibles están cifrados. Las datos operativos no sensibles, como puertos, rutas de registros y topología, permanecen en texto plano.
Categoría | Campos |
|---|---|
Autenticación | auth.keyauth.newKeyauth.autoPwdauth.newAutoPwdauth.autoKerberosWindowsPassword |
Credenciales del 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 agente debe tener acceso de lectura/guardar a este directorio.
Archivo | Descripción | Permisos (Unix / Windows) |
|---|---|---|
| Configuración del clúster con campos confidenciales cifrados en línea |
|
| Claves de cifrado envueltas (JSON) |
|
El agente escribe archivos utilizando 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 claves para garantizar un rollback coherente en caso de que ocurra un bloqueo durante los guardados.
Advertencia
No modificar estos archivos. El agente los utiliza para recuperarse después de un reinicio cuando el Ops Manager no está disponible.
Rotación de claves
El agente admite la rotación tanto manual como automática de claves.
Rotación manual
Para rotar manualmente las claves de cifrado, utiliza los siguientes activadores:
Modo | Activador |
|---|---|
En linea (KMIP) | Actualiza cualquier propiedad de configuración de KMIP en Ops Manager |
offline | Genera un nuevo UUID de salt dinámico en Ops Manager |
predeterminado | Cambie primero 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
Rote las llaves en las siguientes situaciones:
Sospecha de compromiso de clave
Rotación programada según la política de seguridad de tu organización
Cambios de personal que afectan el acceso a la infraestructura
Considerations
Las siguientes condiciones pueden afectar el cifrado de la configuración de automatización en tu implementación.
Cambios en el hardware: Reemplazar hardware o migrar VM puede dejar la copia de seguridad local inaccesible para el agente. El agente se recupera automáticamente al recuperar una configuración nueva del Administrador de Operaciones.
Clonación de VM: Las VM clonadas conservan la misma identidad de máquina y pueden descifrar los datos cifrados fuera de línea. Utiliza el modo Online (KMIP) para la seguridad de clones aislados.
Actualizaciones y degradaciones del agente: Cambiar la versión del agente invalida los artefactos de cifrado. El agente obtiene automáticamente una configuración actualizada de Ops Manager para volver a cifrarla.
Conectividad con Ops Manager: Si el agente no puede descifrar archivos locales y Ops Manager no se puede alcanzar, entra en un estado de error y vuelve a intentar hasta que se restablezca la conectividad.
Disponibilidad del servidor KMIP: el servidor KMIP debe estar disponible durante las operaciones de los agentes para poder realizar el embalaje y desembalaje de claves.
Operador de Kubernetes: El modo de operador desactiva el cifrado. El Operador de Kubernetes gestiona los secretos por separado.
Migración perezosa: Las implementaciones existentes pasan al modo por defecto durante la actualización. Si "Cifrado en reposo" está activado para algún proceso, el cifrado offline se activa automáticamente.
Arquitectura de seguridad
El sistema de cifrado utiliza un encriptación de sobre con una llave de cifrado de datos (DEK) que cifra los campos y una llave de cifrado de clave (KEK) que protege la DEK. En el modo en linea, el KEK reside en tu HSM compatible con KMIP y nunca toca el disco. En modo sin conexión, el agente deriva el KEK 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 a través de datos autenticados (AAD), lo que evita la manipulación o el traslado del campo. |
Derivación KEK (sin conexión) | PBKDF2-HMAC-SHA256 | Deriva la KEK usando un conteo alto de iteraciones para fortalecer computacionalmente contra ataques de fuerza bruta. |
Encapsulado DEK | Cifrado de claves AES (RFC 3394) | Algoritmo aprobado por la NIST para proteger la DEK bajo la KEK. Genera una clave envuelta con un valor de verificación de integridad de 8bytes. |
DEK wrapping (KMIP en línea 1.2) | Cifrado/descifrado del lado del servidor KMIP | La clave maestra nunca sale del servidor KMIP. El servidor envuelve y desenrolla directamente la DEK. |
Encapsulado DEK (KMIP en línea heredado) | Cifrado de claves AES (RFC 3394) | El agente recupera la clave del servidor KMIP y la utiliza localmente para el envolvimiento de claves AES, luego la elimina de la memoria. |
Propiedades de seguridad
El sistema de cifrado de configuración de automatización brinda las siguientes garantías de seguridad.
Inicialización 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 en tu servidor KMIP durante reinicios no supervisados sin almacenar secretos en texto claro en el disco.
Escrituras atómicas: El agente escribe archivos de configuración y clave utilizando un patrón atómico a prueba de fallos. El agente puede recuperarse completamente de una falla en cualquier momento durante el guardado.
No existen secretos en texto plano en el disco: Cuando usted habilita el cifrado, el agente sustituye todos los campos de credenciales en el archivo de copia de seguridad por valores cifrados. El archivo
master.keycontiene solo claves envueltas (cifradas).
Mejores prácticas de seguridad
Sigue estas recomendaciones para fortalecer su implementación de cifrado de la configuración de automatización.
Prefiera Online (KMIP) cuando la infraestructura KMIP esté disponible. Proporciona la mayor seguridad.
Utiliza KMIP 1.2 (por defecto) sobre el protocolo heredado. La clave maestra nunca sale del HSM.
Alterna las claves periódicamente según la política de tu organización.
Restringe el acceso al sistema de archivos al directorio de configuración del agente.
Garantiza la conectividad del Ops Manager antes de realizar cambios en el hardware o migraciones de VM en modo offline. El agente se recupera automáticamente obteniendo una configuración nueva en la siguiente consulta exitosa.
Solución de problemas
Las siguientes secciones cubren problemas comunes, pasos forzados de recuperación y etiquetas de registro del agente.
Problemas Comunes
La siguiente tabla muestra los síntomas comunes, sus posibles causas y los pasos de resolución.
Síntoma | Causa probable | Resolución |
|---|---|---|
El agente entra en estado de error al iniciar | Identidad de hardware o máquina cambiada (modo offline) | Restablecer la conectividad del Ops Manager. El agente se recupera automáticamente. |
El agente entra en estado de error al iniciar | Servidor KMIP inaccesible o certificado caducado (modo en linea) | Verifica la conectividad KMIP y la validez del certificado. Actualizar las credenciales en Ops Manager si es necesario. Ejecute |
El registro muestra "No se pudo localizar el objeto: KEY_ID" | Clave de cifrado no disponible en KMIP | Utiliza una de las siguientes opciones:
|
| Se rechazó el apretón de manos TLS | Verifica que |
| El servidor KMIP rechazó la operación | Verifica que el certificado de cliente tenga los permisos requeridos (Crear/Encriptar/Desencriptar o Crear/GET). Verifique que el UUID de la clave en |
Archivos de copia de seguridad no se actualizan | Permisos de archivo insuficientes o espacio en disco insuficiente | Verifica que el usuario agente tenga acceso de escritura al directorio de configuración. |
Fallo de descifrado después de la actualización o degradación | Los artefactos de cifrado dependen de la versión | El agente recupera automáticamente la nueva configuración desde Ops Manager. |
recuperación forzada
Si el agente no puede descifrar su copia de seguridad local y se puede acceder a Ops Manager, puedes restablecer el estado de cifrado.
Advertencia
El Ops Manager debe ser accesible antes de iniciar el agente. Sin conectividad, el agente no tiene una configuración a la que recurrir y entra en un estado de error.
Para desactivar el cifrado como parte de la recuperación, consulte Desactivar cifrado.
Log Tags
Las siguientes etiquetas de registro identifican eventos relacionados con el cifrado en los registros de agentes.
Tag | Nivel | Descripción |
|---|---|---|
| información | Operación de escritura iniciada |
| DEBUG | Escritura completada |
| información | Operación de lectura/desencriptación iniciada |
| DEBUG | Lectura/descifrado completado |
| DEBUG | Clave de cifrado servida desde la caché |
| información | Clave no almacenada en caché; regenerando |
| información | Rotación de claves activada |
| Error | Error en la rotación de la clave |
| información | Método de cifrado cambiado |
| DEBUG | Llave de cifrado envuelta (incluye método) |
| DEBUG | Clave de cifrado desencriptada (incluye método) |
| DEBUG | Ruta de campo cifrada (solo ruta, sin valores) |
| DEBUG | ruta de campo descifrada (sólo ruta, sin valores) |
| Error | La operación de cifrado falló |
| Error | La operación de descifrado falló |
| Error | Error inesperado en el subsistema de cifrado |
| DEBUG | Se ha establecido la conexión TLS de KMIP |
| Error | La conexión TLS de KMIP falló (incluye servidor, puerto, recuento de reintentos) |
| DEBUG | Operación KMIP finalizada (tipo de operación, ID de clave, duración) |
| Error | Fallo en la operación KMIP (tipo de operación, ID de clave, error) |
| información | Nueva clave creada en el servidor KMIP (ID de clave) |
| DEBUG | Clave KMIP existente reutilizada (ID de la clave, fuente) |
| DEBUG | Configuración KMIP TLS creada (rutas de certificados, indicador de protección por contraseña) |
Nota
Ops Manager nunca registra valores confidenciales.