• 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.
  • B
    brunok
    last edited by Jun 5, 2017, 9:36 PM

    @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 Jun 5, 2017, 9:50 PM

      @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 Jun 6, 2017, 1:49 AM

        parabéns ótimo tuto

        1 Reply Last reply Reply Quote 0
        • D
          diegovaz
          last edited by Jun 6, 2017, 10:23 AM

          @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 Jun 6, 2017, 8:40 PM

            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 Jun 7, 2017, 6:55 AM Jun 6, 2017, 11:11 PM

              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 Jun 7, 2017, 12:55 PM

                @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 Jun 7, 2017, 5:52 PM

                  @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 Jun 7, 2017, 11:20 PM

                    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 Jun 8, 2017, 11:42 AM

                      @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 Jun 8, 2017, 5:52 PM

                        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 Jun 8, 2017, 7:39 PM

                          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
                          • B
                            brunok
                            last edited by Jun 9, 2017, 6:16 PM Jun 9, 2017, 6:11 PM

                            @guitarcleiton:

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

                            Este arquivo é gerado pelo pacote WPAD que o Marcello criou.
                            Aparentemente, está diferente do meu, que eu tinha aqui no manual. Talvez as atualizações que ele fez, pode estar conflitando com alguma coisa.

                            Faça o seguinte:

                            Substitua o conteúdo do arquivo, por este

                            
                            # nginx configuration file
                            worker_processes  10;
                            pid     /var/run/nginx_wpad0.pid;
                            
                            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.0.1;
                                            server_name wpad.localdomain
                                            server name 127.0.0.1
                                            client_max_body_size 200m;
                            
                                            root "/usr/local/www/wpad0/";
                            
                                            location ~ \.php$ {
                            
                                                    try_files $uri =404;
                                                    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;
                            
                                            }
                            
                                    }
                            
                            }
                            
                            

                            Depois, reinicie a instância do nginx, ou reinicia o servidor e testa novamente.

                            1 Reply Last reply Reply Quote 0
                            • J
                              julioelbueno
                              last edited by Jun 9, 2017, 6:24 PM

                              Parabéns pelo Manual, funcionou muito bem, está bem explicativo, até para quem não tem tanto conhecimento.
                              E sobre dar a mensagens para paginas HTTPS tem alguma novidade?

                              1 Reply Last reply Reply Quote 0
                              • L
                                leo_pfsense
                                last edited by Jun 10, 2017, 6:52 PM

                                Beleza jamers!

                                Pessoal, estou com uma questão com o seguinte cenário:

                                • Wan
                                • LanA: 192.168.28.1/22
                                • LANB: 192.168.50.1/24

                                Configurei o wpad para ser disponibilizado através da LanB (192.168.50.1). Tudo certo, funcional para as duas interfaces LAN. Porém, após o primeiro host da LanA estar conectado ao pfSense, surge no pfSense mensagens de erro (anexo).

                                Tal situação não ocorre se apenas hosts da LanB forem conectados ao firewall. Mesmo surgindo as mensagens de erro o wpad funciona para a LanA, mas gostaria de saber o que está acontecendo.

                                Desde já agradeço o apoio!

                                ningx_erro.png
                                ningx_erro.png_thumb

                                1 Reply Last reply Reply Quote 0
                                • M
                                  marcelloc
                                  last edited by Jun 10, 2017, 6:54 PM

                                  Está usando a última versão do pacote?

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

                                  Help a community developer! ;D

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    guitarcleiton
                                    last edited by Jun 12, 2017, 11:09 AM

                                    @leo_pfsense:

                                    Beleza jamers!

                                    Pessoal, estou com uma questão com o seguinte cenário:

                                    • Wan
                                    • LanA: 192.168.28.1/22
                                    • LANB: 192.168.50.1/24

                                    Configurei o wpad para ser disponibilizado através da LanB (192.168.50.1). Tudo certo, funcional para as duas interfaces LAN. Porém, após o primeiro host da LanA estar conectado ao pfSense, surge no pfSense mensagens de erro (anexo).

                                    Tal situação não ocorre se apenas hosts da LanB forem conectados ao firewall. Mesmo surgindo as mensagens de erro o wpad funciona para a LanA, mas gostaria de saber o que está acontecendo.

                                    Desde já agradeço o apoio!

                                    Eu estava com esse mesmo problema, existe um conflito na porta 80, não sei se é funcional ou foi conhecidencia, mas eu fiz o seguinte:
                                    no pacote Wpad desativei o serviço.
                                    reboot no firewall
                                    novamente no pacote ative o serviço.

                                    estou tentando chegar a uma conclusão e solução, mas aqui os conflitos cessaram mas ainda estou com problema da 2º instância não interpretar o PHP.

                                    Analista de Sistemas
                                    Bacharel em Sistemas de Informação

                                    https://cleiton.tech.blog/

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      marcelloc
                                      last edited by Jun 12, 2017, 11:51 AM

                                      O meu wpad interpreta php normalmente. Não está confundindo a saída do sgerror sem parâmetros? Ele realmente parece que esta estático mas não é.

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

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        brunok
                                        last edited by Jun 12, 2017, 6:48 PM Jun 12, 2017, 2:02 PM

                                        Para quem estiver com os seguintes problemas:

                                        Baixa o sgerror.php ao invés de interpretar a página;

                                        OU

                                        Erros no log, indicando conflito na porta 80;

                                        Troquem o conteúdo do arquivo /usr/local/etc/nginx/nginx_wpad.conf* por este abaixo.

                                        
                                        # nginx configuration file
                                        worker_processes  10;
                                        pid     /var/run/nginx_wpad0.pid;
                                        
                                        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.0.1;
                                                        server_name wpad.localdomain
                                                        server name 127.0.0.1
                                                        client_max_body_size 200m;
                                        
                                                        root "/usr/local/www/wpad0/";
                                        
                                                        location ~ \.php$ {
                                        
                                                                try_files $uri =404;
                                                                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;
                                        
                                                        }
                                        
                                                }
                                        
                                        }
                                        

                                        *** Não se esqueçam de alterar o IP LAN e o DOMINIO.

                                        ** Reiniciar o server

                                        *** Testar**

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          leo_pfsense
                                          last edited by Jun 12, 2017, 2:24 PM

                                          Bom dia pessoal!

                                          • marcelloc, a versão que utilizei foi baixada a uns 20 dias pelo menos, não sei se é a última, então vou configurar um ambiente novo para testar;

                                          • Caso continue dando erro, vou seguir a orientação do guitarcleiton;

                                          • Caso continue dando erro vou seguir a orientação do brunok.

                                          Agradeço o apoio de vocês, nos próximos dias posto o resultado.

                                          1 Reply Last reply Reply Quote 0
                                          114 out of 182
                                          • First post
                                            114/182
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received