SSL / TLS tornaria os pedidos HTTP invisíveis?

1

Pensando bem, se você usar SSL / TLS na camada do aplicativo, isso faria com que alguém tentando farejar entre meu cliente e o roteador, incapaz de ver quais sites estou solicitando ver?

Mesmo com uma VPN eu presumo?

Eu gostaria de evitar que qualquer pessoa farejando entre o cliente e o roteador veja quais sites estou fazendo solicitações http.

    
por Trevor 10.01.2012 / 01:01

3 respostas

4

Uma sessão SSL / TLS normal em um navegador (ou seja, usando https) geralmente faz uma conexão do cliente para o servidor da Web em questão.

Assim, embora o tráfego não possa ser detectado, pois é criptografado, é possível ver pelo menos o endereço IP de destino e, a partir daí, você pode inferir o site em questão.

Se, por outro lado, você estiver se referindo ao uso de SSL como um transporte VPN para um servidor VPN e a conexão de saída for feita para o servidor da Web, a detecção do tráfego local mostrará somente tráfego criptografado entre você e a VPN servidor, e assim pedidos individuais de http estariam ocultos.

O outro aspecto a considerar é para onde as solicitações de DNS estão indo. Se você usar um caminho não criptografado para os servidores DNS para resolver www.verysecretsite.com antes de enviar a solicitação http para esse site pela VPN, o sniffing DNS mostrará onde você está visitando.

    
por 10.01.2012 / 01:11
2

Eles poderiam ver para qual endereço IP as solicitações estão sendo feitas. Eles não conseguiriam ler o cabeçalho Host na solicitação. Portanto, eles não podem fixá-lo no site exato que você está visualizando, apenas em qual servidor ele está (mais ou menos).

    
por 10.01.2012 / 01:08
0

Eles poderão ver qual endereço IP você está solicitando (isso não necessariamente resolverá o nome do host que você solicitou), bem como o certificado do servidor enviado pelo servidor durante o processo de handshake. O certificado do servidor fica visível em claro durante o handshake (é uma etapa necessária para estabelecer o canal criptografado, que ocorre logo antes da criptografia ser efetiva).

O certificado do servidor conterá o nome do host, por isso ficará visível. Em alguns casos, o certificado pode conter várias entradas SAN (Subject Alternative Name) (ou curingas) (por exemplo, *.example.com ), o que significa que ele será válido para vários nomes de host: isso pode ser um pouco ambíguo para o bisbilhoteiro, mas isso dá uma pista bastante strong.

(Como o @Paul disse, o DNS também poderia dar uma pista. Se você souber com antecedência quais sites deseja visitar, poderá impedir a solicitação marcando as entradas de DNS no arquivo hosts .)

Os clientes modernos que suportam a Indicação do nome do servidor também revelarão o nome do host após a extensão server_name na mensagem TLS ClientHello .

    
por 11.01.2012 / 13:42