¿Cómo deberían redirigir los portales cautivos?

6

Recientemente leí esta pregunta , lo que me hace preguntarme una pregunta de seguimiento: ¿Cómo es probable que este portal cautivo intente redirigir al usuario? Un comentario muy votado dice que está haciendo mal, después de todo.

Entonces, si uno tuviera un portal cautivo legítimo y bien intencionado, ¿cómo debería estar redirigiendo a los usuarios al portal teniendo en cuenta la seguridad y la comodidad del usuario? Obviamente, es malo tanto para la seguridad como para la comodidad si los usuarios obtienen una discrepancia en el certificado, como en la pregunta vinculada.

    
pregunta Kat 02.05.2018 - 00:25
fuente

2 respuestas

6

Técnicamente, un portal cautivo siempre es un ataque de hombre en el medio. Por lo tanto, todas las técnicas contra MitM deben y deben advertir sobre ellas, dando al usuario el poder de decidir si confiar o no. Algunos navegadores tienen detección del portal cautivo , en general, lo que permite temporalmente la redirección sin mostrar Cualquier página con el dominio original.

  

Las necesidades de seguridad contemporáneas hacen transparente la implementación de cautivos   portales desafiantes. Afortunadamente, el navegador web y los desarrolladores de sistemas operativos se dan cuenta   La importancia de reportar la existencia de este estado intermedio.   entre estar conectado a Internet o no, reduciendo así   casos de fallo al mínimo.

Desde esta perspectiva, redirigir a una página de inicio de sesión del portal cautivo por separado con un certificado coincidente y debidamente firmado sería menos malo que mostrar la página de inicio de sesión directamente con cualquier dominio.

¿Tenemos otras opciones?

  • Podríamos realizar la redirección solo en HTTP simple para evitar el error de falta de coincidencia del certificado. Todavía sería un MitM, pero en un protocolo que no fue diseñado para detectarlo. Esto hubiera funcionado perfectamente bien antes de HTTP Strict Transport Security (HSTS) en contra de nuestro protocolo downgrade attack , que sería este tipo de portal cautivo.

  • No hay redirección en absoluto. Simplemente bloquee todo el tráfico antes de que el usuario haya abierto manualmente la URL de la página de inicio de sesión y haya iniciado sesión. Seguridad maximizada, a expensas de la conveniencia. Ahora, debe informar a sus usuarios acerca de este arreglo, que generalmente implica la necesidad de soporte adicional. Incluso si les dice a sus usuarios con imágenes que necesitan escribir esta dirección en barra de direcciones , algunos de ellos aún intentan buscar la dirección de Google.

  • Abandonar WiFi abierto y usar otros métodos de autenticación. No hay necesidad de portal cautivo ni página de inicio de sesión. Necesidad severa de apoyo. La tecnología WPA2 sería técnicamente ideal, ya que no necesita una sola clave compartida previamente, pero es menos conocida por el grupo objetivo (personas que usan WiFi de acceso abierto).

Al mismo tiempo, estas son las razones por las que aún existen portales cautivos. Mi idea de un reemplazo adecuado para los portales cautivos sería una URL HTTP normalizada normalizada a la que los navegadores intentarán acceder cuando se detecte algo que bloquea la conexión. Esa página luego realizaría la redirección a la página de inicio de sesión con HTTPS y un certificado adecuado, y el navegador debería detectar cualquier otra cosa como un ataque. Pero este es solo mi sueño, lejos de la realidad. Los portales cautivos existirán mientras funcionen en la práctica.

    
respondido por el Esa Jokinen 02.05.2018 - 02:16
fuente
2

Lamentablemente, no hay una solución perfecta aquí, dado que el propósito de TLS es proteger contra este tipo de ataque. Pero creo que la mejor manera de hacerlo es esta:

  • Para conexiones HTTPS, simplemente bloqueelas. No intentes redirigir. Esto le dará al usuario un mensaje de error que indica que no hay acceso a Internet en lugar de una advertencia de seguridad. Eso es mejor.
  • Para las conexiones HTTP, debe responder con Se requiere autenticación de red 511 :

      

    El código de estado 511 indica que el cliente necesita autenticarse   para obtener acceso a la red.

         

    [...]

         

    El estado 511 NO DEBE ser generado por los servidores de origen; está diseñado para ser utilizado mediante la interceptación de proxies interpuestos como un medio para controlar el acceso a la red.

respondido por el Anders 02.05.2018 - 13:13
fuente

Lea otras preguntas en las etiquetas