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

      Como não são muitos usuários com esse acesso privilegiado, ficaria mais facil setar um IP para esse novo computador e adicioná-lo no Alias de liberação. Pode ser feito também com a integração do squid + squidguar com um AD/ldap. Ai tu faz a liberação por usuário.

      Qual seria a solução mais fácil? Minha cabeça não aguenta mais pensar e dar soluções diferentes pro cliente, hehe, toda hora a idéia de acesso dele muda… haha

      Terá acesso liberado. O que tu pode fazer é deixar somente a entrada no firewall de liberação para a porta do proxy.

      https://forum.pfsense.org/index.php?topic=118346.0

      Nesse link acima tem um tutorial bem completo e nas respostas do tópico tem algo relacionado as regras de firewall. Só dar uma lida.

      Vou dar uma lida sim, vamos ver se não é muito complexo pra mim! rsrs

      Squidguard > Common ACL > Target Categories, no final tem a opção "default" que por padrão vem em "Deny". Mude para "Allow" e trabalhe do principio de deixar tudo liberado e ir bloqueando conforme tua necessidade. Caso já esteja em "Allow" é alguma configuração errada que tu possui.

      Exatamente isso, alterei aqui, e vou testar.

      Até poderia, mas acredito que não seja o intuito do captiveportal.

      Acredito que seja algo relacionado a regra "Default" do Target Categories. Dá uma olhada nisso.

      Cheguei a ver a configuração, vou continuar mexendo, mas, de antemão, avisar que por senha, logando no captive portal, não será possível…. você comentou do AD/ldap, é complexa a configuração? Foge do que estou rodando por aqui?

      Notei que usando o Squid + Squid Guard, a conexão flui devagar, é motivado por alguma configuração errada?

      A princípio, muito obrigado pela ajuda até agora!

      Edit: Creio que com a configuração automática de Proxy, provida do Wpad, fiquei sem acesso ao captive portal, não aparece a tela de Login…

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

      Alguma coisa que eu possa alterar, para que ele faça somente a utilização do Proxy quando for Https?

      Na opção Dns Forwarder, coloquei além de criar o novo host, coloquei o gateway da rede, domínio e dns do servidor…

      Para o momento, é só o que falta...

      1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.