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 60.1k 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.
    • B
      brunok
      last edited by

      @diegovaz:

      Bom dia galera!

      segui igual receita de bolo, mas nao deu certo  :-[

      abraço
      [/quote]

      Poste aqui o que acontece, algum print.

      1 Reply Last reply Reply Quote 0
      • B
        brunok
        last edited by

        @guitarcleiton:

        Efetuei a instalação aqui e estou com 2 problemas.

        1 - Ao ser redirecionado para a pagina de erro o navegador efetua o download do sgerror.php ao invez de interpreta-lo.

        2 - Mesmo configurando o certificado e habilitando a opção  SSL as paginas https não são redirecionadas.

        Duvidas:
        Nas configurações do Squid
        SSL/MITM Mode: qual deve ser informado?
        SSL Proxy Compatibility Mode: qual deve ser informado?

        Grato!

        As configurações do squid, pode deixar as padrões, neste caso.

        1 - Isso pode ser configuração do próprio navegador. Qual está usando?

        2 - Páginas https não são redirecionadas para a página de erro. Eu ainda não consegui contornar isso. O bloqueio ocorre, só não aparece a página do sgerror.php.

        1 Reply Last reply Reply Quote 0
        • D
          diegovaz
          last edited by

          @brunok:

          @diegovaz:

          Bom dia galera!

          segui igual receita de bolo, mas nao deu certo  :-[

          abraço
          [/quote]

          Poste aqui o que acontece, algum print.

          Bruno,

          bom dia!

          segui o tutorial ao pe da letra, instalei em uma instalação limpa em um ambiente de teste.
          alterei o domínio do arquivo para o meu, consigo fazer o download dos arquivos do wpad.
          fiz os bloqueios das portas 80 e 443, e liberação do ip e porta do PF.
          através da detecção automática de proxy não navega em nada, seu setar o proxy manual ai funfa tudo legal.
          segue minhas regras…

          rules.jpg
          rules.jpg_thumb
          teste-pag.jpg
          teste-pag.jpg_thumb

          1 Reply Last reply Reply Quote 0
          • marcellocM
            marcelloc
            last edited by

            Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • D
              diegovaz
              last edited by

              @marcelloc:

              Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?

              Nada.

              so segui o tutorial, ip e porta batendo.

              wpad1.jpg
              wpad1.jpg_thumb
              wpad2.jpg
              wpad2.jpg_thumb

              1 Reply Last reply Reply Quote 0
              • G
                guitarcleiton
                last edited by

                após reiniciar o firewall para tentar identificar o motivo do download ao invés da interpretação do sgerror percebi que o wpad parou de funcionar.

                identifiquei o problema, mas não a solução, ao tentar aplicar o wpad me retorna a mensagem de que já existe um serviço ativo na porta 80.

                qual comando para listar qual serviço esta rodando nesta porta?

                Analista de Sistemas
                Bacharel em Sistemas de Informação

                https://cleiton.tech.blog/

                1 Reply Last reply Reply Quote 0
                • marcellocM
                  marcelloc
                  last edited by

                  @guitarcleiton:

                  qual comando para listar qual serviço esta rodando nesta porta?

                  Desativou o redirecionamento automático da gui em system-> advanced?

                  Treinamentos de Elite: http://sys-squad.com

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • G
                    guitarcleiton
                    last edited by

                    @marcelloc:

                    Desativou o redirecionamento automático da gui em system-> advanced?

                    Sim, mesmo que alguém esqueça, eu fiz um teste aqui e o script do wpad não aceita aplicar esta configuração caso o redirecionamento esteja ativado.

                    Analista de Sistemas
                    Bacharel em Sistemas de Informação

                    https://cleiton.tech.blog/

                    1 Reply Last reply Reply Quote 0
                    • B
                      brunok
                      last edited by

                      @diegovaz:

                      @marcelloc:

                      Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?

                      Nada.

                      so segui o tutorial, ip e porta batendo.

                      Qual o IP configurado no alias "FIREWALL" ?

                      1 Reply Last reply Reply Quote 0
                      • B
                        brunok
                        last edited by

                        @guitarcleiton:

                        @marcelloc:

                        Desativou o redirecionamento automático da gui em system-> advanced?

                        Sim, mesmo que alguém esqueça, eu fiz um teste aqui e o script do wpad não aceita aplicar esta configuração caso o redirecionamento esteja ativado.

                        Tem contato com o Shell?

                        Me mostre a saída do comando:

                        cat /usr/local/etc/nginx/nginx_wpad*.conf
                        
                        1 Reply Last reply Reply Quote 0
                        • I
                          isaiasbertin
                          last edited by

                          parabéns ótimo tuto

                          1 Reply Last reply Reply Quote 0
                          • D
                            diegovaz
                            last edited by

                            @brunok:

                            @diegovaz:

                            @marcelloc:

                            Fez alguma alteração no wpad? O ip:porta definido nele bate com a sua configuração de proxy?

                            Nada.

                            so segui o tutorial, ip e porta batendo.

                            Qual o IP configurado no alias "FIREWALL" ?

                            Bruno,

                            bom dia!

                            IP padrao do teste e do seu tutorial 192.168.1.1

                            abraço

                            1 Reply Last reply Reply Quote 0
                            • P
                              pozemky
                              last edited by

                              Fiz aqui todo o procedimento e infelizmente não funcionou, uso a versão 2.3.2 amd64.
                              Consegui ter acesso normal a internet, ele não faz bloqueios, mesmo mexendo nas regras do SquidGuard, refiz toda a configuração e mesmo assim não foi.
                              Atualmente fiz uma configuração de PfSense que ficou boa aqui, ainda não está em produção, mas com os testes feitos em alguns setores, principalmente o financeiro, não tive nenhum problema, mas é aquela história, é preciso instalar o certificado no computador do usuário, deu para fazer bloqueio com sites HTTPS, e usar pesquisa segura no Google e outros buscadores.
                              Enfim, em casa tento novamente fazer essa configuração  ;D

                              1 Reply Last reply Reply Quote 0
                              • L
                                leo_pfsense
                                last edited by

                                Boa noite pessoal, talvez ajude alguém, para complementar as configurações até então feitas, relaciono abaixo um exemplo básico de regras de firewall. Se não estiverem adequadas peço que sugiram/efetuem alterações.

                                
                                Ação -     Protocolo -     Source - Port - Destination -         Port -    Gateway - Queue - Description
                                
                                Pass        IPv4 TCP    - LAN net    *    192.168.1.1 	 9443,22,80	*   none   -   Libera WebGUI, SSH, WPAD (NGINX)
                                Pass        IPv4 UDP   - LAN net    *    192.168.1.1 	 53 (DNS)	        *   none   -   Libera DNS
                                Reject     IPv4 TCP    - LAN net    *    * 		         80 (HTTP) 	*   none   -   Bloqueia HTTP
                                Reject     IPv4 TCP    - LAN net    *    * 		         443 (HTTPS)    *   none   -   Bloqueia HTTPS
                                Pass        IPv4 TCP    - LAN net    *    * 		         3128 		*   none   -   Libera Proxy
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • G
                                  guitarcleiton
                                  last edited by

                                  @brunok:

                                  Tem contato com o Shell?

                                  Me mostre a saída do comando:

                                  cat /usr/local/etc/nginx/nginx_wpad*.conf
                                  

                                  Refiz as configurações dei um reboot no firewall e acabou o problema de conflito na porta 80.

                                  o problema agora é a pagina de erro que não são interpretada pelo php, sempre que vai efetuar o bloqueio é feito o download do sgerror, em qualquer navegador e em qualquer computador da rede.

                                  
                                  # nginx configuration file
                                          user  root wheel;
                                          worker_processes  10;
                                          pid     /var/run/nginx_wpad0.pid;
                                          error_log  syslog:server=unix:/var/run/log,facility=local5;
                                          events {
                                              worker_connections  1024;
                                          }
                                          http {
                                                  include       /usr/local/etc/nginx/mime_wpad.types;
                                                  default_type  application/octet-stream;
                                                  sendfile        on;
                                                  access_log      syslog:server=unix:/var/run/log,facility=local5 combined;
                                                  keepalive_timeout 65;
                                                  server {
                                                          listen 192.168.0.1:80;
                                                          server_name wpad.localdomain
                                                          server name 127.0.0.1
                                                          client_max_body_size 200m;
                                  
                                                          root "/usr/local/www/wpad0/";
                                  
                                                          location / {
                                                                  index index.php sgerror.php index.html index.htm;
                                                          }
                                  
                                                          location ~ \.php$ {
                                                                  try_files $uri =404; #  This line closes a potential security hole
                                                                  # ensuring users can't execute uploaded files
                                                                  # see: http://forum.nginx.org/read.php?2,88845,page=3
                                                                  fastcgi_pass   unix:/var/run/php-fpm.socket;
                                                                  fastcgi_index  index.php;
                                                                  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                                                                  # Fix httpoxy - https://httpoxy.org/#fix-now
                                                                  fastcgi_param  HTTP_PROXY  "";
                                                                  fastcgi_read_timeout 180;
                                                                  include        /usr/local/etc/nginx/fastcgi_params;
                                                          }
                                  
                                                  }
                                  
                                  

                                  Analista de Sistemas
                                  Bacharel em Sistemas de Informação

                                  https://cleiton.tech.blog/

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pozemky
                                    last edited by

                                    @leo_pfsense:

                                    Boa noite pessoal, talvez ajude alguém, para complementar as configurações até então feitas, relaciono abaixo um exemplo básico de regras de firewall. Se não estiverem adequadas peço que sugiram/efetuem alterações.

                                    
                                    Ação -     Protocolo -     Source - Port - Destination -         Port -    Gateway - Queue - Description
                                    
                                    Pass        IPv4 TCP    - LAN net    *    192.168.1.1 	 9443,22,80	*   none   -   Libera WebGUI, SSH, WPAD (NGINX)
                                    Pass        IPv4 UDP   - LAN net    *    192.168.1.1 	 53 (DNS)	        *   none   -   Libera DNS
                                    Reject     IPv4 TCP    - LAN net    *    * 		         80 (HTTP) 	*   none   -   Bloqueia HTTP
                                    Reject     IPv4 TCP    - LAN net    *    * 		         443 (HTTPS)    *   none   -   Bloqueia HTTPS
                                    Pass        IPv4 TCP    - LAN net    *    * 		         3128 		*   none   -   Libera Proxy
                                    
                                    

                                    Boa tarde, mas essa regra não bloqueia todo o acesso a sites? Fiz aqui e não da acesso a nenhum site kkkkkk
                                    Vou testar mais aqui  :)

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      leo_pfsense
                                      last edited by

                                      Oi pokemzy, penso que essas regras bloqueiam todo acesso a sites, exceto o tráfego pela porta 3128, que é a do proxy. Se deixar aberta a 80 e 443 ele navegará por fora do proxy, aí as regras de bloqueio do squidguard não irão funcionar.

                                      Essa explicação e regramento é recomendável? Se alguém  puder opinar agradeço.

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jamers
                                        last edited by

                                        @pozemky:

                                        @leo_pfsense:

                                        Boa noite pessoal, talvez ajude alguém, para complementar as configurações até então feitas, relaciono abaixo um exemplo básico de regras de firewall. Se não estiverem adequadas peço que sugiram/efetuem alterações.

                                        
                                        Ação -     Protocolo -     Source - Port - Destination -         Port -    Gateway - Queue - Description
                                        
                                        Pass        IPv4 TCP    - LAN net    *    192.168.1.1 	 9443,22,80	*   none   -   Libera WebGUI, SSH, WPAD (NGINX)
                                        Pass        IPv4 UDP   - LAN net    *    192.168.1.1 	 53 (DNS)	        *   none   -   Libera DNS
                                        Reject     IPv4 TCP    - LAN net    *    * 		         80 (HTTP) 	*   none   -   Bloqueia HTTP
                                        Reject     IPv4 TCP    - LAN net    *    * 		         443 (HTTPS)    *   none   -   Bloqueia HTTPS
                                        Pass        IPv4 TCP    - LAN net    *    * 		         3128 		*   none   -   Libera Proxy
                                        
                                        

                                        Boa tarde, mas essa regra não bloqueia todo o acesso a sites? Fiz aqui e não da acesso a nenhum site kkkkkk
                                        Vou testar mais aqui  :)

                                        Testei aqui com essas regras e funcionou bem…bloqueando sites adultos, facebook,etc...acredito que seja um bom inicio...depois vai ajustando demais portas....

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          Rene_Probst
                                          last edited by

                                          boa tarde;

                                          Vcs Saberiam me dizer onde que fica o arquivo sgerror.php (pagina de bloqueio do squid guard) gostaria de colocar uma personalizada.

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            leo_pfsense
                                            last edited by

                                            Oi Rene,

                                            Procura através do comando "find / -name sgerror.php"

                                            Ele vai retornar onde está. Se você configurou o ambiente com o script do marcelloc vai estar numa pasta wpad0. É esse que vc muda. Terá outro também na www mas o que está valendo é a dentro da pasta wpad0.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.