Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Cifrado de configuración de automatización

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.

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

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

kmip.serverName

Nombre de host o IP del servidor KMIP

kmip.port

Puerto del servidor KMIP. Por defecto: 5696.

No

kmip.serverCAFile

Ruta del certificado CA (Unix)

kmip.serverCAFileWindows

Ruta del certificado CA (Windows)

Condicional

kmip.clientCertificateFile

Ruta del certificado de cliente (Unix)

kmip.clientCertificateFileWindows

Ruta del certificado de cliente (Windows)

Condicional

kmip.clientCertificatePassword

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

No

kmip.keyIdentifier

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

No

kmip.useLegacyProtocol

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

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

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>

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

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.

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

dynamicSalt

UUID usado para la derivación de claves. Actúa como el activador de rotación.

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.

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

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.

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

Configura 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 descripciones de campos, consulte en linea (KMIP) o Sin conexión.

4

Haz clic en Save, luego revisa e implementa los cambios.

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.

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

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

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 administrado externamente.

Para desactivar el cifrado de la configuración de automatización, establece el método de cifrado en por defecto.

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 e implementa los cambios.

Nota

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

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

Credenciales del 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 agente debe tener acceso de lectura/guardar a este directorio.

Archivo
Descripción
Permisos (Unix / Windows)

mms-cluster-config-backup.json

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

0600 / 0600

master.key

Claves de cifrado envueltas (JSON)

0400 / 0600

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.

El agente admite la rotación tanto manual como automática de claves.

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

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

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

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.

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.

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.

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

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.

Las siguientes secciones cubren problemas comunes, pasos forzados de recuperación y etiquetas de registro del agente.

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

El registro muestra "No se pudo localizar el objeto: KEY_ID"

Clave de cifrado no disponible en KMIP

Utiliza una de las siguientes opciones:

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

  • Rote la clave a través del Ops Manager.

  • Elimina master.key, reinicia el agente y permite que obtenga una configuración nueva de Ops Manager y cree una nueva ID de llave KMIP.

agent_kmip_connect_failed en registros

Se rechazó el apretón de manos TLS

Verifica que serverCAFile coincida con la autoridad de certificación del servidor KMIP. Verifique que clientCertificateFile sea aceptado por el servidor. Verifica los registros del servidor KMIP para detectar fallas de autenticación.

agent_kmip_operation_failed en registros

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 keyIdentifier exista y se encuentre en estado activo en el servidor.

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.

Si el agente no puede descifrar su copia de seguridad local y se puede acceder a Ops Manager, puedes restablecer el estado de cifrado.

1

Detén el agente de automatización en el host afectado.

2

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

3

Inicia el agente. Obtiene una configuración nueva de Ops Manager y la vuelve a encriptar.

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.

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

Tag
Nivel
Descripción

agent_encryption_write_start

información

Operación de escritura iniciada

agent_encryption_write_complete

DEBUG

Escritura completada

agent_decryption_read_start

información

Operación de lectura/desencriptación iniciada

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

Rotación de claves activada

agent_encryption_key_rotation_failure

Error

Error en la rotación de la clave

agent_encryption_method_transition

información

Método de cifrado cambiado

agent_encryption_dek_wrapped

DEBUG

Llave de cifrado envuelta (incluye método)

agent_encryption_dek_unwrapped

DEBUG

Clave de cifrado desencriptada (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 (sólo ruta, sin valores)

agent_encryption_failure

Error

La operación de cifrado falló

agent_decryption_failure

Error

La operación de descifrado falló

agent_encryption_unexpected_error

Error

Error inesperado en el subsistema de cifrado

agent_kmip_connect

DEBUG

Se ha establecido la conexión TLS de KMIP

agent_kmip_connect_failed

Error

La conexión TLS de KMIP falló (incluye servidor, puerto, recuento de reintentos)

agent_kmip_operation

DEBUG

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

agent_kmip_operation_failed

Error

Fallo en la operación KMIP (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

Clave KMIP existente reutilizada (ID de la clave, fuente)

agent_kmip_tls

DEBUG

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

Nota

Ops Manager nunca registra valores confidenciales.

Volver

Cifrar instantáneas