• 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 58.2k 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 1, 2017, 11:44 PM

    @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 Jun 2, 2017, 11:05 AM

      @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
      • M
        marcelloc
        last edited by Jun 2, 2017, 11:23 AM

        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 Jun 2, 2017, 11:41 AM

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

            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
            • M
              marcelloc
              last edited by Jun 3, 2017, 8:18 PM

              @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 Jun 5, 2017, 11:06 AM

                @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 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
                                          107 out of 182
                                          • First post
                                            107/182
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received