[GUIA] Proxy HTTP/HTTPS + SquidGuard + sgerror.php + WPAD via DHCP e DNS 100%



  • Esse é pra você que tentou tutorias de diversos locais e sempre parava pela metade, devido a erros ou falta de informações.

    Fiz um ambiente 100% funcional e venho compartilhar com vocês.

    Cenário:

    pfSense  2.3 +
    package Squid
    package SquidGuard
    LAN  192.168.1.1/24
    pfsense.localdomain

    ***** Validado nas versões: 2.3.X  ***

    *** Validado nas versões 2.4.X em 27/10/2017 ***

    *** Não testei em versões anteriores  *****

    Utilizo (e recomendo) a webGUI em HTTPS, por questões de segurança.  Porém, haviam problemas com sgerror.php do squidguard quando utilizado desta maneira (mas vamos contorná-los!). Neste guia, estou utilizando HTTPS - porta 9443.

    Preparando o ambiente

    System > General Setup

    Escolha os servidores DNS de sua preferência, no meu caso, utilizei 8.8.8.8 e 8.8.4.4.
    Desmarcar o “Disable DNS Forwarder”, pois vamos utilizar este serviço para fornecer o WPAD via DNS, atingindo qualquer navegador.

    System > Advanced > Admin Access

    Habilite o acesso  SSH

    System > Cert. Manager

    Adicione um novo CA para utilização no Man-In-The-Middle do Squid posteriormente

    Descriptive Name: Escolha um nome para sua CA. Este nome será visível para os clientes.
    Method:  Selecione “Create an internal Certificate Authority” no menu dropdown.
    Key length: É recomendado 2048 para máxima compatibilidade
    Digest Algorithm – use SHA256 ou superior.
    LifeTime – Configure para 3650 dias (10 anos).
    Distinguished Name – Preencha todos os campos como Country, State, etc.

    Salve

    Services > DNS Resolver

    Por padrão, o PF habilita este serviço. Desative, pois vamos configurar através do DNS Forwarder

    Services > DNS Forwarder

    Habilite o DNS forwarder
    Marque    DNS Query Forwarding    -  Query DNS servers sequentially
    Interfaces – LAN
    Marque  Strict binding

    Em custom options, adicione as seguintes instruções:

    dhcp-option=252,http://192.168.1.1/proxy.pac
    dhcp-option=252,http://192.168.1.1/wpad.dat
    dhcp-option=252,http://192.168.1.1/wpad.da
    

    Vamos adicionar um host em “Host Overrides”

    Add
    Host = wpad
    Domain = localdomain (altere para o domínio que você tenha configurado)
    IP Address = 192.168.1.1

    Salve as configurações feitas.

    Services > DHCP Server

    DNS Server 1 =  192.168.1.1  (A resolução de nomes será controlada pelo próprio  pfSense)

    Additional BOOTP/DHCP Options – Adicione 3 entradas  252

    252  -  text  -  http://192.168.1.1/wpad.dat
    252  -  text  -  http://192.168.1.1/wpad.da
    252  -  text  -  http://192.168.1.1/proxy.pac

    Vamos preparar o NGINX para subir uma 2º instância, para servir o WPAD e o sgerror.php na porta 80.


    Anteriormente, eram realizados diversos comandos no SHELL para este propósito, mas foram substituídos por este pacote (WPAD - não oficial), criado pelo Marcelloc, que será instalado no passo a seguir.


    Mãos a obra!

    Entrar pelo Putty no PFSense e com usuário root, na tela de opções escolher a opção 8.

    Habilitar o repositório não oficial (DE ACORDO COM SUA VERSÂO):

    2.3.X 32 bits

    fetch -q -o /usr/local/etc/pkg/repos/Unofficial.conf https://raw.githubusercontent.com/marcelloc/Unofficial-pfSense-packages/master/Unofficial.conf
    

    2.3.X 64 bits

    fetch -q -o /usr/local/etc/pkg/repos/Unofficial.conf https://raw.githubusercontent.com/marcelloc/Unofficial-pfSense-packages/master/Unofficiali386.conf
    

    2.4.X 64 bits

    fetch -q -o /usr/local/etc/pkg/repos/Unofficial.conf https://raw.githubusercontent.com/marcelloc/Unofficial-pfSense-packages/master/Unofficial.24.conf
    
    

    Fazer update dos repositórios:

    pkg update -f
    

    Agora irá aparecer o pacote WPAD para download no Gerenciador de Pacotes. Faça a instalação.

    Este pacote cria a 2ª instância do NGINX, os arquivos WPAD e os diretórios respectivos.

    Na webGUI, acesse o menu SERVICES > WPAD  |  Adicione a interface (geralmente LAN) e salve.

    Feito isto, acesse em um navegador que esteja na rede LAN para confirmar o funcionamento:

    http://192.168.1.1/wpad.dat
    http://192.168.1.1/wpad.da
    http://192.168.1.1/proxy.pac

    Vai baixar os arquivos, ou apresentar o conteúdo na própria página web (dependendo o navegador e as configurações).

    Se você chegou até aqui, com tudo funcionando, significa que o ambiente está preparado para receber as configurações do squid e squidguard!

    Services > Squid Proxy Server

    Lembrando que deve-se configurar o Local Cache para poder ativar as configurações do squid.

    Habilite o squid
    Marque a opção  - Resolve DNS IPv4 First
    Transparent HTTP Proxy– Deixe DESMARCADO
    HTTPS/SSL Interception – Deixe MARCADO
    Porta 3128 (sim, a mesma porta!)
    CA – selecione o certificado criado lá no início
    SSL Certificate Deamon Children – 25
    Remote Cert Checks  - Selecione este:    Accept remote server certificate with erros
    Certificate Adapt – Selecione estes 2:  Set “Not After”  |  Set “Not Before”

    E agora o segredo:

    Em Show Advanced Options, na caixa Integrations, coloque isto:

    ssl_bump none all

    Salve as configurações.

    Services > SquidGuard Proxy Filter

    Habilite o serviço
    Marque as 3 opções de LOG
    Habilite a blacklist e coloque o link da mais conhecida:  http://www.shallalist.de/Downloads/shallalist.tar.gz
    Salve

    Va na guia Target Categories
    Adicione uma nova
    Nome – BRADESCO
    Regular Expression – bradesco
    Marque o log da ACL

    Salvar

    Porque Bradesco? O site do bradesco fica dando refresh sozinho, alternando entre bradesco.com.br e banco.bradesco.
    Com isso resolve o problema, já que somos obrigado a criar uma Target Categorie pro SG ficar 100%, matamos 2 coelhos numa cajadada só!

    Blacklist

    Faça o download da shallalist e aguarde o processo finalizar.

    Common ACL

    Clique no botão + ao lado de TargetRules List e deixe a categoria BRADESCO como ALLOW
    Defina as outras categorias de acordo com sua necessidade
    Redirect mode – ext url err page(enter URL)
    Redirect info -  http://192.168.1.1/sgerror.php?url=302 &a=%a&n=%n&i=%i&s=%s&t=%t&u=%u
    Marque o log e salve

    DICA: Para aparecer a categoria corretamente na página de bloqueio, você deve deixar explícito a ação DENY nas ACLs. Se deixar o "traço" para pegar a política padrão, a categoria não será exibida!

    Volte para General Settings e de um APPLY

    Finalizado o tão sonhado proxy ativo de forma “transparente”.

    DICA: Faça bloqueio das portas 80 e 443 na saída da LAN, para forçar que a navegação saia somente pelo proxy!

    Note que não será necessário instalar o certificado nas estações;

    Não será necessário cadastrar o proxy no navegador (Deixar opção detectar automaticamente marcada);

    Funciona para qualquer browser, Chrome, IE, Firefox, Opera, etc…

    **Obs1: Caso não tenha funcionado, observe todos os passos atentamente

    Obs2: Os tratamentos para liberação e bloqueio de conteúdo serão feitos todos no squidGuard

    Obs3: Não funciona para dispositivos mobiles (Android / iOS / WindowsPhone), a não ser que você configure manualmente nos aparelhos,
    o que torna inviável. Neste caso, a solução seria isolar a rede wifi com VLAN/Captive Portal**

    Chegamos ao fim!



  • Teoricamente isso ta muito bonito, contrapartida ta meio complexo (eu entendi perfeitamente o passo a passo) minha dúvida é na questão da configuração a certeza mesmo se irá funfar. Confesso que tenho até medo de fazer tudo isso via putty e na hora da pau e ter que levantar tudo de novo na empresa.



  • Ora, pra isso que existe a etapa de homologação!



  • @danilosv.03:

    Teoricamente isso ta muito bonito, contrapartida ta meio complexo (eu entendi perfeitamente o passo a passo) minha dúvida é na questão da configuração a certeza mesmo se irá funfar. Confesso que tenho até medo de fazer tudo isso via putty e na hora da pau e ter que levantar tudo de novo na empresa.

    Como o Tomas falou, nada como um ambiente de testes para validar.

    Eu estava com um ambiente de testes para este caso e quando vi o processo funcional, restaurei o PF para configurações de fábrica e segui minhas anotações.

    Funcionou 100%



  • Vou fazer no ambiente de teste.



  • Parabéns em compartilhar..



  • Boa noite..

    Muito legal bem detalhado ..

    porem existem algumas duvidas até pq ja utilizei por muito tempo wpad
    quais foram os problemas encontrados no decorrer..

    1 parou de funcionar no firefox devido a alguma atualização.

    quando eu consegui faze funciona no firefox dava erro no internet….

    o seu funciona no firefox e no internet explorer e chrome (apesar no chrome ser espelho do internet)

    2 . Infelismente Macs e Celulares como android IOS tinha que fazer algumas configurações mais avançadas para que funcionasse...

    Mais estou meio correria pretendo testa suas configs..
    Fico no aguardo do seu retorno.



  • Eu me confundi um pouco nessa parte:

    Entre no diretório /usr/local/www/nginx-dist

    Após eu adicionar cada comando pelo o putty como faço pra sai dele?



  • @Douglas:

    Boa noite..

    Muito legal bem detalhado ..

    porem existem algumas duvidas até pq ja utilizei por muito tempo wpad
    quais foram os problemas encontrados no decorrer..

    1 parou de funcionar no firefox devido a alguma atualização.

    quando eu consegui faze funciona no firefox dava erro no internet….

    o seu funciona no firefox e no internet explorer e chrome (apesar no chrome ser espelho do internet)

    2 . Infelismente Macs e Celulares como android IOS tinha que fazer algumas configurações mais avançadas para que funcionasse...

    Mais estou meio correria pretendo testa suas configs..
    Fico no aguardo do seu retorno.

    Alguns navegadores tentam capturar proxy.pac e outros wpad.dat. Por isso, criamos links do proxy.pac para não ocorrer nenhum problema.

    Realmente para aparelhos mobile, os navegadores vem configurados sem a instrução de buscar por wpad/proxy.pac.

    Somente configurando manualmente, ou criando uma VLAN só para celulares com captive portal. Ou ainda, uma segunda instância do squid em modo transparente.



  • @danilosv.03:

    Eu me confundi um pouco nessa parte:

    Entre no diretório /usr/local/www/nginx-dist

    Após eu adicionar cada comando pelo o putty como faço pra sai dele?

    Pelo shell, acessar o diretório

    cd /usr…...

    Ajustei no guia, para facilitar.

    Para sair do shell, pode dar exit e depois fechar a tela do putty.



  • Este ambiente já está rodando em dois escritórios e está funcionando perfeitamente.

    Ainda não encontrei nenhum problema, com esta configuração.  8) :) :)



  • Bom dia amigo,
    Primeiramente parabéns e obrigado por compartilhar o conhecimento!

    Estava seguindo suas instruções, porém na parte onde configura-se o DNS Resolver enfrento um erro:

    The following input errors were detected:

    The generated config file cannot be parsed by unbound. Please correct the following errors:
        /var/unbound/test/unbound.conf:89: error: unknown keyword 'dhcp-option=252,http'
        /var/unbound/test/unbound.conf:89: error: stray ':'
        /var/unbound/test/unbound.conf:89: error: unknown keyword '//192.168.1.1/proxy.pac'
        /var/unbound/test/unbound.conf:90: error: unknown keyword 'dhcp-option=252,http'
        /var/unbound/test/unbound.conf:90: error: stray ':'
        /var/unbound/test/unbound.conf:90: error: unknown keyword '//192.168.1.1/wpad.dat'
        /var/unbound/test/unbound.conf:91: error: unknown keyword 'dhcp-option=252,http'
        /var/unbound/test/unbound.conf:91: error: stray ':'
        /var/unbound/test/unbound.conf:91: error: unknown keyword '//192.168.1.1/wpad.da'
        read /var/unbound/test/unbound.conf failed: 9 errors in configuration file

    Quando retiro as instruções do Custom Options o erro não ocorre.
    dhcp-option=252,http://192.168.1.1/proxy.pac
    dhcp-option=252,http://192.168.1.1/wpad.dat
    dhcp-option=252,http://192.168.1.1/wpad.da

    Sabe em que posso ter errado?
    Desde já obrigado!!



  • @cairo:

    Bom dia amigo,
    Primeiramente parabéns e obrigado por compartilhar o conhecimento!

    Estava seguindo suas instruções, porém na parte onde configura-se o DNS Resolver enfrento um erro:

    The following input errors were detected:

    The generated config file cannot be parsed by unbound. Please correct the following errors:
        /var/unbound/test/unbound.conf:89: error: unknown keyword 'dhcp-option=252,http'
        /var/unbound/test/unbound.conf:89: error: stray ':'
        /var/unbound/test/unbound.conf:89: error: unknown keyword '//192.168.1.1/proxy.pac'
        /var/unbound/test/unbound.conf:90: error: unknown keyword 'dhcp-option=252,http'
        /var/unbound/test/unbound.conf:90: error: stray ':'
        /var/unbound/test/unbound.conf:90: error: unknown keyword '//192.168.1.1/wpad.dat'
        /var/unbound/test/unbound.conf:91: error: unknown keyword 'dhcp-option=252,http'
        /var/unbound/test/unbound.conf:91: error: stray ':'
        /var/unbound/test/unbound.conf:91: error: unknown keyword '//192.168.1.1/wpad.da'
        read /var/unbound/test/unbound.conf failed: 9 errors in configuration file

    Quando retiro as instruções do Custom Options o erro não ocorre.
    dhcp-option=252,http://192.168.1.1/proxy.pac
    dhcp-option=252,http://192.168.1.1/wpad.dat
    dhcp-option=252,http://192.168.1.1/wpad.da

    Sabe em que posso ter errado?
    Desde já obrigado!!

    Sim, a configuração é feita no DNS Forwarder e você tentou fazer no DNS Resolver.

    Desative o Resolver e deixe apenas o Forwarder habilitado.



  • Estou usando este cenário em 6 locais e está rodando 100%!  8) :D



  • @brunok:

    Estou usando este cenário em 6 locais e está rodando 100%!  8) :D

    Bruno bom dia  8) essas configuração server para usor de proxu transparente?



  • Bruno bom dia  8) essas configuração server para usor de proxu transparente?

    É justamente para não usar é proxy transparente.. que neste caso é uma boa prática.



  • No meu caso o Pfsense esta integrado no AD do Windows server 2012  e o DHCP server é do próprio Windows,  também uso GPO de Proxy.

    Pretendo continuar com o DHCP  a GPO do Windows  tem algum problema?
    Verifiquei  que vc disse alguma coisa de sgerror.php  e justamente  estou com um problema quando o Squidguard esta Habilitado aparece este URL nos Browser quando  tento acessa qualquer pagina.

    https://192.168.0.1/sgerror.php?url=403 &a=192.168.0.33&n=192.168.0.33&i=teste4&s=default&t=none&u=http://www.globo.com/

    Saberi dizer o que significa?

    abraço



  • A parte do DHCP pode ser configurada no seu Windows Server mesmo.

    Este link indica que a página seria bloqueada. Aparece mensagem de bloqueio, ou como fica a tela?

    Para o problema da porta, configure até a parte que sobe a 2ª instância do nginx e copia o sgerror.php pro diretório nginx-dist.

    Tem que funcionar corretamente, mas poste suas configurações do squidguard (General, Common e Target) para analisarmos.



  • #Dica.

    Sei que muitos aqui são especialistas para manipular o servidor pelos Terminais/Putty via SSH, mas sei também que alguns sofrem um bocado quando
    tem que alterar algo através das linhas de comando.

    Para aqueles menos experientes, aconselho usarem o programa WinSCP.  É perfeito para acesso via SSH, a manipulação do servidor se torna tipo um "FTP",
    bem simples, tudo através do bloco de notas para que não conhece vale a pena testar!

    **Parabéns pelo tutorial.



  • brunok existe algum meio de conversar contigo, por syke exemplo.



  • O DNS Resolver vem ativado por padrão na instalação do PF.

    Desative ele e deixe apenas o DNS Forwarder ativado.



  • Ola pessoal bom dia;

    Segui o tutorial ao pe da letra td como manda o figurino. mas quando chega nesta parte nao consigo passar dela.

    Reinicie o servidor, para testar se o script da 2ª instância ficou 100%.

    Quando voltar, acesse o ip do servidor apenas com http na porta 80, vai aparecer tela de aviso do NGINX funcionando.
    Caso não apareça, verifique se deu permissão de execução no script nginx2.sh / execute manualmente por enquanto.

    Quando eu acesso o ip http://192.168.1.1:80 ele sempre redireciona para a painga de login do pfsense e se acesso com outro navegador da time out nao encontra nenhuma pagina. Onde foi que eu errei?



  • @Rene_Probst:

    Ola pessoal bom dia;

    Segui o tutorial ao pe da letra td como manda o figurino. mas quando chega nesta parte nao consigo passar dela.

    Reinicie o servidor, para testar se o script da 2ª instância ficou 100%.

    Quando voltar, acesse o ip do servidor apenas com http na porta 80, vai aparecer tela de aviso do NGINX funcionando.
    Caso não apareça, verifique se deu permissão de execução no script nginx2.sh / execute manualmente por enquanto.

    Quando eu acesso o ip http://192.168.1.1:80 ele sempre redireciona para a painga de login do pfsense e se acesso com outro navegador da time out nao encontra nenhuma pagina. Onde foi que eu errei?

    O Chrome salva em cache as urls acessadas. Se o seu webConfigurator é HTTPS, pode digitar manualmente HTTP que ele puxa HTTPS do cache.
    Você pode tentar por uma guia anônima, ou outro navegador.

    Se não estiver funcionando, provavelmente não subiu a instância do NGINX2.conf.

    Você pode executá-la manualmente para testar, mas tem que validar para subir automaticamente.

    Outra forma de garantir isso, é baixar o pacote Shellcmd (este te libera a adição de funções que vão iniciar junto do firewall) e neste, você cria uma entrada do tipo shellcmd com a informação:

    sh /usr/local/etc/rc.d/nginx2.sh
    

    Depois só reiniciar o server e testar novamente a porta 80.



  • Ola, Bruno obrigado pelo seu apoio e material esta otimo. Porem jovem segui seu exemplo de instalar o shell e levantar o script com o comando fiz isso reiniciei o server porem ainda nao consegui. Abri uma pagina em anonimo mas ainda puxa o https e a pagina de login do pfsense. Abri em outro navegador especificando a porta 80 ai deu pagina nao encontrada. O que pode ser?. Como seria executar manualmente nao entendi esta parte.

    Eu executei este comando no shell dentro do pfsense e me retornou com este erro nao sei se pode ajudar!!

    comando no Shell: /usr/local/etc/rc.d/nginx2.sh
    me retorna com este erro

    Shell Output - sh /usr/local/etc/rc.d/nginx2.sh

    nginx: [emerg] unknown directive "nx" in /usr/local/etc/nginx/nginx2.conf:2



  • Qual a versão do seu PF?

    O comando para executar manualmente é este:

    sh /usr/local/etc/rc.d/nginx2.sh
    

    Lembrando que você deve dar a permissão de execução nesse arquivo.

    Parece que foi executado, mas está reclamando de uma configuração do NGINX2.conf.

    Você escreveu manualmente no arquivo?  ???

    O interessante é copiar e colar, pra não haver erros de caracteres. Faça pelo próprio webConfigurator, em Diagnósticos > Editar arquivo

    Navegue até o local do nginx2.conf e cole o conteúdo lá.



  • Ola versao do pfsense.

    2.3.2-RELEASE-p1 (amd64)
    FreeBSD 10.3-RELEASE-p9 .

    A permissao esta ok esta 755 eu fiz toda a conf pelo putty. ja tenho alguma experiencia com ele entao achei melhor fazer pelo putty mesmo.
    E toda a conf eu copiei e colei do tutorial nao escrevi nada manualmente para nao ter erros nos caracteres.
    Executei como voce falo pelo pfsense editei novamente o arquivo e colei as informações dentro dele. Reinicei o server mas sem sucesso, fui no prompt comando e executei o comando e me retorno este erro agora.

    nginx: [emerg] bind() to 192.168.1.1:80 failed (48: Address already in use)
    nginx: [emerg] still could not bind()

    Meu webgui esta via HTTPS na porta 9443 como seu exemplo.



  • Pela mensagem, aparentemente já está rodando algo na porta 80 (O próprio NGINX?  ???).

    Faça o seguinte, no terminal do seu servidor, digite o comando:

    curl http://192.168.1.1
    

    Onde 192.168.1.1 é o ip LAN do seu pf. Poste o resultado aqui.

    Outra coisa, poste também o seu nginx2.conf.



  • Comando curl http://192.168.1.1

    % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
    Dload  Upload  Total  Spent    Left  Speed

    0    0    0    0    0    0      0      0 –:--:-- --:--:-- --:--:--    0
    100  612  100  612    0    0  1669k      0 --:--:-- --:--:-- --:--:--  597k

    <title>Welcome to nginx!</title>

    Welcome to nginx!

    If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.

    For online documentation and support please refer to
    nginx.org.

    Commercial support is available at
    nginx.com.

    Thank you for using nginx.


    CONF DO NGINX2.CONF

    nginx configuration file

    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
            include      /usr/local/etc/nginx/mime.types;
            default_type  application/octet-stream;
            sendfile        on;
            keepalive_timeout 65;

    server {
                    listen 192.168.1.1;
                    server_name wpad.localdomain
                    server name 127.0.0.1
                    client_max_body_size 200m;

    root "/usr/local/www/nginx-dist/";

    location ~ .php$ {
                            try_files $uri =404; #  This line closes a potential security hole
                            fastcgi_pass  unix:/var/run/php-fpm.socket;
                            fastcgi_index  index.php;
                            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                            fastcgi_read_timeout 180;
                            include        /usr/local/etc/nginx/fastcgi_params;
                    }
            }
    }



  • Com o resultado do comando curl, nota-se que o NGINX já está rodando!

    A configuração está correta.

    Veja a configuração em Sistema > Avançado > Acesso de Administrador

    Deixe desmarcado a opção "Redirecionamento WebGUI" e teste novamente.



  • Certo..

    Na realidade ja estava desmarcado e nao estava dando certo desta forma, Entao marquei esta opção para ver se daria certo. Depois do que voce postou fui la entao e desmarquei a opção do WebGUI. E abri o navegador IE e apareceu a tela do NGINX vou continuar o processo vlw. Qualquer coisa eu posto aqui. Obrigadi….



  • Ola Bruno treminei todo configuração tanto do squid como do squid guard. Reiniciei o servidor reiniciei a conexao de rede da minha estação. Porem os bloqueios nao acontecem criei um target com site bloqueados por exemplo e coloquei alguns site para testar o bloqueio botei o ip da minha maquina na quele grupo. salvei e apliquei na aba geral do squid guard. mas mesmo assim os bloqueios nao estao acontecendo esta td liderado.
    Sabe onde posso ter errado?

    Na commom acl tambem coloquei deny tanto para o BRADESCO  quanto a minha target que criei e tambem para NEWS e testei sites relacionas mas mesmo assim o bloquei nao esta acontecendo.



  • O BRADESCO tem que ficar como WHITELIST.

    Deixe a ACL Default como DENY e teste qualquer site, depois você vai ajustando as outras categorias.

    Não esqueça de aplicar na aba Geral.

    Obs.: A página de bloqueio só aparece para sites HTTP. Para sites HTTPS, aparece erro de túnel (quando foi bloqueada)… Essa parte ainda não consegui deixar 100%, mas o bloqueio em si é o que importa.  :P



  • Poxa bruno infelizmente segui td como voce me falo mas ainda assim nao esta dando certo os bloqueios nao estao acontecendo. Coloquei a target BRADESCO como whitelist e o restante la na commom como DENY apliquei na aba geral mas ainda assim os bloqueios nao estao acontecendo ele so bloqueiam quando eu configuro o proxy no navegador…



  • @Rene_Probst:

    Poxa bruno infelizmente segui td como voce me falo mas ainda assim nao esta dando certo os bloqueios nao estao acontecendo. Coloquei a target BRADESCO como whitelist e o restante la na commom como DENY apliquei na aba geral mas ainda assim os bloqueios nao estao acontecendo ele so bloqueiam quando eu configuro o proxy no navegador…

    Opa, então está funcionando o bloqueio! Não é problema do squidGuard.

    A máquina cliente que está fazendo testes, está como DHCP? (Não funciona com ip setado).

    Você consegue na máquina cliente, baixar o arquivo wpad?

    Por exemplo, http://wpad.localdomain/wpad.dat

    Se estiver tudo certo, vai baixar o arquivo. Caso não baixe, tem algo errado na configuração. Veja se os arquivos estão na pasta nginx-dist (proxy.pac, wpadt.dat, wpadt.da)

    Outro detalhe também, no navegador deve estar marcado para detectar automaticamente as configurações de proxy.



  • Opa boa tarde Vamos la:

    Estação de teste:

    esta como DHCP ativado.
    Consegui fazer o download do arquivo wpad.dat
    Os arquivos  (proxy.pac, wpadt.dat, wpadt.da) estao dentro da pasta nginx-dist
    O proxy esta para detectar automaticamente nos navegadores e opções da internet que é a mesma coisa  :P
    Mas….

    Nada feito os bloqueios nao estao acontecendo.



  • Post o print das suas conf do DHCP, DNS Forwarder.

    Coloque o conteúdo do seu arquivo proxy.pac aqui também.

    Informe também o ip LAN e domínio que está utilizando.



  • Certo Vamos la:

    Conteudo proxy.pac:

    FindProxyForURL(url, host) {

    // se o site estiver na rede interna, retorna conexao direta.
    if (isPlainHostName(host) ||
    isInNet(dnsResolve(host), "192.168.1.0",  "255.255.255.0") ||
    isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0"))
    return "DIRECT";

    // o resto do trafego, passa no proxy
    return "PROXY 192.168.1.1:3128";
    }

    –----------------------------------------------------------------------------------------------------

    IP DA LAN  192.168.1.1/24. 
    DOMINIO QUE CONFIGUREI: allianza.com.br

    ![DHCP 1.jpg](/public/imported_attachments/1/DHCP 1.jpg)
    ![DHCP 1.jpg_thumb](/public/imported_attachments/1/DHCP 1.jpg_thumb)
    ![DHCP 2.jpg](/public/imported_attachments/1/DHCP 2.jpg)
    ![DHCP 2.jpg_thumb](/public/imported_attachments/1/DHCP 2.jpg_thumb)
    ![DHCP 3.jpg](/public/imported_attachments/1/DHCP 3.jpg)
    ![DHCP 3.jpg_thumb](/public/imported_attachments/1/DHCP 3.jpg_thumb)
    ![DNS 1.png](/public/imported_attachments/1/DNS 1.png)
    ![DNS 1.png_thumb](/public/imported_attachments/1/DNS 1.png_thumb)
    ![DNS 2.png](/public/imported_attachments/1/DNS 2.png)
    ![DNS 2.png_thumb](/public/imported_attachments/1/DNS 2.png_thumb)
    ![DNS 3.png](/public/imported_attachments/1/DNS 3.png)
    ![DNS 3.png_thumb](/public/imported_attachments/1/DNS 3.png_thumb)



  • Está tudo certo na configuração.

    Estou achando que pode ser algo referente ao domínio no seu arquivo nginx2.conf.

    Coloque o conteúdo dele aqui.



  • Ok

    Conteudo Nginx2.conf:

    nginx configuration file

    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
            include      /usr/local/etc/nginx/mime.types;
            default_type  application/octet-stream;
            sendfile        on;
            keepalive_timeout 65;

    server {
                    listen 192.168.1.1;
                    server_name wpad.localdomain
                    server name 127.0.0.1
                    client_max_body_size 200m;

    root "/usr/local/www/nginx-dist/";

    location ~ .php$ {
                            try_files $uri =404; #  This line closes a potential security hole
                            fastcgi_pass  unix:/var/run/php-fpm.socket;
                            fastcgi_index  index.php;
                            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                            fastcgi_read_timeout 180;
                            include        /usr/local/etc/nginx/fastcgi_params;
                    }
            }
    }



  • Acho que é este o problema:

    server_name wpad.localdomain
    

    Dentro do seu nginx2.conf, ajuste para o domínio configurado no seu PF.

    O navegador pelo qual está tentando fazer testes, seria o Firefox?

    O Firefox só pega WPAD por DNS, então o caso acima seria o problema.

    Já no Chrome/IE, aceitam pelo DHCP.