¿SNI representa una preocupación de privacidad para los visitantes de mi sitio web?

10

En primer lugar, lo siento por mi mal inglés. Todavía lo estoy aprendiendo. Aquí va:

Cuando alojo un único sitio web por dirección IP, puedo usar SSL "puro" (sin SNI), y el intercambio de claves se produce antes de que el usuario incluso me diga el nombre de host y la ruta que desea recuperar. Después del intercambio de claves, todos los datos se pueden intercambiar de forma segura. Dicho esto, si alguien está olfateando la red, no se filtra información confidencial * (ver nota al pie).

Por otro lado, si alojo varios sitios web por dirección IP, probablemente usaré SNI y, por lo tanto, mi visitante del sitio web debe decirme el nombre de host de destino antes de poder proporcionarle el certificado correcto. En este caso, alguien que detecte su red puede rastrear todos los dominios del sitio web al que está accediendo.

¿Hay algún error en mis suposiciones? Si no, ¿no representa esto un problema de privacidad, suponiendo que el usuario también esté usando DNS encriptado?

Nota al pie: También me doy cuenta de que un sniffer podría hacer una búsqueda inversa en la dirección IP y averiguar qué sitios web fueron visitados, pero el nombre de host que viaja en texto plano a través de los cables de red parece facilitar el bloqueo de dominios basado en palabras clave para las autoridades de censura.

pagliuca
fuente
¿Qué quiere decir con "bloqueo de dominio basado en palabras clave"? ¿Cómo asociaría un dominio con una palabra clave?
David Schwartz
Ejemplos: sitios web de una región específica (* .com.br); de una organización (* .google.com); *pornografía*; etc.
pagliuca

Respuestas:

9

Tu análisis es incorrecto. Estás más seguro con SNI que sin él.

Sin SNI, la dirección IP identifica de forma exclusiva al host. Por lo tanto, cualquiera que pueda determinar la dirección IP puede determinar el host.

Con SNI, la dirección IP no identifica de forma exclusiva al host. Alguien tendría que interceptar y ver parte del tráfico para determinar el host exacto. Esto es más difícil que simplemente obtener la dirección IP.

Por lo tanto, está (ligeramente) más seguro con SNI que sin él.

Cualquiera que vaya a bloquear en función de un análisis intrusivo de paquetes de datos también lo hará en función de la dirección IP. Bloquearán los "malos" en función de la dirección IP con o sin SNI.

Sin embargo, la respuesta a su pregunta es "sí". SNI representa una preocupación de privacidad. Con SNI, alguien que puede interceptar el tráfico obtiene el nombre del host además de la dirección IP.

David Schwartz
fuente
Gracias por la respuesta. Entonces, SNI sería más seguro solo en los casos en que el atacante comienza a oler solo después de que las claves ya se intercambiaron, ¿estoy en lo correcto?
pagliuca
2
@pagliuca SSL realmente no está diseñado para ocultar con quién estás hablando, está diseñado para ocultar lo que les estás diciendo. No vas a vencer a un filtro web evitando enviar SNI; mantienen amplias bases de datos de IP a dominio. Punto discutible de todos modos, ya que un navegador cliente que admite SNI siempre enviará SNI independientemente de si su servidor lo necesita.
Shane Madden
@ShaneMadden Interesante. Sabiendo eso, ahora no tengo ninguna razón para no usar SNI :), ya que es probable que la mayoría de los usuarios ya tengan navegadores que expongan el nombre de host remoto en cada solicitud HTTPS.
pagliuca
1
Esta respuesta es incorrecta. Es mucho más fácil rastrear pasivamente el SNI (y saber con certeza qué sitio web solicitó el visitante), que salir activamente a una dirección IP para adivinar qué estaba navegando un usuario (que con comodines podría tener muchos sitios web, y las IP también cambian con el tiempo, mientras que los datos recopilados de SNI siguen siendo perpetuamente precisos y destruyen la privacidad).
cnd
@cnd No tiene que "ir activamente a una dirección IP" en absoluto. Si puede oler pasivamente SNI, puede oler pasivamente la dirección IP. O está en su lista de sitios que está viendo o no. Y sin SNI, una dirección IP identifica de forma exclusiva un sitio. Con SNI, no lo hace.
David Schwartz
0

Tienes razón. SNI es una importante preocupación de privacidad para sus visitantes: expone los sitios web exactos con los que sus visitantes se conectan a su ISP y otras partes de escucha pasiva. Pero entonces, también lo hace DNS ... bueno ... solía: google está arreglando esto: -

https://thehackernews.com/2017/10/android-dns-over-tls.html

Conocer una dirección IP NO le dice al ISP qué sitio web está en esa dirección IP, a menos que salgan activamente y se vean a sí mismos, lo cual es una cosa muy diferente a la detección pasiva de paquetes de clientes.

cnd
fuente