Re: Compilar Postgresql sin OpenSSL con LibreSSL u otra similar

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Eduardo Morras <emorrasg(at)yahoo(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Compilar Postgresql sin OpenSSL con LibreSSL u otra similar
Date: 2016-02-12 12:55:47
Message-ID: 20160212125547.GA507547@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Eduardo Morras escribió:
> On Thu, 11 Feb 2016 13:42:50 -0300
> Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
>
> > 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.

Hm, sí, justamente.

> > 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.

OK. Después de dormir me pregunto si será realmente necesario crear un
archivo -libressl.c o bastará con algún retoque en el Makefile para que
lo considere (y quizás agregar algún #ifdef en los casos en que la API
provista sea distinta).

Por el momento todavía tenemos configure --enable-openssl. Yo me
imagino que lo que sucederá en el futuro cuando tengamos alguna otra
implementación para TLS es que esa opción se cambiará a algo como
--enable-tls={openssl,libressl}
lo cual seleccionaría automágicamente el (o los) archivos correctos a
compilar, algún "define" en pg_config.h, etc.

> > 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.

Ah, cierto.

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

-
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 mauricio pullabuestan 2016-02-12 13:54:21 Calculo de dígito verificador EAN13 mediante sql
Previous Message Alvaro Herrera 2016-02-12 12:43:52 Re: [OFFTOPIC] - Espacio en disco de tablas con imágenes.