sexta-feira, 21 de dezembro de 2012

Proxy com WPAD Pelo DHCP


Pessoal hoje iremos ver um protocolo que nos permite configurar o Proxy no cliente automaticamente através de serviços como dhcp ou dns por exemplo, iremos abordar nesse post a configuração juntamente com o dhcp, esse protocolo chama-se WPAD (Windows Auto Discovery), esse recurso elimina a necessidade de se configurar o Proxy como transparente, que por sua vez peca em alguns pontos como HTTPS e autenticação por exemplo.

Ao utilizar o serviço de dhcp, o browser irá buscar no registro da conexão um campo com código 252, esse campo por sua vez contém uma URL para um arquivo de texto chamado PAC, que diz qual endereço do servidor Proxy, esse arquivo deverá estar em um servidor HTTP.

Certifique-se que você possui um servidor Proxy, um servidor DCP e um Servidor HTTP corretamente configurado e testado. Para aqueles que não possuem intimidade com esses serviços seguem alguns links aqui do Guia do TI que irão ajuda-los.

Squid:

DHCP:

Apache:

OBS: No link do apache pode seguir até a parte de instalação somente.

Bem primeiro iremos criar o arquivo de configuração PAC, vá até o diretório raiz de seu apache:

# cd /var/www/

# pico wpad.dat

Coloque o seguinte conteúdo dentro do arquivo:

function FindProxyForURL(url, host) {
if(isPlainHostName(host))
  return "DIRECT";
else
  return "PROXY 192.168.0.1:3128";
}

OBS: Mude o ip e a porta que estão no arquivo de acordo com seu cenário.

Em seu arquivo de configuração do DHCP adicione as linhas abaixo:

option wpad code 252 = text;
option wpad "http://ip.do.apache/wpad.dat\n";

Depois disso reinicie seu DHCP.

Bem agora verifique  se os clientes estão configurados pra obter ip por DHCP, agora basta reiniciar o Windows ou reiniciar a placa de rede, verifique também se o browser esta configurado para detectar automaticamente as configurações de Proxy.

Feito todos os passos é hora dos testes, abra o navegador do cliente e acesse uma URL bloqueada para ver se vai aparecer o erro do Squid. Esse método ao meu ver só tem um pequeno problema, se o usuário espertinho for até as configurações do browser e desmarcar a opção Detectar automaticamente as configurações ele vai navegar por fora do Proxy, então você pode bloquear isso via registro do Windows, adicione a seguinte chave no cliente:

REG ADD “HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer” /v NoControlPanel /t REG_DWORD /d 0×00000001 /f

Assim ele não  consegue acessar o painel de controle e também não consegue acessar as configurações de Proxy pelo navegador, se você usa o Samba ou Active Directory você pode fazer isso automaticamente na hora do login.

Bem pessoal é isso ai, espero que tenham gostado do post e que apliquem essa funcionalidade no ambiente de vocês, pois é muto legal mesmo, até a próxima.

3 comentários:

  1. Para mim aplicar as configurações desse tutorial é preciso ter o serviço: DHCP E Apache instalado na minha distro?

    o squid já está instalado e configurado.

    ResponderExcluir
    Respostas
    1. Edvan, tu vai precisar dos 3 serviços rodando já, para isso funcionar.

      Excluir
  2. Bloqueia a passagem da porta 80 e 443 que se sair o proxy a internet não vai funcionar...

    ResponderExcluir