Considerações sobre o uso do WPAD

Saudações,

Uma situação que venho encontrando em diversos clientes é sua busca por uma forma de distribuir a configuração de acesso a internet via proxy de forma rápida e com o menor trabalho possível.

Muitas vezes esse trabalho é feito de forma errada, ou seja, não se pensa em como isso pode afetar o acesso internet dos usuários e também causar um grande impacto no quesito Segurança.

Uma configuração de acesso a proxy que, por muito tempo foi usada e até hoje se encontra é aquela em que os browsers saem única e exclusivamente com a opção “Automatically Detect Settings” habilitada.

Para que o acesso a internet ocorra a partir desta configuração, é necessário a configuração do WPAD (Web Proxy Automatic Discovery).

Como essa configuração é feita? Simples, basta você criar um Alias no DNS com o nome WPAD, apontando para o servidor de proxy da corporação, ativar no seu proxy server o auto discovery e pronto.

Image1_Alias

Após a criação do Alias (conforme imagem acima), o próximo passo é configurar a opção de acesso automático através do browser:

Image4_IESettings

Para saber o endereço do proxy que o Alias WPAD está apontado, entre outras ações, você pode usar o comando nslookup:

Image2_nslookup

Mas, qual o problema nisso? Vejam bem, em Junho de 2009 a Microsoft lançou o boletim de segurança 971888 que você pode ler clicando em:

https://technet.microsoft.com/library/security/971888

Neste boletim, a Microsoft reporta que as consultas DNS para fora da organização poderiam ser interceptadas num ataque do tipo “man-in-the-middle” e assim podendo alterar o registro do WPAD para um proxy fake.

Para mitigar este problema, a partir do Windows Server 2008, os registros WPAD e ISATAP ficam bloqueados num recurso do DNS chamado Global Query Block List. Com esta lista habilitada, as consultas ao WPAD (no nosso caso) são ignoradas.

Para gerenciar essa lista, e saber se ela está ativa (ou não) em um DNS, você pode usar os parâmetros do comando dnscmd, conforme abaixo:

Image3_dnscmd

Na imagem acima, vemos que a Global Query Block List está ativa no primeiro comando e vemos também que apenas o registro ISATAP consta como bloqueado.

Em resumo, as imagens acima são de um ambiente de cliente em que o uso do WPAD é liberado. Temos alguns Domain Controllers com Windows Server 2008 R2 (alguns enterprise). Uma das idéias aqui é que você faça seu cliente ou seu gerente entender que desta forma vc expoe seu ambiente.

O comando dnscmd oferece uma série de parâmetros pelos quais você pode analisar seu DNS Server, entender como está o seu Global Query Block List e torna-lo mais seguro.

Veja abaixo a lista de parâmetros que podem ser usado:

1. Para verificar se o bloqueio de consulta global está habilitado:
dnscmd /info /enableglobalqueryblocklist

2. Para exibir os nomes de hosts na lista de bloqueios atual:
dnscmd /info /globalqueryblocklist

3. Para desabilitar a lista de bloqueios e certificar-se de que o serviço de Servidor DNS não ignore consultas de nomes na lista de bloqueios:
dnscmd /config /enableglobalqueryblocklist 0

4. Para habilitar a lista de bloqueios e certificar-se de que o serviço de Servidor DNS ignore consultas de nomes na lista de bloqueios:
dnscmd /config /enableglobalqueryblocklist 1

5. Para remover todos os nomes da lista de bloqueios:
dnscmd /config /globalqueryblocklist

6. Para substituir a lista de bloqueios atual por uma lista de nomes especificados por você:
dnscmd /config /globalqueryblocklist name [name]…

Essa lista de commandos foi extraída do artigo “Removing WPAD from DNS Block List” em:

http://technet.microsoft.com/en-us/library/cc995158.aspx

Vale ressaltar que, os comandos acima que fazem alterações no Global Query Block List deverão ser executados em todos os servidores DNS da corporação para que a alteração surta efeito por completo, caso contrário você terá problemas.

Muitas empresas que usavam ISA Server ou qualquer outro proxy, provenientes de redes Windows Server 2003 mantiveram esse método, mesmo após a migração para o Windows Server 2008.

Mas, como conseguiram, se o WPAD é bloqueado a partir do Windows Server 2008? A resposta se dá no período da migração do ambiente.

Para um DNS server migrado de um servidor 2003 para um 2008, não é necessário que se faça nenhuma ação para permitir o uso do WPAD. O mesmo só deve ser desbloqueado caso o DNS seja instalado do zero a partir de um Windows Server 2008.

Agora vamos imaginar um cenário muito comum nas corporações…mesmo após alertar sobre os riscos, o gestor não quer alterar o método de configuração do acesso internet. Poderíamos dizer que ele vai ter que assumir a responsabilidade? Em tese sim, mas, é possível mitigar esse problema protegendo os servidores DNS através de IPSEC.
Você pode ver o passo a passo dessa configuração clicando no link abaixo:

http://technet.microsoft.com/en-us/library/ee649124(v=WS.10).aspx

O artigo acima mostra como implementar o IPSEC em seus servidores DNS.

Espero que o conteúdo possa ajudar.

Um abraço

Uilson Souza

  • Nathan

    Excelente dica!

  • Edinaldo

    Dica muito boa, eu utilizo a wpad na empresa que represento, porém não utilizo ao DNS para e sim o DHCP para distribuir a endereço do proxy. Quais os riscos em utilizar o DHCP?

  • Armenio

    Uilson,
    Muito bom o post. Uma dúvida.
    Quando temos um ambiente em que:
    O mesmo domínio, com vários sites, cada site uma sub-rede diferente. E em cada sub-rede temos um servidor proxy.
    Nesse caso se criarmos um wpad como no seu post. Ele servirá para todas as sub-redes do domínio, confere?