Registrando o tráfego HTTPS através de um proxy

4

Como faço para configurar o servidor proxy do squid (ou qualquer outro) para manter log de URLs visitados e arquivos baixados por HTTPS? É possível?

    
por Abhijeet Pathak 19.07.2011 / 07:49

1 resposta

9

Você pode fazer isso apenas em circunstâncias muito específicas e especializadas.

O problema é que as URLs visitadas e exatamente o que aconteceu nelas, em uma conexão HTTPS, são protegidas por SSL. Para olhar para dentro, você precisa romper essa proteção.

A única maneira de fazer isso (para não ficar famoso por quebrar um algoritmo de criptografia ou dois) é executar um ataque man-in-the-middle em seus usuários. Você precisa configurar o servidor proxy com um certificado SSL para todos os domínios do mundo - um certificado curinga global (um que tenha AltNames de * , *.* , *.*.* e assim por diante) ou algo que pode gerar certificados SSL dinamicamente (com sua própria CA local). Você não obterá um certificado como esse de uma autoridade de certificação estabelecida e "globalmente confiável" (bem, talvez Comodo ...), então você terá que fazer tudo auto-assinado e, em seguida, configurar todos os dispositivos que usarão esse proxy para confiar na autoridade de certificação local. . Esta questão de confiança é porque você só pode fazer isso em "circunstâncias muito específicas e especializadas".

Uma vez que você tenha essa configuração, você pode descriptografar todo o tráfego HTTPS conforme ele é enviado, registrá-lo e criptografá-lo novamente usando o próprio certificado SSL do site final.

Antes de saltar, clique nos seus calcanhares e grite "yippee!", há algumas coisas a notar. Os perigos e ressalvas nesse processo são consideráveis.

Você precisa de um servidor proxy (ou farm) com grunhido suficiente para encerrar o SSL em todas as conexões que qualquer pessoa que use o proxy fizer. Para um escritório pequeno, isso não é muito difícil, mas se você está trabalhando em alguma empresa considerável, você tem um problema significativo de escalonamento à sua frente.

Os riscos de segurança também não são triviais. Esta fazenda de proxy é agora um alvo de alto valor para qualquer um que queira colocar suas mãos em algumas credenciais suculentas. Tome nota do ditado "não ponha todos os ovos na mesma cesta" - ou, mais proveitosamente, neste caso, "ponha todos os ovos na mesma cesta, apenas certifique-se de que é realmente uma cesta strong" ". Não pense que as pessoas não vão descobrir isso; Não é difícil identificar esses tipos de coisas se você sabe o que está procurando, e como não será possível implantá-las em uma organização sem que as pessoas descubram (de uma forma ou de outra), qualquer pessoa interna que possa ser é provável que os pensamentos sejam muito, muito tentados. Pode não valer a pena invadir uma dúzia de desktops para obter credenciais, mas é muito mais valioso - e menos trabalho e risco - estourar um proxy HTTPS central e observar tudo.

No que diz respeito exatamente como fazer isso no Squid ou qualquer outra solução de proxy disponível, ao invés de digitar tudo manualmente, eu vou encaminhá-lo para a documentação do Squid para SSL bump e Geração de certificado SSL dinâmico que, juntos , lhe dará acesso ao tráfego criptografado sem gerar avisos indevidos de segurança do navegador. Depois de conseguir isso, registrar as conexões é trivial.

    
por 19.07.2011 / 08:46