Cifrado de nodo a nodo con Couchbase Server 6.5

Con la seguridad en la mente de todos, las organizaciones necesitan ejecutar cargas de trabajo sensibles bajo estrictas normas de seguridad y cumplimiento. La versión preliminar de Couchbase 6.5 incorpora varias funciones de seguridad nuevas, y el cifrado de nodo a nodo ha sido uno de los principales deseos de muchos clientes.

En este blog, le proporcionaremos una rápida visión general de la nueva función de cifrado de nodo a nodo junto con pasos fáciles de seguir para ayudarle a empezar.

¿Qué es el cifrado de nodo a nodo?

En una plataforma de datos distribuida como Couchbase Server, hay esencialmente 2 tipos de información intercambiada entre los nodos -

1. Información de control que incluye metadatos del clúster, ajustes, etc.
2. Datos de usuario, incluidos documentos JSON

En versiones anteriores de Couchbase Server, la encriptación estaba disponible entre cliente y servidor, y para proteger el tráfico XDCR entre centros de datos. En ausencia de un control de seguridad compensatorio, como IPSec en toda la red, era posible para un atacante husmear información en el cable siempre que el acceso a la red estuviera disponible. Sin embargo, algunos de estos controles compensatorios eran difíciles de configurar o desplegar a escala.

Con la nueva función de cifrado de nodo a nodo de Couchbase 6.5, la información que fluye entre los nodos es cifrada de forma nativa por Couchbase, sin necesidad de instalar ningún software de terceros. Los niveles de cifrado permiten cifrar sólo el tráfico del plano de control, o todo (control y datos) entre los nodos. Esto proporciona flexibilidad a los clientes para que puedan elegir el nivel de cifrado adecuado que necesitan para su caso de uso, sin perder de vista el rendimiento.

Esto no significa que el cifrado de nodo a nodo lo resuelva todo. El cifrado de nodo a nodo complementa los controles de seguridad existentes, como el cifrado de cliente a servidor, el cifrado a través de XDCR, el cifrado en reposo y la seguridad y el aislamiento a nivel de red basados en nubes privadas virtuales (VPC). Cuantas más capas de protección añada a su sistema, más difícil se lo pondrá a un atacante.

De nodo a nodo, no dentro de un nodo

Gracias a los comentarios de los clientes, en la versión 6.5 se ha añadido la función de cifrado de nodo a nodo. Esta característica ha llevado varios meses de desarrollo, aunque pueda parecer que aplica un TLS general en todos los nodos del clúster. La siguiente imagen muestra algunos de los cambios realizados en el gestor de clúster de Couchbase -

La línea roja indica el local interacciones que existen entre los diferentes procesos en el mismo nodo físico - ns_babysitter, ns_server y ns_couchdb VMs. La línea azul indica el externo interacciones entre máquinas virtuales ns_server que se ejecutan en diferentes nodos del clúster. Las interacciones mostradas en rojo siempre permanecerán sin cifrar independientemente de que el cifrado del clúster esté activado o no. Esto se debe a que no queremos sobrecargar innecesariamente los procesos en ejecución con cifrado. Por otro lado, las interacciones externas (mostradas en azul) se cifran cuando el cifrado del clúster está activado.

¿Cómo configurar el cifrado de nodo a nodo?

Configurar el cifrado de nodo a nodo es fácil, y en esta sección describiremos paso a paso las instrucciones que puedes seguir para configurarlo -

Primer paso: Instalar Couchbase Server 6.5 en 2 nodos. Llamemos a estos nodos nodo-1 y nodo-2.

Segundo paso: Si se trata de un clúster nuevo, durante la configuración gráfica de los nodos, se le pedirá que seleccione si el cifrado de nodo a nodo está activado o no. Por defecto, el cifrado de nodos no está activado. 

Marque la casilla "Activar la encriptación del clúster" en el cuadro de diálogo y continúe.

Esta configuración sólo es aplicable si todos los nodos del clúster son de la versión 6.5 o superior. Si se trata de un nuevo clúster 6.5, todos los nuevos nodos que se unan al clúster heredarán esta configuración. 

En el caso de un clúster existente que se actualiza a la versión 6.5 o de un clúster nuevo, esta operación también puede realizarse mediante el comando CLI que se muestra a continuación -

$> ./couchbase-cli cifrado de nodo a nodo -c localhost:8091 -u -p -activar

Paso 3: Compruebe la configuración para asegurarse de que el cifrado del clúster está activado

./couchbase-cli configuración-seguridad -get -c localhost:8091 -u -p

{"disableUIOverHttp": false, "disableUIOverHttps": false, "clusterEncryptionLevel": "control"}

