Proxy transparente ou configuração automatica de proxy?



  • bom dia a todos,

    Escrevo este pequeno tutorial em forma de post para ajudar os administradores de rede a entender melhor como funciona o filtro de navegação e como escolher uma tecnica mais segura para sua rede.

    O uso de proxy transparente não é sinonimo de filtro de navegação. Esta técnica garante somente filtro do protocolo HTTP quando ele é usado na porta 80.
    Qualquer outra porta usada para navegar (8080,443,81) não passa pelo filtro.

    A solução mais simples para filtrar o acesso web é utilizar a técnica de configuração automática de script,seja ela via AD ou via dns+dhcp.

    Você não precisa de active directory para utilizar a configuração automatica de proxy.

    Estes documentos demonstram em detalhes como configurar sua rede para aceitar a detecção automática de proxy

    http://www.davidpashley.com/articles/automatic-proxy.html

    http://www.grape-info.com/doc/win2000srv/internet-gw/wpad/index.html

    http://blogdonerd.com.br/2011/10/descoberta-automatica-de-proxy-wpad-web-proxy-auto-discovery/ (em portugues)

    http://blog.ninjatek.co.za/2010/11/proxy-autodetection-using-pac-file-and.html

    http://doc.pfsense.org/index.php/WPAD_Autoconfigure_for_Squid

    Depois de configurar o PAC e/ou WPAD, libere no seu firewall apenas as portas necessárias para a utilização do serviço de proxy

    • Acesso http para download do arquivo de configuração de proxy

    • Acesso dns restrito a servidores cadastrados

    • Acesso a porta do proxy no ip do proxy.

    • Acesso a requisições DCHP.

    FAQ

    Usando a configuração automatica de proxy, meu notebook vai conseguir acessar a internet quando estiver fora da empresa?

    Claro, quando o browser esta configurado para detectar automaticamente o servidor de proxy, ele só usa o proxy se de fato encontra um.

    Então posso configurar apenas o DNS para buscar o script de configuração wpad, assim todos os navegadores irão redirecionar tal requisição para o ip do pfsense e a porta ?

    Usando a opção de dns:

    • O navegador buscar informações de proxy(wpad.seu.dominio.com.br)

    • Recebendo a informação de dns, o navegador vai buscar o script de configuração de proxy(GET http://wpad.seu.dominio.com.br)

    • A cada url solicitada, o navegador executa o script passando os parametros e recebe a informação de qual proxy usar

    • O browser comunica com o proxy e mostra a página

    A configuração no dhcp se torna dispensável ?

    Usar o DHCP é uma outra opção para chegar no mesmo resultado, se o browser souber ler esta informação do dhcp, ele segue a lista acima a partir do item 2, é claro sem consulta a dns

    Como posso configurar meu vmware para fazer testes com o pfsense,sendo que preciso configurar 2 placas de rede (apenas tendo 1 no notebook).Qual séria o procedimento para tal configuração na vm

    A partir da versão 2.0, o número mínimo de interfaces de rede é de apenas 01.
    Configure somente a wan e faça seus testes

    Preciso de regras de firewall adicionais para funcionar esta configuração?

    Se os serviços estiverem hospedados no proprio firewall ou em um servidor atras do firewall, então verifique estas permissões:

    • Liberar acesso a porta configurada no proxy(3128 por exemplo).

    • Liberar acesso http para o servidor onde o script vai ficar hospedado.

    • Liberar acesso dns para as requisições de wpad.seu.dominio.com.br.

    • Liberar acesso dhcp para a solicitação de ip.

    Quais são as opções de autenticação de proxy que posso usar com esta configuração?

    As mesmas que você teria marcando manualmente o proxy no browser, esta solução apenas ajuda o sysadmin a configurar automaticamente o proxy na rede.

    Com este setup ainda é preciso digitar usuário e senha no browser?

    Resumindo a história.

    Usando o ntlm ou kerberos, você tem autenticação transparente desde que o browser esteja configurado para usar proxy(automatico ou manual).

    Basicamente qualquer outra configuração vai exigir que o usuário digite o usuário e a senha.

    Compilar o samba para o pfSense é possível, mas gera algum desconforto nos sysadmins.

    Usar o pfsense com dansguardian e um linux/freebsd/jail na rede com squid+samba gera o mesmo resultado sem abrir mão da segurança ou dos relatórios do firewall.

    att,
    Marcello Coutinho





  • mantunespb,

    Obrigado pelo link em português.

    Agora não tem desculpas para não usar :)



  • Me deparei com alguns problemas com essas soluções..

    1° A 1 solução de se criar um script e configurá-lo em um servidor web é meio estranho não intendi muito bem a explicação daquele tutorial, sendo que a adição de + 1 servidor em uma rede interna apenas para isso se torno inviável ou mesmo adiciona-lo em algum servidor já existente seria inseguro.
    2º A 2 solução se torna + fácil,pois seria configurado diretamente no domínio,porém como posso aplicar a solução ao DHCP sendo aplicado pelo Pfsense e não pelo DHCP do windows 2008 ou 2003 ou mesmo se uma pessoa levar o computador e tentar configura-lo em outra rede .. ele ainda estaria buscando tal proxy da antiga conexão ?

    Marcello qual solução o senhor usa ou normalmente recomenda para se usar sabendo-se que vários usuários utilizam diferentes navegadores.
    Grato!



  • Amigo,

    Me permita responder.

    Primeiro.. não é ideal vc ter um firewall como servidor de DHCP ou outra função. se existe um servidor windows, vc pode utilizar ele como DHCP e DNS interno tenha em mente que firewall é para ser firewall.

    Qualquer maquina XP, 2003, 7, 2008 pode ser um servidor web (IIS) ou então vc pode usar uma simples maquina Virtual com apache.



  • Vina18,

    @vina18:

    1° A 1 solução de se criar um script e configurá-lo em um servidor web é meio estranho não intendi muito bem a explicação daquele tutorial, sendo que a adição de + 1 servidor em uma rede interna apenas para isso se torno inviável ou mesmo adiciona-lo em algum servidor já existente seria inseguro.

    Você pode hospedar o script de configuração automática em qualquer servidor web, até no /usr/local/www/ do seu proprio pfsense.

    Este procedimento é seguro.

    @vina18:

    2º A 2 solução se torna + fácil,pois seria configurado diretamente no domínio,porém como posso aplicar a solução ao DHCP sendo aplicado pelo Pfsense e não pelo DHCP do windows 2008 ou 2003 ou mesmo se uma pessoa levar o computador e tentar configura-lo em outra rede .. ele ainda estaria buscando tal proxy da antiga conexão ?

    Se você forçar via ad a atualização do navegador do cliente, esta alteração vai afetar o uso de notebook em casa.

    Esta solução funciona muito bem com o dns,dhcp configurados para fornecer o script e o browser marcado com a opção detectar automaticamente o servidor de proxy.



  • Vou testar tal solução nesse final de semana  :)

    Captive portal + freeradius+autenticação via ad+bloqueio de portas https(já feito)+squidguard devidamente configurado com blacklist(feito)+balanceamento de banda+trafic shaping para p2p+ solução de proxy automática.

    Testes e + testes

    Me desejem sorte  ;D



  • Coloca uma pitada de dansguardian nesta receita também. :)



  • Atualizei o primeiro post com um faq para facilitar o entendimento.



  • Seguindo as orientações de marcello, vou colocar a configuração automatica de proxy.

    E ja realizei a configuração do site http://blogdonerd.com.br/2011/10/descoberta-automatica-de-proxy-wpad-web-proxy-auto-discovery/ e deu primeira (testei em uma VM, não configurei o Pfsense com proxy mesmo, so testei pra ve se a VM pegava as configurações e pegou)

    Vou fazer alguns testes a mais e colocar pra funcionar aqui!!!

    Adeus Https liberado!!!  ;D  ;D  ;D



  • amigo,

    Pode dizer como você fez para testar e comprovar se realmente as configurações do proxy automático na VM/maquina foram aplicadas já que como vc falou não implantou o proxy.

    thiago..



  • marcelloc,

    Aproveitando o ensejo, sugestivamente, você poderia acrescer no seu post, uma breve discussão sobre a possibilidade (ou não) de uso do NTLM (NT LAN Manager), ou seja, eliminar a necessidade de digitar usuário e senha para se autenticar, a cada vez que o usuário abre o browser?!?

    Isso é possível com o Squid 2.7? Será possível com o Squid 3.0?

    ;)

    Abraços!
    Jack



  • @JackL:

    marcelloc,

    Aproveitando o ensejo, sugestivamente, você poderia acrescer no seu post, uma breve discussão sobre a possibilidade (ou não) de uso do NTLM (NT LAN Manager), ou seja, eliminar a necessidade de digitar usuário e senha para se autenticar, a cada vez que o usuário abre o browser?!?

    Isso é possível com o Squid 2.7? Será possível com o Squid 3.0?

    ;)

    Abraços!
    Jack

    Pensei que usando o proxy autenticado via AD+LDAP, a navegação fosse automática..

    não é ?? tenho que digitar usuario/senha ?? é isso ??



  • Resumindo a história.

    Usando o ntlm ou kerberos, você tem autenticação transparente desde que o browser esteja configurado para usar proxy.

    Basicamente qualquer outra configuração vai exigir que o usuário digite o usuário e a senha.

    Compilar o samba para o pfSense é possível, mas gera algum desconforto nos sysadmins.

    Usar o pfsense com dansguardian e um linux/freebsd/jail na rede com squid+samba gera o mesmo resultado sem abrir mão da segurança ou dos relatórios do firewall.



  • Marcelo,

    Agora fiquei confuso, eu posso ter autenticação transparente com squid integrado ao AD mas mesmo assim
    terei que digitar usuário e senha  no browser ?? o processo não é automático ??
    para que isso não aconteça terei que instalar o samba no pfsense ou em outra para fazer esse processo ?

    foi isso que eu entendi ??



  • @gst.freitas:

    Pensei que usando o proxy autenticado via AD+LDAP, a navegação fosse automática.. 
    não é ?? tenho que digitar usuario/senha ?? é isso ??

    Exatamente… por default o seu usuário vai precisar digitar login e senha (os mesmos do AD, claro) a cada 1ª vez que abrir o browser. Só assim vai conseguir se autenticar no proxy e, por consequente, navegar na web.

    Para contornar isso, somente usando algum recurso mencionado na excelente explicação do marcelloc… Onde você autentica de forma transparente. Nestes casos, o browser usa as mesmas credencias de login no Windows para autenticar o usuário no proxy.

    É importante entender que ter um Proxy Autenticado não significa dizer que a autenticação será transparente (automática)! ;)

    Abraços!
    Jack



  • @thiagomespb:

    Marcelo,

    Agora fiquei confuso, eu posso ter autenticação transparente com squid integrado ao AD mas mesmo assim
    terei que digitar usuário e senha  no browser ?? o processo não é automático ??
    para que isso não aconteça terei que instalar o samba no pfsense ou em outra para fazer esse processo ?

    foi isso que eu entendi ??

    Desculpe, neste caso…Posso está enganado, mas é um ponto extremamente negativo para o pfsense com relação os demais UTM..
    se eu desejo controlar a internet através de grupos e usuários baseado a um AD, terei que ver outra solução não nativa ao pfsense, inclusive com uso de relatório e monitoramento..pq vai dizer isso para 1.000 usuários que toda vez que ele fechar o browser terá que digitar usuario/senha..

    Resumindo.. se ganha em pontos e perdem em outros..



  • @thiagomespb:

    Desculpe, neste caso…Posso está enganado, mas é um ponto extremamente negativo para o pfsense com relação os demais UTM..
    se eu desejo controlar a internet através de grupos e usuários baseado a um AD, terei que ver outra solução não nativa ao pfsense, inclusive com uso de relatório e monitoramento..pq vai dizer isso para 1.000 usuários que toda vez que ele fechar o browser terá que digitar usuario/senha..

    Resumindo.. se ganha em pontos e perdem em outros..

    Você foi seletivo na leitura deste post  :D

    O pfsense aceita sim autenticação transparente, meu ambiente usa AD + software livre(incluindo o pfSense) e tem 10mil usuários ao todo.



  • @marcelloc:

    Você foi seletivo na leitura deste post  :D
    O pfsense aceita sim autenticação transparente, meu ambiente usa AD + software livre(incluindo o pfSense) e tem 10mil usuários ao todo.

    Exatamente…

    Veja que fiz questão de deixar em negrito o "não automática". "Não automática" é diferente de "Não possível"!

    O marcelloc mencionou pelo menos 2 formas de fazer isso no seu post! ;)

    Abraços!
    Jack



  • Rapaz,

    Acho que é a dor de cabeça que estou aqui.. kkk, quando eu iria passar a borracha sobre esse topic, 
    quando usar o squid+ldap + opção de Detectar automaticamente as configurações do proxy.

    Porém o marcelo falou o seguinte.

    Resumindo a história.

    Usando o ntlm ou kerberos, você tem autenticação transparente desde que o browser esteja configurado para usar proxy.

    Basicamente qualquer outra configuração vai exigir que o usuário digite o usuário e a senha.

    Compilar o samba para o pfSense é possível, mas gera algum desconforto nos sysadmins.

    Usar o pfsense com dansguardian e um linux/freebsd/jail na rede com squid+samba gera o mesmo resultado sem abrir mão da segurança ou dos relatórios do firewall.

    Ai junto com outro colega do forum deu um nó na cabeça..

    Poderia explicar com mais detalhe..  a razão de da necessidade de usar o samba ou outro recurso não nativo do pfsense ??



  • A autenticação ntlm no squid precisa do pacote samba para incluir o servidor no ad e assim encaminhar a autenticação do browser para o ad e analisar a resposta.

    A autenticação via Kerberos faz o mesmo procedimento através do kerberos. Por ser um método mais novo, ele é mais leve, mais rápido e não possui plugin no dansguardian. Neste modelo, usamos um squid para autenticar, um dansguardian para filtrar e um terceiro proxy para fazer cache.



  • Então marcelo,

    Resumão..

    Como eu devo proceder para autenticar o pfsense no AD e os meus usuários não tenha que digitar o login e senha no
    navegador..??



  • Usar o pfsense com dansguardian e um linux/freebsd/jail na rede com squid+samba gera o mesmo resultado sem abrir mão da segurança ou dos relatórios do firewall.

    Eu prefiro esta por não exigir a instalação do samba no pfsense e por ter uma centena de tutoriais explicado como usar ntlm no squid.



  • Marcelo,

    Traduzindo a sua frase em bom português.

    o pfsense nativo e sozinho não tem suporte para autenticar no AD e não requerer login/senha aos usuários quando na navegação.   >:(



  • @thiagomespb:

    Marcelo,

    Traduzindo a sua frase em bom português.

    o pfsense nativo e sozinho não tem suporte para autenticar no AD e não requerer login/senha aos usuários quando na navegação.  >:(

    Traduzindo para o bom português, o pfsense é firewall e por ser um firewall não deveria ter (ou merecer) um protocolo como netbios rodando nele.

    Como qualquer servidor unix, você pode instalar o pacote que quiser, mas estamos falando de segurança antes de falar de funcionalidade.

    O dansguardian implementa outros protocolos de autenticação como por exemplo ident, mas a resposta do ident pode ser forjada facilmente.

    Por ser um firewall preparado para rodar desde um hardware embarcado até um servidor multicore com vários Gb de ram, a instalação padrão vem enxuta para evitar desperdício de recursos e excesso de serviços habilitados.



  • Marcelo,

    Vou discordar.. grande parte das UTM existentes no Mercado tem essa integração, posso citar alguns: Livres, Zentyal, Endian, pagos: BRMA, mcafee e o próprio fortigate sem ter que usar um squid fora do applicance..



  • Se você olhar o proxy que roda em um utm grátis, você vai encontrar o squid e o dansguardian. Eu até recomendo isso para você ver a quantidade de pacotes e serviços que vão embarcados em utm como o endian por exemplo.

    EDIT
    Leia uma parte da documentação do endian para você ver tudo o que conversamos neste tópico.
    http://docs.endian.com/proxy.html

    UTMs pagos, não usam software gratuito e portanto tem seu próprio método de autenticação. Especificamente o fortigate comunica via ad(usando ldap) para saber que usuário esta usando determinado ip.



  • Marcelo,

    É qual é problema ?? em alguns UTM esse pacotes são opcionais.. Vide Zentyal, eu faço a instalação conforme a necessidade, já o endian
    ele já vem nativo, vide anexo.

    E esse é um ponto fraco do pfsense.. temos que admitir.. como foi a não disponibilização do dansguardian até a sua iniciativa.




  • @gst.freitas:

    Marcelo,

    É qual é problema ?? em alguns UTM esse pacotes são opcionais.. Vide Zentyal, eu faço a instalação conforme a necessidade, já o endian
    ele já vem nativo, vide anexo.

    O problema é basicamente segurança. Mas é claro que cada sysadmin tem sua opinião.

    Este tópico mostra com instalar o samba no pfsense
    http://forum.pfsense.org/index.php/topic,45828.0.html

    @gst.freitas:

    E esse é um ponto fraco do pfsense.. temos que admitir.. como foi a não disponibilização do dansguardian até a sua iniciativa.

    O dansguarian não é gratuito. Isso pode não significar nada para muitos sysadmins brasilieiros, mas entre um software gratuito como o squidguard e um pago, o pessoal do pfsense optou pela solução gratuita.

    A beleza de um projeto open source é exatamente esta. Eu precisei que o pfsense fizesse um algo a mais e consegui. Assim como vários outros que contribuiram para o pfsense ser o firewall que é hoje.
    O fato de não ter uma interface gráfica não quer dizer que não roda.

    Eu uso, aprovo, gosto, indico, ajudo e contribuo com o pfsense. Até hoje pra mim é o firewall mais completo e personalizável que já trabalhei.

    Em breve, antes que levantem a bola por aqui, devo publicar um pacote para gerência e replicação de configurações/regras/alias/etc entre vários pfsenses.



  • Marcelo,

    Eu já testei vários e todos tem prós e contras.. até agora pfsense o melhor de todos..
    a faço questão em colocar ele em meus clientes. só ele pode ficar melhor com ajuda dos mantedores.. inclusive você..



  • @thiagomespb:

    amigo,

    Pode dizer como você fez para testar e comprovar se realmente as configurações do proxy automático na VM/maquina foram aplicadas já que como vc falou não implantou o proxy.

    thiago..

    Seguinte thiago, eu fiz aqui as configurações (IIS, DNS e DHCP) no meu servidor 2008 de proxy automatico,

    mas antes disso, liguei a minha VM pra ve se tava navegando e estava. ai configurei o IE e firefox pra pegar

    configurações automaticas de rede e depois desliguei a VM, concluir a configuração na 2008 e voltei a ligar a

    VM e não navegou, so isso!!! pra ter certeza, tirei as configurações do 2008 e reiniciei a VM e navegou normal!!!

    vlw…  ;D  :)



  • Pessoal da para usar o SquidGuard mais sem usar o squid. Estou querendo controlar os sites mais sem fazer cache de arquivo.
    Abraço  8)



  • @Amandio:

    Pessoal da para usar o SquidGuard mais sem usar o squid. Estou querendo controlar os sites mais sem fazer cache de arquivo.
    Abraço  8)

    Não é possível, tanto squidguard ou dansguardian usa o squid. Estranho esse seu desejo, pq vai de encontro com a grande maioria do sysadmins. Se não deseja fazer cache em algum site, deve informar quais são..



  • Você pode configurar o squid para não fazer cache.


Log in to reply