
Estamos descontinuando o suporte para TLS 1.0 e 1.1 em nossos sites, pois eles não são mais considerados seguros.
Como podemos ver a % dos nossos visitantes que seriam afetados por esta mudança? (ou seja, aqueles visitantes que não suportam TLS 1.2.)
Usamos o Windows Server 2012 R2 com IIS8.
Responder1
Configure um segundo servidor (como uma máquina virtual ou um segundo daemon no mesmo host). Use uma regra de reescrita paraproxy reversosolicita algo opcional ao segundo servidor, como uma imagem invisível escondida na página. Configure o segundo servidor para permitir apenas TLS 1.2; não faça hotlink para outro nome de host ... certifique-se de fazer proxy, ou não será seguro, então talvez o navegador receba um aviso ou talvez nunca carregue a imagem.
Em seguida, acompanhe as solicitações da imagem. Clientes sem suporte deverão ter erros de SSL/TLS. Os clientes com suporte gerariam alguns logs '200 OK'. Se o log não disser nada de útil, tente fazer proxy para algum javascript, que pode fazer uma solicitação AJAX para registrar o tráfego quando for bem-sucedido (mas um bloqueador de script pode impedir isso).
Para testar o suporte SSL/TLS do seu segundo servidor antes de confiar nos logs para fazer sentido, use um bom teste como o nmap, que pode listar muitos detalhes.
nmap --script ssl-enum-ciphers example.com
Responder2
Não conheço nenhuma maneira de verificar os logs do servidor para ver qual protocolo SSL/TLS foi usado para a conexão do servidor Windows (é bastante fácil com Nginx e Apache).
Portanto, a melhor maneira de fazer isso é usar qualquer software de análise (por exemplo, Google Analytics) que rastreie as versões do sistema operacional e do navegador. Isso não será 100% preciso (algumas pessoas desativam o JavaScript e/ou o rastreamento em seus navegadores).
Observe que usar o Google Analytics ou algo semelhante émuitomelhor do que tentar descobrir o campo USER_AGENT enigmático, embora, em teoria, essa seja outra maneira de fazer isso e provavelmente será registrada nos logs do servidor. Veja aqui mais detalhes sobre como fazer dessa forma, se desejar:https://stackoverflow.com/questions/17798944/get-browser-name-and-version-from-iis-log-file-in-log-parser.
Depois de ter o navegador e a versão do sistema operacional dos visitantes, você pode consultar esta tabela para ver se eles suportam TLS 1.2: https://en.m.wikipedia.org/wiki/Transport_Layer_Security#Web_browsers, e isso deve permitir que você calcule uma porcentagem aproximada.
Você também pode usar a ferramenta de verificação ssllabs (https://www.ssllabs.com/ssltest/) que fará a varredura em seu site para testar sua configuração de SSL/TLS - incluindo informar qual versão do TLS e qual cifra uma lista de navegadores de referência usará. É altamente recomendável fazer esta verificação de qualquer maneira para ver o estado da sua configuração SSL/TLS.
Você estará mais preocupado com versões mais antigas do IE e versões mais antigas do Android.
Você também pode fazer alguma detecção do navegador em seu site para adicionar um aviso a esses usuários por cerca de um mês antes de desativar o TLS 1.0 e 1.1. É muito fácil ter uma instrução "[if lt IE 11]" para incluir uma folha de estilo CSS que mostra um aviso para versões mais antigas do IE. No entanto, o IE10 não suporta mais esta sintaxe no modo padrão e é um navegador afetado. Fazer isso também para navegadores Android mais antigos não é tão fácil.
Responder3
Uma possibilidade seria usar um proxy reverso (Squid, Apache, etc.) que possa registrar a versão do handshake SSL/TLS. Alternativamente, se você tiver um número muito limitado (falando em um dígito) de hosts de serviços da web, poderá usar o Wireshark diretamente no servidor para analisar os handshakes.