Buenas prácticas y tutoriales

HashiCorp Vault con Couchbase Server

En el vertiginoso mundo actual, la seguridad de los datos es de suma importancia, sobre todo cuando se trata de información sensible. Un componente clave de la seguridad de datos es la autenticación, que protege los datos de ser robados. HashiCorp Vault es una de las tecnologías que pueden ayudar a las empresas a asegurar aún más el acceso a su base de datos Couchbase.

¿Cómo puede ayudarme HashiCorp a aumentar aún más la seguridad de mi base de datos?

HashiCorp Vault puede almacenar y gestionar de forma segura credenciales de bases de datos, como nombres de usuario y contraseñas, y generar dinámicamente otras nuevas cuando sean necesarias. Esto reduce el riesgo de exposición accidental o intencionada de credenciales y facilita su revocación o rotación cuando ya no se necesitan.

Vault también puede proporcionar registros de auditoría detallados de todos los accesos a la base de datos y del uso de credenciales, lo que puede ayudar a las organizaciones a cumplir diversos requisitos normativos y a controlar las actividades sospechosas.

En esta entrada del blog tutorial, vamos a ver cómo integrar Couchbase Server con HashiCorp Vault.

Paso 1: Configurar la bóveda

El primer paso es configurar una instancia de HashiCorp Vault. Puedes descargar el binario de Vault desde el sitio web oficial, puedes utilizar un gestor de paquetes como Homebrew o Chocolatey o puedes ejecutar Vault utilizando Docker. En esta entrada del blog vamos a utilizar Docker para configurar el entorno.

    • Configurar la red Docker

    • Inicie Vault en un contenedor Docker. Para iniciar Vault en modo desarrollador con una contraseña de root de contraseñasimplemente utilice el siguiente comando.

El comando Docker anterior inicia el servidor Vault en modo de desarrollo, lo que no se recomienda para uso en producción. Crea un almacén de datos en memoria que se borra cuando se apaga el servidor. Sin embargo, es perfecto para realizar pruebas.

La interfaz de usuario de la cámara acorazada se ejecuta en https://localhost:8200

Puedes utilizar una "contraseña" como token para acceder a la interfaz de usuario de Vault, ya que hemos especificado que sea el token raíz.

Paso 2: Comprobar la configuración de Vault

Una vez que el servidor Vault está en funcionamiento, es necesario asegurarse de que el plugin de base de datos Couchbase está instalado.

Ejecute el siguiente comando para comprobar si el plugin está instalado:

Nota: en el comando anterior, nombramos el contenedor bóveda_sofáUsando el comando anterior se ejecutan los comandos de la bóveda dentro del contenedor que ejecuta HashiCorp Vault.

La salida de este comando debería listar el plugin couchbase:

Si quieres experimentar con Vault puedes usar el siguiente comando para abrir un shell dentro del contenedor que ejecuta Vault:

Puedes autenticarte con el token raíz que configuramos antes:

Si no está familiarizado con Vault, consulte la página documentación de comandos.

Paso 3: Iniciar un servidor Couchbase de demostración

Abra una nueva ventana de terminal y ejecute el siguiente comando para iniciar Couchbase:

Paso 4: Configurar Couchbase Server

Abre un tercer terminal. Lo usaremos para ejecutar comandos Docker para configurar Vault y Couchbase en los siguientes pasos.

    • Inicializar nuestro clúster Couchbase

    • Importar algunos datos de muestra

Es hora de inspeccionar nuestro clúster utilizando la interfaz de usuario. Puede abrir la ventana consola en https://localhost:8091 y utilizar Administrador como nombre de usuario y contraseña como contraseña para iniciar sesión.

Paso 5: Crear un usuario de Couchbase Server

Ahora que el Vault está configurado, y Couchbase Server está funcionando, necesitamos crear un usuario Couchbase. Este usuario será utilizado por el plugin Couchbase Vault para acceder a Couchbase Server y crear usuarios bajo demanda.

Una vez creado el usuario, aparecerá también como usuario en la interfaz de usuario:

Paso 6: Integrar Vault y Couchbase Server

