Docs Menu
Docs Home
/ /

Cifrado de configuración de automatización

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.

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

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

kmip.serverName

Nombre de host o dirección IP del servidor KMIP

kmip.port

Puerto del servidor KMIP. Predeterminado: 5696.

No

kmip.serverCAFile

Ruta del certificado CA (Unix)

kmip.serverCAFileWindows

Ruta del certificado CA (Windows)

Condicional

kmip.clientCertificateFile

Ruta del certificado del cliente (Unix)

kmip.clientCertificateFileWindows

Ruta del certificado de cliente (Windows)

Condicional

kmip.clientCertificatePassword

Contraseña del certificado de cliente (si PEM está cifrado)

No

kmip.keyIdentifier

UUID de una clave existente en el servidor KMIP. Si está vacío, el agente crea automáticamente una nueva clave.

No

kmip.useLegacyProtocol

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

{
"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
}
}
}

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>

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 (useLegacyProtocol: true)

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.

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

dynamicSalt

UUID utilizado para la derivación de claves. Actúa como disparador de rotación.

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.

{
"configEncryption": {
"encryptionMethod": "OFFLINE_SOFTWARE",
"dynamicSalt": "<UUID>"
}
}

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.

Puede configurar el cifrado de la configuración de automatización mediante la interfaz de usuario de Ops Manager o la API pública.

Configure el cifrado a nivel de proyecto en Ops Manager.

1

Haz clic en Settings, Admin Project Settings, Automation Config Encryption.

2

Selecciona Online (KMIP), Offline o Default.

3

Para obtener descripciones de los campos, consulte En línea (KMIP) o fuera de línea.

4

Haz clic en Save, luego revisa y aplica los cambios.

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.

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>"
}
}

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

200 OK

Configuración guardada como borrador.

Devuelve un objeto JSON vacío: {}

400 Bad Request

INVALID_CONFIG_ENCRYPTION_SETTINGS

Se devuelve si el objeto configEncryption no supera la validación interna.

403 Forbidden

CHANGE_NOT_ALLOWED_EXTERNAL_SYSTEM

Se devuelve si el proyecto está restringido por un bloqueo gestionado externamente.

Para desactivar el cifrado de la configuración de automatización, establezca el método de cifrado en Predeterminado.

1

Haz clic en Settings, Admin Project Settings, Automation Config Encryption.

2

Establezca el método de cifrado en Default.

3

Haz clic en Save, luego revisa y aplica los cambios.

Nota

Si ninguna implementación del proyecto utiliza el cifrado en reposo, el cifrado se desactivará después de implementar este cambio.

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.key
auth.newKey
auth.autoPwd
auth.newAutoPwd
auth.autoKerberosWindowsPassword

credenciales de usuario

auth.usersWanted.[].initPwd
auth.usersWanted.[].scramSha1Creds.salt
auth.usersWanted.[].scramSha1Creds.storedKey
auth.usersWanted.[].scramSha1Creds.serverKey
auth.usersWanted.[].scramSha256Creds.salt
auth.usersWanted.[].scramSha256Creds.storedKey
auth.usersWanted.[].scramSha256Creds.serverKey

TLS

tls.autoPEMKeyFilePwd

LDAP

ldap.bindQueryPassword
ldap.newBindQueryPassword

Prometheus

prometheus.password
prometheus.passwordHash
prometheus.passwordSalt
prometheus.tlsPemPassword

Conector de BI

mongosqlds.[].tlsPEMKeyPassword

Proveedores de cifrado

encryptionProviders.awsKms.accessKeyId
encryptionProviders.awsKms.secretAccessKey
encryptionProviders.awsKms.sessionToken
encryptionProviders.azureKeyVault.clientId
encryptionProviders.azureKeyVault.tenantId
encryptionProviders.azureKeyVault.secret
encryptionProviders.googleCloudKMS.serviceAccountKey

Cifrado de configuración

configEncryption.kmip.clientCertificatePassword

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)

mms-cluster-config-backup.json

Configuración del clúster con campos sensibles cifrados en línea.

0600 / 0600

