En SSL, las cosas son así: el cliente busca el nombre del servidor en el DNS; luego se conecta a la dirección IP que creó el DNS; luego se produce el protocolo de enlace SSL, durante el cual el servidor envía su certificado. Tenga en cuenta que la URL real no se ha enviado a ninguna parte en ese punto, solo el nombre del servidor; para que podamos ignorar la URL para el diagnóstico.
Dado que el problema afecta a varias máquinas con distintos sistemas operativos y navegadores, probablemente podamos descartar errores del navegador y del sistema operativo.
Google, Barnes and Noble, Facebook ... son creaciones humanas que, como tales, son imperfectas y pueden fallar ocasionalmente; pero es bastante improbable que todos falle simultáneamente.
Si eres el objetivo de un ataque Man-in-the-Middle , entonces El atacante es singularmente incompetente. Eso también es bastante improbable.
Para resumir, el problema probablemente esté en algún lugar entre su enrutador y su ISP. Los síntomas que observa son coherentes con la hipótesis de que la conexión TCP desde su navegador, anteriormente dirigida a www.google.com
, termina en el iCloud de Apple servidores Un primer escenario potencial es el siguiente:
Su enrutador es una retransmisión de DNS. A través de DHCP, realmente configura sus máquinas domésticas para utilizar el enrutador como servidor DNS, y ese enrutador se alimentará del servidor DNS externo que configuró (el servidor DNS de Google). En ese caso, si el enrutador mezcla sus tablas internas (debido a un error de software o mala memoria RAM), es posible que proporcione direcciones IP incorrectas a sus máquinas.
En ese escenario, el problema no se limita a SSL. De hecho, cuando el navegador desea conectarse a cualquier servidor, solicita el nombre del servidor, pero no el puerto o el protocolo. Por lo tanto, si esa hipótesis es correcta, las conexiones HTTP simples y sin SSL también deberían fallar ocasionalmente. Por ejemplo, si su conexión a www.facebook.com
se redirige a la dirección IP de www.google.com
, obtendrá una respuesta de Google (en realidad una redirección a la página principal de Google), y nada parecido a Facebook.
Si solo sus conexiones SSL tienen problemas, entonces esto no es un problema de DNS. Esto apuntaría a un segundo escenario potencial:
Su ISP tiene algún problema con su enrutamiento dinámico. Intenta enrutar el tráfico de manera óptima, moviendo paquetes entre varios destinos. Esta decisión de enrutamiento puede ser específica de un puerto, lo que explica por qué el problema solo ocurre con SSL. Por alguna razón (posiblemente otra vez RAM incorrecta, en uno de los enrutadores ISP), los paquetes pueden ser mal dirigidos.
He conocido un viejo enrutador Cisco (con mala memoria RAM) que se comportó un poco así. Cuando un enrutador procesa un paquete IP, debe copiar y modificar parcialmente el encabezado (al menos para modificar el TTL), de modo que los errores en el enrutador puedan provocar la modificación de la dirección de destino.
Este escenario tiene una variante en la que su enrutador tiene mala memoria RAM (de nuevo ...) y se dispara por sí mismo cuando hace NAT .
Para diagnosticar más el problema:
-
Cuando ocurra el problema, desde la misma máquina, haga un nslookup www.google.com
(si desea contactar a Google pero se redirige a otra parte), a continuación, openssl s_client -connect www.google.com:443
(usando OpenSSL herramienta de línea de comandos: si usa Linux o MacOS X, entonces ya lo tiene). Esto le indicará qué dirección IP devuelve el DNS y qué certificado devuelve el servidor que supuestamente responde en esa dirección.
-
Si el problema es intermitente (es decir, la conexión del navegador falla, pero intentarlo de nuevo funciona de inmediato), intente ejecutar una herramienta de captura de red como Wireshark o Monitor de red para observar exactamente qué sucedió cuando el problema ocurrió. Verá las direcciones IP tal como se ven desde su máquina.
-
Cambia el enrutador de tu casa. Por ejemplo, pida prestado un enrutador viejo a un amigo o compre uno nuevo (estos cuestan 40 $). Si el problema está en su ISP, entonces el personal de soporte de ISP probablemente afirmará primero que su enrutador tiene la culpa, por lo que este paso no se puede evitar de todos modos. Si al cambiar el enrutador se elimina el problema, sabrá que una vez más la memoria RAM defectuosa.