Ahora que tanto Vault como Couchbase Server están configurados, necesitamos integrarlos. Sigue estos pasos:

    • Habilitar el motor de base de datos de Vault

    • Inicializar el plugin Couchbase Server

Permítanme explicar el comando anterior un poco más en detalle.

  1. Utilizando wget descargamos el certificado de Couchbase Server ya que lo necesitaremos más adelante.
  2. Inicie sesión en Vault con acceso a la cámara acorazada.
  3. Crear un demo-db mediante la función complemento de base de datos couchbase. Necesitamos especificar nuestro servidor Couchbase y un usuario (couchbase-vault-user) para conectarse a él.

Tenga en cuenta lo siguiente: especificamos roles_permitidos ser * que no se recomienda en producción ya que permitirá la creación de un usuario Couchbase con cualquier rol disponible.

    • Gire la contraseña del usuario couchbase

Dado que utilizamos una contraseña muy insegura para establecer la conexión entre Couchbase Server y Vault, es importante cambiar la contraseña ejecutando el siguiente comando:

Comprobemos que la contraseña se ha cambiado. Podemos hacerlo intentando iniciar sesión como couchbase-vault-user utilizando la interfaz de usuario de Couchbase.

Deberías ver un mensaje de error Login failed. Esto confirma que Vault fue capaz de rotar la contraseña del usuario que Vault utiliza para hablar con Couchbase Server:

Paso 7: Crear una política de demostración de Vault

Por último, tenemos que crear una política de bóveda. Usa el comando vault policy. Esta política se utilizará para crear nuevos usuarios en Couchbase

El siguiente comando creará un rol HashiCorp Vault que puede crear usuarios con roles ro_admin en Couchbase.

Paso 8: Probar la integración

Ahora que la integración está completa, podemos probarla. Siga estos pasos:

    • Crear un usuario

Si todo está configurado correctamente debería ver un nuevo usuario creado como el que se muestra a continuación:

Ahora puede utilizar este usuario para iniciar sesión en Couchbase o utilizar la interfaz de usuario para ver si el usuario existe:

Nota: Este usuario tiene un contrato de arrendamiento de cinco minutos. Si espera cinco minutos, el usuario será desaprovisionado automáticamente por Vault. Puede utilizar Vault para prorrogar el contrato o crear un nuevo usuario. Para más información, consulte Documentación de Vault.

Conclusión

Integrar Couchbase Server con HashiCorp Vault es una gran manera de asegurar el acceso a tus datos. En esta entrada de blog, hemos visto cómo hacer precisamente eso. Siguiendo los pasos descritos anteriormente, puedes integrar fácilmente Couchbase Server con HashiCorp Vault.

Teniendo en cuenta que los pasos que hemos descrito son únicamente para pruebas y demostraciones, es crucial entender que cuando se trata de despliegues de producción seguros, adherirse a las mejores prácticas de la industria es primordial. Para garantizar que tanto tu Vault como tu servidor Couchbase están configurados y fortificados apropiadamente, lo cual va más allá del alcance de este artículo, te recomendamos encarecidamente que sigas estas prácticas recomendadas.

Hay algunas cosas a tener en cuenta a la hora de crear cuentas de usuario en Couchbase. La creación de usuarios es asíncrona en ns_server. Sólo estará 100% disponible en el nodo en el que se hizo la petición y luego se crean en los otros nodos de forma asíncrona. Como ejemplo, si se creara un usuario cada minuto y se borrara, se llegaría a 525600 usuarios borrados en un año, lo que sigue siendo seguro para muchos años. Sólo ten en cuenta que crear millones de usuarios podría tener un impacto en el rendimiento de creación de usuarios de tu cluster y crear muchos millones de usuarios está más allá de lo que hemos probado hasta ahora.

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

Autor

Publicado por Istvan Orban, Director de Producto

Istvan Orban es el Principal Product Manager de Couchbase y vive en el Reino Unido. Istvan tiene una amplia experiencia como ingeniero de software de pila completa, líder de equipo e ingeniero Devops. Su enfoque principal es la seguridad y Single Sign On. Istvan ha liderado varios proyectos a gran escala en sus 20 años de carrera profesional.

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.