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