Servidor Couchbase

Gestión de secretos en Couchbase 4.6

Cada aplicación de software tiene secretos. La contraseña, la clave API y los tokens seguros entran en la categoría de secretos.  Si tus claves secretas de producción cayeran en malas manos, las consecuencias serían nefastas. Deberás controlar estrictamente cómo y cuándo se puede acceder a tus claves secretas.

Couchbase ha añadido más servicios a su infraestructura y estos servicios tienen credenciales internas y externas, y almacenar las credenciales de estos servicios es un reto. Otro reto es la rotación de secretos para todos los servicios internos y externos.

Couchbase 4.6 introduce la gestión de secretos, donde todos los secretos compartidos son encriptados cuando se almacenan y se pasan correctamente a los nodos y servicios, junto con la facilidad de rotación de secretos. No va a haber impacto en cualquier cliente SDK o UI y rendimiento.

Couchbase mantiene 2 niveles de jerarquía de claves para facilitar la rotación de la contraseña maestra sin recodificar los datos, soportar múltiples contraseñas maestras y también será más fácil de integrar con el servidor KMIP. Al iniciar el nodo, la contraseña maestra es creada o suministrada por el usuario, a partir de la cual se crea una clave maestra utilizando una fuerte función de derivación de claves. Couchbase utiliza PBKDF2 para generar la clave.

También se crea una clave_de_datos aleatoria al iniciar el servidor, que luego se cifra con la clave maestra. Todos los secretos se cifran utilizando data_key en el disco.  Couchbase utiliza un algoritmo AES de 256 bits en modo GCM para cifrar secretos.

Para arrancar el sistema, la llave maestra se utiliza para abrir la llave de datos encriptada. La clave de datos desencriptada se usa entonces para abrir los secretos encriptados, y los secretos se usan para arrancar el Servidor Couchbase. Couchbase recomienda usar una contraseña maestra fuerte.

Con Secret Management en 4.6, puedes rotar tus secretos en diferentes niveles de la jerarquía de claves periódicamente o en caso de violación.

La rotación de la contraseña maestra/primer nivel de rotación y restablecimiento de la contraseña se puede hacer usando REST API o cli. Couchbase permite la flexibilidad de establecer una contraseña maestra por nodo. En caso de que se pierda la contraseña maestra y se detenga el servidor, se perderá el nodo. Los datos del nodo pueden ser recuperados usando otras herramientas con el servidor.

El segundo nivel de rotación puede realizarse cambiando la clave de datos mediante la API REST o cli.  

Toda la rotación y configuración de la contraseña maestra es auditada por la aplicación.

Un ejemplo de configuración de servidor para contraseña maestra usando cli en ubuntu 14.

  • Instalar y configurar el servidor couchbase.
  • Configure la contraseña maestra usando cli, ejecute el siguiente comando y pase la contraseña en el prompt.

/opt/couchbase/bin/couchbase-cli master-password -c 192.168.0.1:8091 -u Administrador -p contraseña -nueva-contraseña

  • Detener el servidor - /etc/init.d/couchbase-server stop
  • Configurar una variable de entorno

export CB_MASTER_PASSWORD=

  • Iniciar el servidor - /etc/init.d/couchbase-server start

Tenga en cuenta que si utiliza sudo para iniciar el servidor, utilice la opción -E de sudo para iniciar el servidor.

  • Gira la llave de datos usando cli, ejecuta el comando de abajo:

/opt/couchbase/bin/couchbase-cli master-password -c 192.168.0.1:8091 -u Administrador -p contraseña -rotate-data-key

  • Para cambiar la contraseña maestra, ejecute el siguiente comando. Introduzca la contraseña en el prompt

/opt/couchbase/bin/couchbase-cli master-password -c 192.168.0.1:8091 -u Administrador -p contraseña -nueva-contraseña

 

Detalles del registro:

 

Cambio de contraseña de inicio de sesión de niñera [ns_server:info,2017-01-20T13:12:30.079Z,babysitter_of_ns_1@127.0.0.1:encryption_service:encryption_service:call_gosecrets_and_store_data_key:227]Se ha realizado con éxito el cambio de contraseña maestra.
La niñera inicia sesión con una contraseña maestra incorrecta durante el inicio del servidor o la variable de entorno está configurada incorrectamente. [ns_server:error,2017-01-20T13:13:07.066Z,babysitter_of_ns_1@127.0.0.1:encryption_service:encryption_service:init:174]Contraseña maestra incorrecta. Error: {error, "cifrado: falló la autenticación del mensaje"}
Registro de niñera cuando la contraseña maestra se establece correctamente para CB Server =========================PROGRESS REPORT=========================

supervisor: {local,ns_babysitter_sup}

iniciado: [{pid,},

{nombre,servicio_cifrado},

{mfargs,{servicio_de_cifrado,start_link,[]}},

{tipo_reinicio,permanente},

{apagado,1000}

{tipo_niño,trabajador}]

[ns_server:debug,2017-01-22T12:08:46.432Z,babysitter_of_ns_1@127.0.0.1::supervisor_cushion:init:39]iniciando ns_port_server con retraso de 5000

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Ritam Sharma, Director de Ingeniería de Calidad, Couchbase

Ritam Sharma es Director de Ingeniería de Calidad en Couchbase. Antes de unirse a Couchbase, fue cofundador y director de tecnología de kOnnect DIGITAL.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.