master.key

Clave(s) de cifrado encapsulada(s) (JSON)

0400 / 0600

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.

El agente admite la rotación manual y automática de llaves.

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.

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).

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

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.

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.

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.

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.key archivo contiene solo claves encriptadas (cifradas).

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.

Las siguientes secciones tratan sobre problemas comunes, pasos de recuperación forzada y etiquetas de registro del agente.

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 openssl s_client para verificar el protocolo de enlace TLS, comprobar la caducidad del certificado y verificar la configuración del firewall y DNS.

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:

  • Restaure la clave con el ID de clave especificado en KMIP.

  • Gire la llave a través del Administrador de operaciones.

  • Elimine master.key, reinicie el agente y permítale obtener una configuración nueva de Ops Manager y crear un nuevo ID de clave KMIP.

agent_kmip_connect_failed en los registros

El protocolo de enlace TLS fue rechazado.

Verifique que serverCAFile coincida con la CA del servidor KMIP. Verifique que clientCertificateFile sea aceptado por el servidor. Revise los registros del servidor KMIP para detectar fallos de autenticación.

agent_kmip_operation_failed en los registros

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 keyIdentifier exista y esté en estado Activo en el servidor.

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.

Si el agente no puede descifrar su copia de seguridad local y Ops Manager es accesible, puede restablecer el estado de cifrado.

1

Detenga el Agente de automatización en el host afectado.

2

Elimine master.key del directorio de copia de seguridad del agente. Este directorio es el mismo que contiene mms-cluster-config-backup.json, configurado normalmente mediante el ajuste mmsConfigBackup en el archivo de configuración del agente.

3

Inicie el agente. Este obtendrá una configuración actualizada de Ops Manager y volverá a cifrar los datos.

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.

Las siguientes etiquetas de registro identifican los eventos relacionados con el cifrado en los registros del agente.

Tag
Nivel
Descripción

agent_encryption_write_start

información

Operación de escritura iniciada

agent_encryption_write_complete

DEBUG

Escribir completado

agent_decryption_read_start

información

Se ha iniciado la operación de lectura/descifrado.

agent_decryption_read_complete

DEBUG

Lectura/descifrado completado

agent_dek_cache_hit

DEBUG

Clave de cifrado servida desde la caché

agent_dek_cache_miss

información

Clave no almacenada en caché; regenerando

agent_encryption_key_rotation

información

Se activó la rotación de la llave.

agent_encryption_key_rotation_failure

Error

Falló la rotación de la llave.

agent_encryption_method_transition

información

Se ha cambiado el método de cifrado.

agent_encryption_dek_wrapped

DEBUG

Clave de cifrado encapsulada (incluye método)

agent_encryption_dek_unwrapped

DEBUG

Clave de cifrado descifrada (incluye método)

agent_encryption_field_encrypted

DEBUG

Ruta de campo cifrada (solo ruta, sin valores)

agent_decryption_field_decrypted

DEBUG

Ruta de campo descifrada (solo ruta, sin valores)

agent_encryption_failure

Error

La operación de cifrado falló.

agent_decryption_failure

Error

Falló la operación de descifrado.

agent_encryption_unexpected_error

Error

Error inesperado en el subsistema de cifrado.

agent_kmip_connect

DEBUG

Conexión TLS de KMIP establecida

agent_kmip_connect_failed

Error

Falló la conexión TLS de KMIP (incluye servidor, puerto y número de reintentos).

agent_kmip_operation

DEBUG

Operación KMIP completada (tipo de operación, ID de clave, duración)

agent_kmip_operation_failed

Error

La operación KMIP falló (tipo de operación, ID de clave, error)

agent_kmip_key_created

información

Nueva clave creada en el servidor KMIP (ID de clave)

agent_kmip_key_reused

DEBUG

Se reutiliza una clave KMIP existente (ID de clave, origen).

agent_kmip_tls

DEBUG

Configuración TLS de KMIP creada (rutas de certificados, indicador de protección por contraseña)

Nota

Ops Manager nunca registra valores confidenciales.

Volver

Cifrar instantáneas