Tenga en cuenta que, por defecto, el nivel de cifrado del clúster se establece en control. Esto significa que los datos entre nodos siguen estando sin cifrar, pero el plano de control está cifrado.

Paso 4: Utilizar netstat para comprobar los puertos abiertos en nodo-1 saliente a nodo-2. Cuando hay sin encriptación, se utilizan los puertos 21100 a 21299 para el intercambio de datos. Para En las conexiones TLS entre nodos se utiliza siempre el puerto 21150

Necesitarás sudo como 'root' para ejecutar este comando - 

$> netstat -atep -numeric-ports | grep 'beam.smp' | grep 'node-2' 

Salida: 

tcp 0 0 nodo-1.us-central:59586 nodo-2.us-central:11209 ESTABLISHED couchbase 26650 3953/beam.smp      

tcp 0 0 nodo-1.us-central:21150 nodo-2.us-central:48498 ESTABLISHED couchbase 24960 3953/beam.smp      

Paso 5: Si eres lo suficientemente valiente, puedes ir un paso más allá utilizando el paquete tshark (wireshark) y capturar paquetes TCP. Así es como se ve la salida -

$> tshark -P -i eth0 -f tcp -w /tmp/eth0.pcap

$> tshark -x -r /tmp/eth0.pcap | Menos

Salida encriptada como se muestra a continuación - 

Certificados rotatorios

Como parte de la higiene de seguridad habitual, se espera que los certificados instalados se renueven periódicamente. Para garantizar la continuidad de las operaciones del clúster, el flujo de trabajo admitido consistiría en desactivar el modo de cifrado, cargar los certificados más recientes en todos los nodos del clúster y volver a activar el cifrado. A continuación se detallan los comandos que el administrador deberá ejecutar para rotar los certificados:

1. Compruebe el nivel de cifrado del clúster. 

./couchbase-cli configuración-seguridad -get -c localhost:8091 -u -p

{"disableUIOverHttp": false, "disableUIOverHttps": false, "clusterEncryptionLevel": "all"}

Si el nivel es "all" como se muestra, entonces tienes que cambiarlo a "control" usando el comando couchbase-cli setting-security set.

  1. Desactive el cifrado del clúster mediante el comando CLI "change-cluster-encryption".
$> couchbase-cli cifrado de nodo a nodo-cambio de cifrado de clúster 

               -c localhost:8091 

               -u 

               -p

               -desactivar

  1. Copie todos los certificados de los nodos más nuevos en la carpeta bandeja de entrada en todos los nodos del clúster y pídale al clúster que recargue los certificados.

Si también es necesario renovar el certificado raíz, cargue el nuevo certificado raíz en el clúster mediante el comando -cargar-cluster-ca Comando CLI.

$> couchbase-cli ssl-manage

                 -cluster :

                 -upload-cluster-ca

A continuación, ejecute el -set-node-certificate Comando CLI para recargar los nuevos certificados de nodo en todos los nodos del cluster

$> couchbase-cli ssl-manage

                 -cluster :

                 -set-node-certificate

  1. Active el cifrado del clúster mediante el comando CLI "change-cluster-encryption". Recursos

$> couchbase-cli cifrado de nodo a nodochange-cluster-encryption 

               -c localhost:8091 

               -u 

               -p

               -activar

Conclusión

Estamos muy entusiasmados con las nuevas características de seguridad en Couchbase Server 6.5, ya que estas características abordarán muchas peticiones que nuestros clientes han solicitado. Como siempre, esperamos sus comentarios sobre nuestras nuevas características y esperamos que tenga la oportunidad de probar la versión preliminar de Couchbase Server 6.5.

Recursos

Descargar

Descargar Couchbase Server 6.5

Documentación

Notas de la versión de Couchbase Server 6.5

Novedades de Couchbase Server 6.5

Blogs

Blog: Anuncio de Couchbase Server 6.5 - Novedades y mejoras

Blog: Couchbase lleva las Transacciones Distribuidas Multidocumento ACID a NoSQL

Todos los blogs de 6.5

 

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

Autor

Publicado por Chaitra Ramarao, Sr. Director de producto, Couchbase Inc.

Chaitra Ramarao es gestora sénior de productos en Couchbase, una empresa de bases de datos NoSQL que lidera las herramientas de bases de datos, la replicación entre centros de datos y las integraciones de socios. Anteriormente trabajó en la gestión de productos de análisis de datos para Kaiser Permanente y en el desarrollo de software para Hewlett Packard. Es licenciada en ECE y tiene un máster de Carnegie Mellon en Ingeniería y Gestión de la Innovación Tecnológica.

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.