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

    Captive portal e Wpad/Dat no Pfsense 2.3.4

    Scheduled Pinned Locked Moved Portuguese
    29 Posts 3 Posters 4.7k 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.
    • H
      Helpfast
      last edited by

      Cadê os amigos do fórum? Hehehe

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

        Essa é fácil de achar no Google.

        Veja as variáveis de teste em um wpad nos exemplos deste site
        https://auth0.com/blog/heads-up-https-is-not-enough-when-using-wpad/

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

        Help a community developer! ;D

        1 Reply Last reply Reply Quote 0
        • H
          Helpfast
          last edited by

          @marcelloc:

          Essa é fácil de achar no Google.

          Veja as variáveis de teste em um wpad nos exemplos deste site
          https://auth0.com/blog/heads-up-https-is-not-enough-when-using-wpad/

          Já devo ter lido quase todos os tópicos do Google, hahahaha

          Alguns eu vi, mas eram bem complicados para o meu conhecimento restrito, haha

          Vou tentar, posso pedir ajuda qualquer coisa?

          Grato

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

            // If the protocol or URL matches, send direct.
                if (url.substring(0, 5)=="https:" ||
                    shExpMatch(url, "http://abcdomain.com/folder/*"))
                    return "DIRECT";
            
            

            Exemplo de código wpad

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

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • H
              Helpfast
              last edited by

              @marcelloc:

              // If the protocol or URL matches, send direct.
                  if (url.substring(0, 5)=="https:" ||
                      shExpMatch(url, "http://abcdomain.com/folder/*"))
                      return "DIRECT";
              
              

              Exemplo de código wpad

              Certo, me desculpe tantas perguntas que para seu nível, são simples, mas realmente sou novo nessa história! Rsrs

              Eu postei exatamente o meu wpad, quais alterações baseados neste exemplo que você postou, eu devo fazer?

              E, em relação a segurança, caso a pessoa retire a configuração de Proxy, existe uma forma de ainda bloquear o Facebook e demais https listados na blacklist?

              No aguardo!

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

                Helpfast,

                Se não conseguiu identificar onde encaixar o código que postei no seu wpad, pode significar que você não está sabendo exatamente o que fazer nem como configurar um script. Sugiro a você buscar um treinamento para melhorar suas habilidades com firewall.
                Na parte de cima do fórum tem bastante tutorial, no youtube também e na minha assinatura, um link para treinamento no pfSense.

                @Helpfast:

                Este é o meu wpad.dat:

                function FindProxyForURL(url, host){
                var host_ip;
                //Exceção por rede de destino
                host_ip= dnsResolve(host);
                if (isInNet(host_ip, “127.0.0.1”, “255.255.255.255”))
                return “DIRECT”;
                if (isInNet(host_ip, “10.10.0.0”, “255.255.255.0”))
                return “DIRECT”;
                if (localHostOrDomainIs(host, “.listenx.lan”))
                return “DIRECT”;
                else
                return “PROXY 10.10.0.1:3128”;
                }
                

                olha o padrão da sintaxe:

                
                // If the protocol or URL matches, send direct.
                    if (url.substring(0, 5)=="https:" ||
                        shExpMatch(url, "http://abcdomain.com/folder/*"))
                        return "DIRECT";
                
                

                se o que quer é usar proxy somente para ssl com proxy marcado, por mais esquisito que isso possa parecer, o seu arquivo ficaria assim:

                
                function FindProxyForURL(url, host){
                var host_ip;
                /
                /Exceção por rede de destino
                host_ip= dnsResolve(host);
                
                if (isInNet(host_ip, "127.0.0.1", "255.255.255.255"))
                return "DIRECT";
                if (isInNet(host_ip, "10.10.0.0","255.255.255.0"))
                return "DIRECT";
                if (localHostOrDomainIs(host, ".listenx.lan"))
                return "DIRECT";
                
                if (url.substring(0, 6)=="https:")
                   return "PROXY 10.10.0.1:3128";
                else
                   return "DIRECT";
                
                }
                
                

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

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • H
                  Helpfast
                  last edited by

                  @marcelloc:

                  Helpfast,

                  Se não conseguiu identificar onde encaixar o código que postei no seu wpad, pode significar que você não está sabendo exatamente o que fazer nem como configurar um script. Sugiro a você buscar um treinamento para melhorar suas habilidades com firewall.
                  Na parte de cima do fórum tem bastante tutorial, no youtube também e na minha assinatura, um link para treinamento no pfSense.

                  @Helpfast:

                  Este é o meu wpad.dat:

                  function FindProxyForURL(url, host){
                  var host_ip;
                  //Exceção por rede de destino
                  host_ip= dnsResolve(host);
                  if (isInNet(host_ip, “127.0.0.1”, “255.255.255.255”))
                  return “DIRECT”;
                  if (isInNet(host_ip, “10.10.0.0”, “255.255.255.0”))
                  return “DIRECT”;
                  if (localHostOrDomainIs(host, “.listenx.lan”))
                  return “DIRECT”;
                  else
                  return “PROXY 10.10.0.1:3128”;
                  }
                  

                  olha o padrão da sintaxe:

                  
                  // If the protocol or URL matches, send direct.
                      if (url.substring(0, 5)=="https:" ||
                          shExpMatch(url, "http://abcdomain.com/folder/*"))
                          return "DIRECT";
                  
                  

                  se o que quer é usar proxy somente para ssl com proxy marcado, por mais esquisito que isso possa parecer, o seu arquivo ficaria assim:

                  
                  function FindProxyForURL(url, host){
                  var host_ip;
                  /
                  /Exceção por rede de destino
                  host_ip= dnsResolve(host);
                  
                  if (isInNet(host_ip, "127.0.0.1", "255.255.255.255"))
                  return "DIRECT";
                  if (isInNet(host_ip, "10.10.0.0","255.255.255.0"))
                  return "DIRECT";
                  if (localHostOrDomainIs(host, ".listenx.lan"))
                  return "DIRECT";
                  
                  if (url.substring(0, 6)=="https:")
                     return "PROXY 10.10.0.1:3128";
                  else
                     return "DIRECT";
                  
                  }
                  
                  

                  Desculpe a falta de conhecimento, e sim, irei procurar tutoriais para ler e aprender, sempre.

                  A minha intenção, era somente ter o captive portal de volta, usando da forma que está, com wpad.

                  Li em outro lugar, que fazendo isso, iria funcionar, mas, vejo estar enganado…

                  Poderia me responder sobre isso?

                  Un abraço, e obrigado até agora.

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

                    Tenta o modo transparente com o modo splice all habilitado na interceptação de ssl e veja se o resultado é o que precisa.

                    dispositivos móveis (celulares e tablets) ignoram a configuração automática e precisam ser configurados um a um para utilização de proxy no wifi.

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

                    Help a community developer! ;D

                    1 Reply Last reply Reply Quote 0
                    • H
                      Helpfast
                      last edited by

                      @marcelloc:

                      Tenta o modo transparente com o modo splice all habilitado na interceptação de ssl e veja se o resultado é o que precisa.

                      dispositivos móveis (celulares e tablets) ignoram a configuração automática e precisam ser configurados um a um para utilização de proxy no wifi.

                      As configurações estão desta forma…

                      https://image.ibb.co/bJbbt5/squid_ssl_pfsense.png

                      https://image.ibb.co/cp0KD5/SSL_Interception_pfsense.png

                      Apaguei as configurações do captive portal e criei novamente, mesmo assim, não passa por ele....

                      As máquinas recebem normalmente as configurações de proxy, mas, o cliente quer o captive portal...

                      O que pode estar faltando?

                      Obrigado até agora!

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

                        você está precisando aplicar um patch que o pacote tinha mas foi removido.

                        veja o que precisa ser alterado nesse link

                        https://redmine.pfsense.org/issues/5594

                        muito cuidado ao editar arquivos do sistema operacional.

                        patch_captive_portal.PNG
                        patch_captive_portal.PNG_thumb

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

                        Help a community developer! ;D

                        1 Reply Last reply Reply Quote 0
                        • H
                          Helpfast
                          last edited by

                          @marcelloc:

                          você está precisando aplicar um patch que o pacote tinha mas foi removido.

                          veja o que precisa ser alterado nesse link

                          https://redmine.pfsense.org/issues/5594

                          muito cuidado ao editar arquivos do sistema operacional.

                          Obrigado, irei ver aqui…

                          De qualquer forma, fazendo um backup, se der algo errado, formato e busco tudo via backup, certo?

                          Um abraço

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

                            @Helpfast:

                            De qualquer forma, fazendo um backup, se der algo errado, formato e busco tudo via backup, certo?

                            é só um arquivo. você pode fazer o backup localmente mesmo…

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

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • H
                              Helpfast
                              last edited by

                              @marcelloc:

                              @Helpfast:

                              De qualquer forma, fazendo um backup, se der algo errado, formato e busco tudo via backup, certo?

                              é só um arquivo. você pode fazer o backup localmente mesmo…

                              Tranquilo…

                              Eu até olhei, tentei entender, mas não adianta, como é algo novo pra mim, não vou arriscar a escrever esse patch...

                              Marcelo, obrigado pela ajuda, acho que irei retirar o wpad e mandar os bloqueios somente em HTTP mesmo, ai o captive portal funciona... posso até procurar um outro meio de fechar https de outra forma que o captive funcione, mas....

                              Eu pego as coisas, vou lendo e mexendo e faço dar certo, mas, como foge da minha área de trabalho, é complicado dominar técnicas ou ter o "feeling" da coisa, pra fazer dar certo...

                              A imagem do patch, que está anexado no tópico, é exatamente o necessário pra rodar aqui?

                              Consigo os códigos, ou são privados?

                              Grato!

                              1 Reply Last reply Reply Quote 0
                              • H
                                Helpfast
                                last edited by

                                Opa Marcelo, bom dia!

                                Só vim para avisar, que contratamos um serviço de Hotspot, Tanaza, para o cliente, assim, pularemos o Captive portal.

                                Existe uma outra maneira, de bloquear uns 5 sites específicos HTTPS, fora ao uso do WPAD?

                                Obrigado!

                                1 Reply Last reply Reply Quote 0
                                • empbillyE
                                  empbilly
                                  last edited by

                                  @Helpfast:

                                  Opa Marcelo, bom dia!

                                  Só vim para avisar, que contratamos um serviço de Hotspot, Tanaza, para o cliente, assim, pularemos o Captive portal.

                                  Existe uma outra maneira, de bloquear uns 5 sites específicos HTTPS, fora ao uso do WPAD?

                                  Obrigado!

                                  Squid + squidguard e interceptação ssl no modo Splice ALL. Dessa forma tu não precisa setar proxy e nem instalar certificado nas máquinas dos clientes. Aqui no fórum tem vários tópicos sobre o assunto.

                                  https://eliasmoraispereira.wordpress.com/

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Helpfast
                                    last edited by

                                    @empbilly:

                                    @Helpfast:

                                    Opa Marcelo, bom dia!

                                    Só vim para avisar, que contratamos um serviço de Hotspot, Tanaza, para o cliente, assim, pularemos o Captive portal.

                                    Existe uma outra maneira, de bloquear uns 5 sites específicos HTTPS, fora ao uso do WPAD?

                                    Obrigado!

                                    Squid + squidguard e interceptação ssl no modo Splice ALL. Dessa forma tu não precisa setar proxy e nem instalar certificado nas máquinas dos clientes. Aqui no fórum tem vários tópicos sobre o assunto.

                                    Desculpe a pergunta, mas como eu configuro a interceptação ssl? O modo Splice All já está setado, creio que eu precise ativar a opção do Ssl filtering, pra que isso funcione, certo?

                                    Após, desativo o dns forwarder e apago o wpad?

                                    Obrigado pela ajuda!

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

                                      @Helpfast:

                                      Desculpe a pergunta, mas como eu configuro a interceptação ssl? O modo Splice All já está setado, creio que eu precise ativar a opção do Ssl filtering, pra que isso funcione, certo?

                                      Após, desativo o dns forwarder e apago o wpad?

                                      Obrigado pela ajuda!

                                      Ative a opção ssl filtering. Não precisa desativar o dns forwarder ou dns resolver e apagar ou não o wpad, fica a seu critério.

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

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Helpfast
                                        last edited by

                                        @marcelloc:

                                        @Helpfast:

                                        Desculpe a pergunta, mas como eu configuro a interceptação ssl? O modo Splice All já está setado, creio que eu precise ativar a opção do Ssl filtering, pra que isso funcione, certo?

                                        Após, desativo o dns forwarder e apago o wpad?

                                        Obrigado pela ajuda!

                                        Ative a opção ssl filtering. Não precisa desativar o dns forwarder ou dns resolver e apagar ou não o wpad, fica a seu critério.

                                        Ativei, criei um certificado interno no servidor, ao meu ver, essa criação não precisa seguir um padrão, e sim, somente configurar as telas, certo?

                                        O que acontece, mesmo assim, já havia testado, o captive portal não aparece…

                                        Digamos, sem a distribuição do wpad com as informações do Proxy, deveria funcionar o captive portal, não?

                                        Obrigado a todos, no aguardo!

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

                                          A interceptação de ssl não tem relação com o captive portal.

                                          Configure um site http no navegador para ser a página inicial e coloque ele no bypass do squid em modo transparente. Dessa forma ao abrir o navegador, você vai cair no captive.

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

                                          Help a community developer! ;D

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Helpfast
                                            last edited by

                                            @marcelloc:

                                            A interceptação de ssl não tem relação com o captive portal.

                                            Configure um site http no navegador para ser a página inicial e coloque ele no bypass do squid em modo transparente. Dessa forma ao abrir o navegador, você vai cair no captive.

                                            Putz, muito obrigado!!!

                                            Por que então, após eu ter feito a configuração do wpad, perdi o acesso ao captive portal?

                                            Eu estava tendo acesso normal, porém, ao usar o Proxy automático, parou…

                                            Pode me responder?

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