it-swarm-es.com

¿Debemos configurar todos los dispositivos para nunca solicitar SSL 2.0 y rechazarlo si se ofrece?

En un esfuerzo por reducir al hombre en los ataques medio, ¿cuándo será (o fue) una práctica de la industria aceptada para rechazar las conexiones SSL 2.0 en el lado del cliente y del servidor?

¿Está configurando esto en un sufio proxy para proteger un conjunto de hosts detrás de él? (Actualizar: ver la respuesta a esta pregunta aquí o desplácese hacia abajo)

10
goodguys_activate

Respecto a la última parte de su pregunta: No, un proxy no puede ¡Normalmente Proteger un montón de estaciones de cliente de los problemas de SSLV2. En SSL/TLS , las cosas van principalmente así:

  • El cliente envía un mensaje ClientHello en el que establece el número de versión de protocolo máximo que acepta (TLS 1.0 se anunció como "SSL 3.1").
  • El servidor responde con un mensaje ServerHello que especifica la versión del protocolo que se utilizará en realidad.
  • El cliente y el servidor intercambian algunos otros mensajes, con una criptografía fuerte en ella, lo que resulta en un "secreto compartido" que luego se usa como clave para cifrar y descifrar datos.
  • Al final del apretón de manos, justo antes de enviar y recibir los datos de la aplicación real, se envían dos mensajes Finished (uno por el cliente, uno por el servidor) que contiene algunos datos que es A hash calculado sobre los mensajes intercambiados previamente. El servidor (resp. Cliente), al recibir el mensaje Finished del cliente (Resp. Server), recompuga el hash esperado; En el desajuste, cierra la conexión.

Ahora veamos qué pasa cuando hay un proxy. Se supone que un proxy HTTP para manejar las solicitudes y respuestas de HTTP. SSL no es un protocolo de solicitud-respuesta; Espera y proporciona un túnel bidireccional. Así que algo especial ha sido diseñado en HTTP (especificado en RFC 2817 , Sección 5): El cliente envía A CONNECT Orden al proxy, instruyendo que reenvíe todos los bytes de datos posteriores en ambos direcciones.

Por lo tanto, incluso en presencia de un proxy HTTP, el Crypto todavía ocurre entre el cliente y el servidor. El proxy verá los mensajes de apretón de manos, pero (ese es el punto importante) IT no puede Modificarlos, ya que eso arruinaría los cálculos de hash para el Finished Mensajes: El cliente y el servidor no habrían visto los mismos mensajes exactos de apretón de manos, calificarían los hashes distintos, y habría desajustes con los mensajes Finished. En particular, si el cliente envía un ClientHello, que indica que admite SSLV2 (es decir, A ClientHello que utiliza el formato SSLV2, al mismo tiempo que está escribiendo en él "Soporte de hasta 3.1"), El proxy no puede cambiarlo.

Nota: En el protocolo SSLV2, el apretón de manos no tiene Finished mensajes. Entonces, un atacante que podría interceptar ambas direcciones (el proxy se encuentra en una posición ideal para eso) podría secuestrar a ClientHello en formato SSLV2 y cambiar la "versión admitida máxima" de 3.1 a 2.0. Esto puede obligar a los clientes y servidores con Aware SSLV2 a usar SSLV2, incluso si ambos son compatibles con SSLV3 +. Esto se llama "Versión Rollback Attack". La especificación TLS 1. incluye una solución que bloquea ese ataque (sección E.2).


Arriba escribí "normalmente". Hay algo funky que el proxy Can Hacer en algunos casos. Es decir, el proxy "ataca" la conexión, en un verdadero hombre en el camino medio . Esto requiere que el proxy produce en el lugar un certificado de servidor falso, con un ad hoc incrustado CA; El certificado raíz correspondiente debe haberse instalado en el cliente (es decir, no se preocupe, su proxy ISP no puede forzarlo en usted).

Tales proxys de secuestro existen; Este engaño se usa para aplicar técnicas de filtrado agresivo en el contenido intercambiado (también está unido sobre el ceño, porque se basa en rompiendo ligeramente los cimientos de la seguridad SSL). Un proxy de secuestro puede teóricamente Realice un SSLV2 con el cliente y un SSLV3 + con el servidor previsto, en efecto "Protegiendo a varios clientes de SSLV2".


En la práctica , el software que conoce SSLV2 pero no SSLV3 es bastante raro; En el caso de los navegadores web, esto nos lleva a los mediados de los noventa. Por lo general, puede, en general, prohibir totalmente SSLV2 de todas sus configuraciones, y las cosas funcionarán bien.

5
Thomas Pornin

Respecto a las prácticas aceptadas por la industria:

(de http://www.rapid7.com/vulndb/lookup/sslv2-and-Onsabled )

"SSLV2 ha estado en desuso y ya no se recomienda. Tenga en cuenta que ni SSLv2 ni SSLV3 cumplen con los EE. UU. FIPS 140-2 estándar, que rige los módulos criptográficos para su uso en los sistemas de información federal. Sólo el nuevo TLS (Seguridad de la capa de transporte) El protocolo se reúne FIPS 140-2 Requisitos. Además, la presencia de un servicio SSLV2 solo en un huésped es se considera un error de la PCI (Industria de la tarjeta de pago) Estándar de seguridad de datos . Tenga en cuenta que esta vulnerabilidad se informará cuando el servidor remoto admite SSLV2 independientemente de si TLS o SSLV3 también son compatibles ".

10
Tate Hansen

La compatibilidad hacia atrás es una de esas cosas que debemos exigir para desaparecer. Cada CISO/CSO en cada compañía debe indicar a los proveedores de productos que mueran en un incendio si admiten SSL 2.0, WEP, etc.

4
atdre

Creo que nos ha reducido a nosotros (la profesión de seguridad) hacer que esto suceda, por ejemplo:

Si realizamos una auditoría de TI, debemos asegurarnos de que el Comité de Auditoría vea un rojo cuando existe SSL V2

Si estamos trabajando con desarrolladores web, necesitamos que no se acepte su software, a menos que use al menos SSL V3, o idealmente TLS

Si estamos gestionando proyectos, debemos fallar a cualquier proveedor que intente vender un software de EE. UU. Que usa SSL V2

Somos los que necesitan Tech los compradores/desarrolladores/gerentes de proyectos/CEOs que las lastimarán si se usa SSL V2, pero tenemos que hacerlo en idioma de negocios. El PCI DSS es muy útil a este respecto, ya que puede obligar a los proveedores de servicios de tarjetas para mejorar, y, con suerte, podemos usarlos como ejemplo para persuadir a otras organizaciones.

2
Rory Alsop

Probablemente. Eso es lo que comenzó la distribución de Ubuntu Hace 2 años, y está terminando ahora. Vea algunas de las cuestiones: https://wiki.ubuntu.com/migrateffssl2 y vea la discusión reciente sobre la lista de correo: https://lists.ubuntu.com/archives/ Ubuntu-Devel/2010-Julio/031010.HTML

2
nealmcb