• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

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

Scheduled Pinned Locked Moved Portuguese
182 Posts 40 Posters 56.4k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R
    Rene_Probst
    last edited by Oct 24, 2016, 3:52 PM

    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.

    1 Reply Last reply Reply Quote 0
    • B
      brunok
      last edited by Oct 24, 2016, 4:29 PM

      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.

      1 Reply Last reply Reply Quote 0
      • R
        Rene_Probst
        last edited by Oct 24, 2016, 4:46 PM

        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)

        1 Reply Last reply Reply Quote 0
        • B
          brunok
          last edited by Oct 24, 2016, 4:52 PM

          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.

          1 Reply Last reply Reply Quote 0
          • R
            Rene_Probst
            last edited by Oct 24, 2016, 5:05 PM

            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;
                            }
                    }
            }

            1 Reply Last reply Reply Quote 0
            • B
              brunok
              last edited by Oct 24, 2016, 6:33 PM

              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.

              1 Reply Last reply Reply Quote 0
              • R
                Rene_Probst
                last edited by Oct 24, 2016, 6:45 PM

                Certo;

                Fui ate a conf do nginx.conf e alterei conforme meu dominio reiniciei o server reiniciei minha conexao de rede. Apos isso tentei os acessos mas da mesma forma os bloqueios ainda nao estao acontecendo.

                Conf da nginx2.conf atual:

                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.allianza.com.br
                                  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;
                                  }
                          }
                  }

                Essa configuração era a minha ultima esperança kkk mas ta dificil heim bruno que luta.  ;D ;D

                1 Reply Last reply Reply Quote 0
                • B
                  brunok
                  last edited by Oct 24, 2016, 6:47 PM

                  Pode ser um detalhe bem básico que ta passando despercebido…  :P

                  Se quiser me passar um acesso remoto no privado, eu dou uma olhada.

                  1 Reply Last reply Reply Quote 0
                  • R
                    Rene_Probst
                    last edited by Oct 24, 2016, 6:59 PM

                    Como mando uma mensagem pra voce no privado?

                    1 Reply Last reply Reply Quote 0
                    • R
                      Rene_Probst
                      last edited by Oct 25, 2016, 1:01 PM

                      Ola pessoal venho informa que apos muito trabalho consegui terminar a configuração do Bruno e esta funcionando perfeitamente.
                      O erro foi em copiar uma configuração dentro do arquivo proxy.pac a palavra function nao foi copiado para ele entao nao chamava a função e com isso os bloqueios nao aconteciam. Apos isso funciono nomalmente em todos os navegadores. Gostaria de agradecer o bruno por me ajudar atentamente nessa trabalho Otimo post foi o unico que vai funcionar na minha rede aqui na empresa.  ;D ;D ;D

                      function 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";
                      }

                      1 Reply Last reply Reply Quote 0
                      • B
                        brunok
                        last edited by Nov 28, 2016, 5:01 PM

                        Editei o tópico, apenas para informar que o ambiente está validado nestas versões:

                        2.3.1
                        2.3.1_5
                        2.3.2
                        2.3.2_1

                        1 Reply Last reply Reply Quote 0
                        • M
                          McLaw
                          last edited by Nov 28, 2016, 6:29 PM

                          Bruno para essa aplicação que funcione tenho é necessario ativa o dhcp do pfsense? no meu caso quem gerar dhcp eo windows server 2008 rc2.

                          me tire essa duvida.

                          Um grande abraço

                          @brunok:

                          Editei o tópico, apenas para informar que o ambiente está validado nestas versões:

                          2.3.1
                          2.3.1_5
                          2.3.2
                          2.3.2_1

                          1 Reply Last reply Reply Quote 0
                          • F
                            filipesilva
                            last edited by Nov 30, 2016, 7:34 PM Nov 30, 2016, 7:05 PM

                            Bruno tudo bom?

                            Olha, estou testando essa funcionalidade aqui com o Virtual box +PFsense 2.3.2+Win7.

                            Seguinte, reproduzir os passos de acordo com o seu tutorial, porém meu PFsense não está bloqueando as paginas que defini nas regras do squidguard, o bloqueio somente acontece quando seto o proxy na maquina.

                            Refiz todos os passos, verifiquei todos os arquivos, consigo baixar todos os arquivos de diferentes maneiras, meu Dominio também é o localhost, mas mesmo assim os bloqueios não funcionam, estou usando o pfsense na porta que você mencionou 9443 ele acessa normal, quando entro no navegador e digito 192.168.1.1 ele cai na pagina do nxing normal, minhas configurações de DHCP e DNS estão exatamente como vc mandou, DNS Forward etc….

                            O que pode estar acontecendo ?

                            Obrigado.

                            1 Reply Last reply Reply Quote 0
                            • V
                              vcamposm31
                              last edited by Dec 1, 2016, 12:12 AM

                              Bruno parabens pelo tutorial, segui o passo a passo da instalação, mais o squid não inicia.
                              Eu já pesquisei o erro, fiz a questão do target categories, reinstalei squid, reinstalei squidguard e nada…
                              O que eu tenho de log na interface do pfsense é essa:

                              /rc.start_packages: The command '/usr/local/sbin/squid -f /usr/local/etc/squid/squid.conf' returned exit code '1', the output was 'FATAL: Bungled /usr/local/etc/squid/squid.conf line 4: http_port 192.168.0.1:3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=-50MB cert=/usr/local/etc/squid/serverkey.pem capath=/usr/local/share/certs/ cipher=EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:HIGH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS dhparams=/etc/dh-parameters.2048 options=NO_SSLv2,NO_SSLv3,SINGLE_DH_USE Squid Cache (Version 3.5.19): Terminated abnormally. CPU Usage: 0.006 seconds = 0.000 user + 0.006 sys Maximum Resident Size: 880 KB Page faults with physical i/o: 110'
                              

                              Versão do SquidGuard:
                              [2.3.2-RELEASE][admin@pfSense.localdomain]/root: squidGuard -v
                              SquidGuard: 1.4 Berkeley DB 5.3.28: (September  9, 2013)

                              na GUI do pfsense: squidGuard www 1.14_4

                              Versão do Squiq:
                              [2.3.2-RELEASE][admin@pfSense.localdomain]/root: squid -v
                              Squid Cache: Version 3.5.19

                              na GUI do pfsense: squid www 0.4.23_1

                              Nos logs do /var/log/squid/cache.log tem o seguinte, só que foi as 20:00, hr que eu tava instalando/configurando:

                              2016/11/30 20:00:38 kid1| ERROR: No forward-proxy ports configured.
                              FATAL: No HTTP, HTTPS, or FTP ports configured
                              Squid Cache (Version 3.5.19): Terminated abnormally.
                              CPU Usage: 0.084 seconds = 0.061 user + 0.023 sys
                              Maximum Resident Size: 208784 KB
                              Page faults with physical i/o: 0
                              2016/11/30 20:00:43 kid1| Creating missing swap directories
                              
                              

                              Ja li muito aqui sobre… mais nada que tenha resolvido.
                              Alguem sabe o que pode estar acontecendo?

                              1 Reply Last reply Reply Quote 0
                              • V
                                vcamposm31
                                last edited by Dec 1, 2016, 12:19 AM

                                Fiz um teste, desabilitei o:

                                HTTPS/SSL Interception Enable SSL filtering.

                                Dai ele inicia…

                                1 Reply Last reply Reply Quote 0
                                • B
                                  brunok
                                  last edited by Dec 2, 2016, 11:03 AM

                                  @McLaw:

                                  Bruno para essa aplicação que funcione tenho é necessario ativa o dhcp do pfsense? no meu caso quem gerar dhcp eo windows server 2008 rc2.

                                  me tire essa duvida.

                                  Um grande abraço

                                  @brunok:

                                  Editei o tópico, apenas para informar que o ambiente está validado nestas versões:

                                  2.3.1
                                  2.3.1_5
                                  2.3.2
                                  2.3.2_1

                                  Você pode utilizar o DNS do Windows Server. Basta configurar as opções do wpad nele (de uma olhada na net, que você encontra).

                                  Outra dica, o windows bloqueia por padrão o nome wpad (por questões de segurança), mas tem um procedimento para liberar isto e aí vai funcionar normalmente.

                                  http://ajuda.uniconet.com.br/index.php/Configura%C3%A7%C3%A3o_do_WPAD_no_DNS_do_Windows_Server

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    brunok
                                    last edited by Dec 2, 2016, 11:07 AM

                                    @Filipe:

                                    Bruno tudo bom?

                                    Olha, estou testando essa funcionalidade aqui com o Virtual box +PFsense 2.3.2+Win7.

                                    Seguinte, reproduzir os passos de acordo com o seu tutorial, porém meu PFsense não está bloqueando as paginas que defini nas regras do squidguard, o bloqueio somente acontece quando seto o proxy na maquina.

                                    Refiz todos os passos, verifiquei todos os arquivos, consigo baixar todos os arquivos de diferentes maneiras, meu Dominio também é o localhost, mas mesmo assim os bloqueios não funcionam, estou usando o pfsense na porta que você mencionou 9443 ele acessa normal, quando entro no navegador e digito 192.168.1.1 ele cai na pagina do nxing normal, minhas configurações de DHCP e DNS estão exatamente como vc mandou, DNS Forward etc….

                                    O que pode estar acontecendo ?

                                    Obrigado.

                                    Parece que o WPAD não está sendo entregue, ou o navegador não está marcado para reconhecer proxy automaticamente.

                                    Qual navegador está usando?

                                    Chrome usa a mesma configuração do IE.

                                    Firefox, tem uma configuração à parte, no próprio navegador.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      brunok
                                      last edited by Dec 2, 2016, 11:10 AM

                                      @vcamposm31:

                                      Fiz um teste, desabilitei o:

                                      HTTPS/SSL Interception Enable SSL filtering.

                                      Dai ele inicia…

                                      Já tentou fazer uma instalação clean, somente para testes?

                                      Neste caso, pode ter relação com a tag nas opções custom  do squid.

                                      ssl_bump none all

                                      Da uma conferida nos parâmetros.

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        itsl3v1s
                                        last edited by Dec 6, 2016, 6:39 PM

                                        Cara, parabéns pelo tutorial, só uma dúvida, não está sendo feito nenhum tipo de bloqueio das portas 80 e 443, então se o usuário optar por navegar sem proxy, vai passar normalmente, certo?

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          brunok
                                          last edited by Dec 7, 2016, 11:15 AM

                                          @itsl3v1s:

                                          Cara, parabéns pelo tutorial, só uma dúvida, não está sendo feito nenhum tipo de bloqueio das portas 80 e 443, então se o usuário optar por navegar sem proxy, vai passar normalmente, certo?

                                          Teoricamente, sim.

                                          Mas como o proxy está amarrado pelo DHCP e DNS (não setado no navegador), não tem pra onde ele fugir**.

                                          ** A não ser que o ip seja setado manualmente, com DNS do google por exemplo. Mas estas configurações, você consegue bloquear.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            [[user:consent.lead]]
                                            [[user:consent.not_received]]