Eduardo Morras escribió:
> On Thu, 11 Feb 2016 13:42:50 -0300
> Alvaro Herrera <alvhe...@2ndquadrant.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@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a