non-MiTM Reverse SSL

1

¿Existen proxies SSL inversos que no sean MiTM? ¿O todos los proxies que hacen las asignaciones SSL-SSL se descodifican y luego recodifican el tráfico HTTPS?

Si este es el caso y quiero mapear enlace - > enlace ¿cómo hago para construir una red donde solo el servidor de myprivatedomain.com pueda descifrar la solicitud HTTPS?

    
pregunta Gus 02.10.2013 - 19:42
fuente

2 respuestas

2

Hay dos hechos fundamentales que se deben conocer sobre SSL / HTTPS:

  • HTTPS es HTTP dentro de SSL. En particular, la URL no existe en el nivel SSL. Desde el exterior, sin descifrar los contenidos, se puede ver que "esto es SSL" y también que "esto es para host www.example.com ", pero no "esto es para URL https://www.example.com/foobar/index.html ". El " foobar/index.html " solo puede ser descubierto por el extremo SSL, donde ocurre el descifrado.

    En su caso, esto significa que cualquier redireccionamiento tendrá que ser todo o nada: la jerarquía completa del sitio, no un subárbol de los mismos.

  • El cliente HTTPS (el navegador web) insiste en encontrar en el certificado del servidor el nombre del servidor que espera, es decir, el de la URL.

    En su caso, ya que desea que el cliente vea una URL que comienza con https://mypublicdomain.com , entonces el certificado del servidor deberá contener mypublicdomain.com . Como desea que el descifrado se produzca en el servidor privado, esto significa que el servidor privado debe usar un certificado con el nombre del servidor público. Y como desea que el descifrado se produzca solo en el servidor privado, entonces la clave privada correspondiente no debe ser conocida por el servidor público.

    La conclusión es que el servidor privado posee y controla un certificado con el nombre de otro servidor, y que otro servidor no controla la clave privada correspondiente. Por lo general, la Autoridad de Certificación lo llama "fraude" e intenta realmente no permitir que eso suceda. Por lo tanto, debería poder hacerlo solo si posee y controla ambos servidores, y la separación que trata de imponer es un aislamiento relacionado con la seguridad, no una diferencia de propiedad.

Por lo tanto, lo que busca hacer puede suceder solo si usted:

  1. Acepte que el proxy se produce para un sitio completo, y realice el proxy al nivel de los paquetes IP o conexiones TCP. De hecho, cuando esto ocurre, normalmente decimos que se trata de alojamiento virtual , no de proxy (esto puede funcionar con SSL, por ejemplo, ver this , siempre que el cliente admita la Indicación del nombre del servidor TLS).

  2. De alguna manera, encuentre una manera de tener un certificado con el nombre público, pero la clave privada es conocida solo por el servidor privado. Si tienes ambos, entonces eso es fácil y depende de ti. Si el servidor público es un proveedor de hosting del que solo es cliente, esto puede ser difícil.

respondido por el Thomas Pornin 02.10.2013 - 19:58
fuente
1

Está hablando de la diferencia entre un proxy de socket transparente y un proxy de protocolo no transparente.

Como los nombres de dominio (que comprueban SSL) operan a un nivel diferente al de las IP (que utiliza el proxy de sockets transparentes), puede usar un servidor proxy completo (para un puerto determinado). Pero, como menciona Thomas, no puede representar un subconjunto de URL específico, ya que está dentro de la capa SSL.

Puede anidar (hacer un túnel) las capas SSL, con cada capa redirigiendo / revertiendo el proxy a diferentes servidores, pero los navegadores normales no lo admiten.

    
respondido por el LateralFractal 03.10.2013 - 04:55
fuente

Lea otras preguntas en las etiquetas