Re: Cadena de conexion a postgresql cifrada. JDBC

From: "Crispin T(dot)" <cris(dot)emis(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cadena de conexion a postgresql cifrada. JDBC
Date: 2013-04-22 21:06:50
Message-ID: CAMb9RiPWXmQn=JPGigvBEF087Vr86V8bHHBJMU_waRQoBvSVpQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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.

Alvaro revisare lo que me indicas para ver que tal me va por ese lado
Gracias.

2013/4/22 Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>

> Crispin T. escribió:
>
> > no estoy seguro de que si este tema es off-topic por eso no lo puse asi.
>
> Bueno, si es on-topic entonces no es necesario poner nada; y si es
> off-topic, entonces no deberías publicarlo en esta lista, así que
> tampoco necesitas poner nada.
>
> > tengo una consulta, hay alguna forma enviar la cadena de conexion
> cifrada,
> > encriptada o codificada en (por ejemplo) Base64? vi en un proyecto por
> hay
> > que alguien puso.
> >
> DriverManager.getConnection("amRiYzpwb3N0Z3Jlc3FsOi8vMTkyLjE2OC4xLjEwMDo1NDMyL3BydWViYT91c2VyPXRlc3QmcGFz
> > c3dvcmQ9dXNlcnRlc3Q=");
> >
> > revisando un poco vi que esa cadena esta codificada en Base64 y es una
> > cadena de conexion verdadera.
> >
> > pero no puedo pasarle esa cadena directamente a postgresql.
>
> jdbc:postgresql://192.168.1.100:5432/prueba?user=test&password=usertest
>
> ¿cuál sería el objetivo de esto? ¿no estarás tratando de esconder la
> password? Por si es así, evidentemente no va a funcionar.
>
> ¿Quizás te pueda servir un archivo pg_service.conf? ¿quizás en conjunto
> con un pg_pass.conf?
>
> --
> Álvaro Herrera http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>

--
Solo alcanzaras el conocimiento conociendo la ignorancia.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2013-04-22 21:08:45 Re: Visualizacion y accesos a bases de datos usando Pgadmin3
Previous Message Alvaro Herrera 2013-04-22 20:58:54 Re: Cadena de conexion a postgresql cifrada. JDBC