¿Por qué habilitar SMTP STARTTLS si OpenSSL es peligroso?

10

Hay un grupo de personas en el movimiento contra la vigilancia que prácticamente exigen que habilite la compatibilidad con SMTP STARTTLS en mi entorno, a fin de habilitar el cifrado oportunista de MTA a MTA. Mientras tanto, las mismas personas en contra de la vigilancia se quejan de que OpenSSL es un código de baja calidad con una alta probabilidad de serias vulnerabilidades sin descubrir.

¿Exponer OpenSSL (la mayoría de los MTA, incluido el nuestro que solo es compatible con OpenSSL) a Internet, es un riesgo que vale la pena, en beneficio de prevenir oportunamente las escuchas ilegales? Parece que el riesgo de que las personas espíen el correo electrónico en tránsito palidece en comparación con el riesgo de que OpenSSL sea explotado en el servidor de correo para robar datos almacenados o instalar una puerta trasera persistente.

    
pregunta ruief 11.07.2014 - 10:05
fuente

3 respuestas

26

Creo que estás sobreestimando el riesgo de habilitar STARTTLS . Claro, ha habido algunos incidentes con OpenSSL recientemente, pero ¿significa que todos debemos dejar de usar HTTPS?

En su situación, aquí está la compensación:

  • El uso de STARTTLS puede abrir agujeros de seguridad en sus máquinas
  • No usar STARTTLS permitirá que cualquiera que espíe (en la red, en cables submarinos ...) lea los correos electrónicos sin esfuerzo. (Al contrario de lo que implica, esto no es un riesgo, está sucediendo, como han demostrado los documentos de Snowden).

Básicamente, debe elegir entre mitigar posibles problemas de seguridad futuros y defenderse contra los ataques actuales.

A menos que usted sea un objetivo de alto perfil y tenga miedo de que se usen 0 días en su contra, le aconsejaría ir con STARTTLS . Alternativamente, si realmente no confías en OpenSSL, probablemente puedas mirar GnuTLS (aunque también tuvo su parte de problemas) o esperar a que aparezca LibReSSL de OpenBSD .

ACTUALIZACIÓN : OpenBSD acaba de lanzar una versión portátil de LibReSSL ... Todavía le faltan pruebas, pero esto significa que aún puede obtener lo mejor de ambos mundos, siempre que confíe en ellos más que Los desarrolladores de OpenSSL.

    
respondido por el executifs 11.07.2014 - 10:16
fuente
5

En primer lugar, está confundiendo SSL / TLS y sus implementaciones. Es posible que su servidor use OpenSSL, pero eso no significa que los clientes que se conecten a él lo hagan. Las vulnerabilidades potenciales dependen mucho del contexto. Si le preocupan las vulnerabilidades de día cero específicas de OpenSSL, es posible que pueda encontrar un servidor de correo que use otra pila.

Además, OpenSSL ha tenido una mala publicidad debido al error Heartbleed, pero esto quizás sea una bendición disfrazada, ya que, como consecuencia, algunas firmas grandes parecen haber decidido proporcionar al proyecto una financiación sustancial (que no tenía). No estoy seguro de si otras implementaciones (por ejemplo, GnuTLS, NSS de Mozilla, incluso JSSE de Java, ...) tendrían el mismo tipo de presupuesto asignado.

En general, sigue siendo una buena idea habilitar STARTTLS en su servidor de correo, ya que debe proteger la conexión entre el cliente y el servidor de correo (MSA). Como mínimo, es bueno proteger la contraseña del usuario (a menudo se reutilizan en la práctica). Al igual que cualquier otro software, vale la pena actualizarse a una versión más reciente siempre que haya una actualización de seguridad. Desafortunadamente, nada es perfecto.

Como nota al margen, STARTTLS ayudará entre el cliente y el MSA (su servidor), pero será de poca ayuda entre MTA en general (es decir, una vez que deja su servidor para ir a un servidor diferente).

    
respondido por el Bruno 11.07.2014 - 15:26
fuente
5

Aunque OpenSSL tiene algunos problemas de calidad, sería bastante optimista creer que el resto del software que usted expone a Internet funciona mejor. OpenSSL es una de las piezas de software más atacadas porque es un objetivo de alto valor:

  • La misma biblioteca se usa en muchos servidores de muchos tipos (HTTPS, SMTP, IMAP, ...) por lo que cualquier vulnerabilidad tiene un amplio rango de aplicabilidad potencial.

  • La gente piensa que SSL es "altamente sensible", por lo que los derechos de fanfarronear asociados son enormes. Técnicamente, cuando usa SSL, es para proteger algunos datos confidenciales, que es el verdadero objetivo del atacante; Un atacante que roba la clave privada de un servidor no busca la clave por sí mismo, sino que desea ejecutar un servidor falso para obtener los números de tarjeta de crédito de los usuarios. SSL y sus claves son simplemente herramientas habilitadoras. Sin embargo, las claves privadas son terribles trofeos; los atacantes geek pueden ganar mucha fama entre sus compañeros al desarrollar una clave privada RSA robada, acercándolos al estatus de macho alfa.

Una consecuencia es que OpenSSL es en realidad una de las piezas de software más seguras , porque cuando se encuentran vulnerabilidades, son ampliamente publicitadas, y dado que hay muchos sistemas que utilizan OpenSSL, existen riesgos que los atacantes aplican el exploit a su servidor antes de instalar el parche de seguridad relevante.

La seguridad práctica del software es una carrera entre el descubrimiento de vulnerabilidades y su solución. El uso de una biblioteca con una base de usuarios muy grande y un historial de parches reactivos eficientes (lo cual es ayudado por el estado de código abierto de OpenSSL), otorga inmunidad de rebaño . ¡Funciona muy bien!

Así que no te preocupes por OpenSSL. De hecho, úsalo. Lo que realmente importa es que las soluciones de seguridad se apliquen rápidamente, lo cual es un problema de administrador de sistema. (Por otra parte, usar OpenSSL en sistemas integrados como enrutadores domésticos, cuyo software nunca se actualiza realmente, probablemente no sea una buena idea, por las mismas razones).

    
respondido por el Tom Leek 11.07.2014 - 15:55
fuente

Lea otras preguntas en las etiquetas