Re: Cadena de conexion a postgresql cifrada. JDBC

From: Fernando Hevia <fhevia(at)gmail(dot)com>
To: "Crispin T(dot)" <cris(dot)emis(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cadena de conexion a postgresql cifrada. JDBC
Date: 2013-04-23 00:41:31
Message-ID: CAGYT1XTpDy=ZQA7qGhJX4X2TH3A+gmZ=t4ZhkwfZmOWcFcZbfg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2013/4/22 Crispin T. <cris(dot)emis(at)gmail(dot)com>

> Fernando. Gracias por responder.
>
> en si seria para añadirle un tanto mas de seguridad a la base de datos.
> ya tengo configurado permisos de conexion por ips especificas a la base de
> datos.
> los usuarios de base de datos se conectan con contraseñas de un solo uso
> basadas en tiempo ( Time-based One-time Password) con el mismo algoritmo
> utilizado por google en "google authenticator" pero la cadena de conexion
> generada en la aplicacion para cada conexion es visible si se decodifica la
> aplicacion o se le inyecta código con un par de clases hechas con AspectJ.
> lo que quiero es que si alguien logra obtener esa cadena de conexion no
> pueda conectarse a la bd desde un cliente tipo pgadmin. y para eso lo único
> que se me ocurrió es que la cadena de conexion que obtenga sea ilegible.
> como el caso de Base64. lógicamente no es la mejor solución debido a que si
> una persona se tomo el trabajo de decodificar la aplicacion, analizar el
> funcionamiento del algoritmo que genera las cadenas de conexion y
> contraseñas va a poder deducir que un texto
> "amRiYzpwb3N0Z3Jlc3FsOi8vMTkyLjE2OC4xLjEwMDo1NDMyL3BydWViYT91c2VyPXRlc3QmcGFz
> c3dvcmQ9dXNlcnRlc3Q=" es un texto codificado en base64. asi que una mejor
> solucion seria talves sifrar el texto y que postgres decifre eso y no solo
> cambiar el encoding. pero desconosco si eso se puede hacer. asi que lo
> que se me ocurrio de curiosidad es ver como cambiar el encoding, ya que
> como comente antes alguna ves vi algo parecido en el codigo de un ex
> compañero de trabajo.
>
> pdta: si en ves de cambiar solo el encoding se puede además cifrar la
> conexion ya sea en jdbc o desde postgresql seria mucho mejor.
>
>
> Saludos y gracias por el interés.
>

Me temo que no es la respuesta que estás buscando pero en un escenario
donde la seguridad es prioritaria sugeriría no tener conexiones desde los
clientes hacia la base de datos. Esto es, mutar a una solución de n-capas
donde la capa de acceso a datos esté en el servidor. De esa forma mantienes
estricto control en el acceso a la base de datos además de que el string de
conexión no estará al alcance de nadie que no tenga acceso al servidor.

Pero yendo a tu pregunta puntual: no, no es posible de hacerse tal como lo
planteas, no al menos sin modificar postgres mismo.... hasta donde conozco.

Saludos.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Felipe de Jesús Molina Bravo 2013-04-23 01:52:31 Re: Hola
Previous Message Sergio Sinuco 2013-04-23 00:30:19 Re: Hola