Cómo Ejecutar pgbench a través del Proxy DataSunrise en PostgreSQL 14 con Autenticación SCRAM
Introducción
Bienvenido a nuestra última publicación en el blog donde nos sumergimos en los detalles de ejecutar pgbench a través de un proxy DataSunrise para bases de datos PostgreSQL, particularmente para la versión 14 y posteriores. Estas versiones de PostgreSQL vienen con una característica activada conocida como autenticación SCRAM, mejorando la seguridad a través de mejores mecanismos de manejo de contraseñas. Sin embargo, esta característica introduce complejidades al ejecutar herramientas como pgbench a través de un proxy. Vamos a desentrañar este problema y proporcionar una solución.
Comprendiendo la Autenticación SCRAM
SCRAM (Mecanismo de Autenticación de Desafío y Respuesta Salada) es un protocolo de seguridad que ofrece una protección robusta de contraseñas para conexiones de bases de datos. Previene la captura de contraseñas en redes no confiables y permite que las contraseñas se almacenen en un formato seguro y encriptado en el servidor. Una parte clave de este protocolo implica el uso de un certificado digital para encriptar contraseñas durante el proceso de autenticación.
El Desafío con los Proxies
Cuando te conectas a PostgreSQL a través de un proxy como DataSunrise, los certificados utilizados por el proxy y el servidor de bases de datos pueden diferir. Debido a esto, la contraseña encriptada enviada desde el cliente, que la base de datos debería desencriptar utilizando SCRAM, no puede ser procesada si pasa a través del proxy debido a la incompatibilidad de certificados.
Solución para Clientes
Los clientes que deseen utilizar herramientas como pgbench a través del proxy DataSunrise deberán desactivar el protocolo de autenticación SCRAM en su aplicación o controladores. Desactivar SCRAM permite que la conexión vuelva a un método de autenticación menos estricto que no depende de la coincidencia de certificados para la encriptación de contraseñas.
Cómo Desactivar SCRAM para pgbench
Para desactivar la autenticación SCRAM al usar pgbench, puedes configurar una variable de entorno que instruya al cliente de PostgreSQL a ignorar el enlace de canal (un componente de SCRAM). Aquí te mostramos cómo hacerlo:
Abre tu terminal.
Antes de ejecutar pgbench, exporta la siguiente variable de entorno:
export PGCHANNELBINDING=disable
Ahora, ejecuta pgbench como lo harías normalmente.
Conclusión
Configurando la variable de entorno PGCHANNELBINDING a ‘disable’, puedes ejecutar sin problemas pgbench a través del proxy DataSunrise incluso en las versiones más recientes de PostgreSQL que utilizan la autenticación SCRAM. Esta solución asegura que tus pruebas de rendimiento no sean obstaculizadas debido a características de seguridad mejoradas.
Recuerda que aunque este método te permite continuar con tus pruebas de rendimiento, debe ser utilizado con precaución y preferiblemente en un entorno de red seguro y confiable, ya que omite una función avanzada de seguridad de PostgreSQL.