Me siento avergonzado de hacer esta pregunta después de haber trabajado en el campo durante 20 años, pero ¿puede alguien explicarme por qué debo ejecutar SSL en cualquier sitio web que use autenticación? Comprendo los problemas más importantes de "por qué" (las personas usan la misma contraseña en el blog y en el banco) y supongo que las contraseñas se almacenan encriptadas en la base de datos del sitio, pero quiero, simplemente, explicar el riesgo técnico de transmitir sin SSL Contraseñas de una manera que se basa en la aplicación práctica.
Ejemplo: tengo un blog de wordpress que estoy hospedando en bluehost. Accedo a la página de inicio de sesión, ingresé mi nombre de usuario y contraseña y presioné enviar. Esa información se envía al servidor web en un POST HTTP sin cifrar.
Ahora, si alguien está en mi red o en cualquier red donde se transmiten los paquetes, ejecutando un sniffer, pueden leer los paquetes y escribir el código para analizar palabras interesantes como "inicio de sesión" o "contraseña". ¿Es así como funciona?
¿Cómo funcionaría esto en mi ejemplo? Supongamos que no hay nadie en mi red doméstica; de lo contrario, he tomado las medidas de seguridad adecuadas para los dispositivos que están bajo mi control. ¿Cómo se interpone el hacker entre mi sitio web y yo? ¿Podría simplemente iniciar sesión en su propia cuenta de bluehost y poder monitorear todo el tráfico en la subred? O podrían estar EN CUALQUIER LUGAR en el medio; p.ej. Estoy en FIOS de Verizon, por lo que tal vez ingresen (instalen un proceso automatizado) a un servidor en algún lugar dentro de la red de Verizon. ¿O podrían estar literalmente en cualquier lugar?
Mi comprensión de las redes es que mi dispositivo transmite paquetes con una IP de destino que es el servidor de bluehost. Esos paquetes se "notan" y mi enrutador los reenvía a enrutadores y conmutadores ascendentes que forman parte de la red de Verizon. A medida que cruzan cada subred, existe la posibilidad de que cualquier dispositivo que se encuentre en esa red observe el paquete, ya que se transmite localmente. Las buenas prácticas tendrían esas redes configuradas con una seguridad que no permitiera que las personas pudieran ponerse en el medio ... pero una vez que la información llega a bluehost, estamos a su merced en términos de paquetes de transmisión. Una vez que el servidor http "escucha" la información PUBLICADA, se cifra y se compara con la contraseña cifrada localmente.
¿Es esta una forma precisa de pensarlo y explicárselo a los demás?