Re: Compilar Postgresql sin OpenSSL con LibreSSL u otra similar

From: Eduardo Morras <emorrasg(at)yahoo(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Compilar Postgresql sin OpenSSL con LibreSSL u otra similar
Date: 2016-02-12 08:52:18
Message-ID: 20160212095218.ddfc5283efd2c91d2507ac0e@yahoo.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Thu, 11 Feb 2016 13:42:50 -0300
Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:

> Eduardo Morras escribió:
>
> > No, puede que no me haya explicado bien, el cliente SI quiere
> > SSL/TLS, pero no la implementacion de OpenSSL. Las aplicaciones
> > usan LibreSSL,
> > modificando /postgresql/src/interfaces/libpq/fe-secure-openssl.c y
> > cambiado de nombre a fe-secure-libressl.c para que compile con
> > libressl (cambios minimos, ya que tiene modo de compatibilidad con
> > openssl)
> >
> > Las dos opciones que tengo en mente, son:
> >
> > a) Compilar PostgreSQL con LibreSSL u otra implementacion, como
> > mbedtls/polarssl o nss.
> > b) Poner en la misma maquina que el servidor pgbouncer, compilado
> > con LibreSSL. Las conexiones de los clientes a pgbouncer son
> > seguras y entre pgbouncer y PostgreSQL no creo que hagan falta al
> > compartir maquina.
>
> Heikki Linnakangas inició hace un par de años un proyecto para
> permitir que Postgres sea "agnóstico a la implementación SSL", de
> manera que se puedan usar otras bibliotecas como LibreSSL, GnuTLS,
> Schannel (Windows), Mozilla NSS, para la implementación subyacente.
> Lo que está hecho hasta el momento es que la parte de OpenSSL está
> encapsulada en ese archivo be-secure-openssl.c; lo que falta es
> permitir que otras bibliotecas ofrezcan una API similar para poder
> tener be-secure-schannel.c etc.

Ahh..., entonces tambien hay que modificar el src/backend/libpq? Solo estaba modificando el src/interfaces/libpq. Supongo que uno sera para el servidor y el otro para clientes.

> La gracia de LibreSSL es que es muy similar a OpenSSL y debería ser
> posible crear un be-secure-libressl.c a partir del -openssl.c sin
> demasiado trabajo. Si lo haces, quizás podrías considerar la idea de
> transformar eso en un parche para Postgres y enviarlo a pg-hackers.
> En cambio, hacerlo con PolarSSL o alguna de las otras deber ser un
> esfuerzo mucho mayor (y por lo tanto si lo haces, definitivamente
> envía el parche a -hackers).

Son muy similares, en muchos proyectos basta con cambiar el makefile ya que la API de LibreSSL tiene un modo de compatibilidad 100%. Esta parte del proyecto he conseguido ponerla bajo licencia tipo BSD o similar (Mit,Isc, Postgresql, BSD2-clause, x11..) como pago por el uso de Postgresql.

> BTW tengo entendido que SSL incluso en SSLv3 tiene problemas de
> seguridad bastante severos, y sólo TLS v1.2 debería considerarse
> ahora.

De hecho en fe-secure-openssl.c sslv2 y sslv3 estan deshabilitados. Hay comentarios en el codigo que explican que no son seguros y que solo se usa TLS.

Muchas gracias

> --
> Álvaro Herrera http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>

--- ---
Eduardo Morras <emorrasg(at)yahoo(dot)es>

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Eduardo Morras 2016-02-12 09:07:33 Re: [OFFTOPIC] - Espacio en disco de tablas con imágenes.
Previous Message Martín Díaz 2016-02-12 04:20:46 Re: BDR + 1 Esclavo