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

    Squid com autenticação integrada ao Captive Portal

    Scheduled Pinned Locked Moved Portuguese
    88 Posts 35 Posters 51.6k 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.
    • marcellocM
      marcelloc
      last edited by

      Seu arquivo ainda tem erros.

      Vamos facilitar as coisas.

      execute este comando na console/ssh

      fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php
      

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

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • ?
        Guest
        last edited by

        brigadão
        funcionou ok com os log do squid.

        teria alguma forma de no captive portal o usuario que autentica no freeradiun do pfsense ele ter a opão de auterar senha na pagina de autenticação?

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

          @calebepereira@hotmail.com:

          brigadão
          funcionou ok com os log do squid.

          teria alguma forma de no captive portal o usuario que autentica no freeradiun do pfsense ele ter a opão de auterar senha na pagina de autenticação?

          Só programando mesmo…

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

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • C
            calebepereira
            last edited by

            1. captive portal -  na pagina do login do captive portal ter opção de alterar senha e recuperar senha ( integrado com o freeradiun) lembrando que no cadastro do freeradiuns não temo campo de e-mail do usuário.

            2. proxy transparente squid3-dev com squidguard - gostaria de ao invés de bloquear os sites que estão no squidguard eu tenha uma opção de criar velocidades de download para cada regra,
              tres opções de regra onde eu possa incluir sites por nome para cair nestas regras, e um campo com a opção de criar as velocidade que eu quero.

            ex: pornografia - bloqueio
            radios online    - 200kb
            video onnline    - 100kb
            comunidade      - 300kb
            particularidade1 - 50kb
            particularidade2 - 500kb
            particularidade3 - 20 kb

            obs: isso funcionará para sites em https tambem

            1. sarg vai continuar mostrando relatórios por usuários logados no captiveportal, vai mostrar cada site com a opção bloqueado ou a velocidade daquele grupo, caso o site esteja em algum grupo.

            tem como fazer? e quanto ficaria cada um?
            1
            2
            3

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

              @calebepereira:

              Tem como fazer?

              1 sim. mas depende do onde está rodando o seu servidor freeradius.
              2 O squidguard não contempla isso  mas pode ser contornado trabalhando em conjunto com o squid. SSL somente com interceptação de SSL
              3 Sarg não é capaz de informar a velocidade do site, só se foi bloqueado ou não.

              @calebepereira:

              e quanto ficaria cada um?

              Não da para estipular um valor fixo uma vez que tudo depende da complexidade das alterações e o tempo gasto para isso. Podemos acertar um valor por hora de programação em private.

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

              Help a community developer! ;D

              1 Reply Last reply Reply Quote 0
              • M
                milton.fine.br
                last edited by

                Segui os procedimentos indicados mas os serviços do squid e squidguard permanecem com status stopped.
                Agradeço a ajuda.

                pfsense: 2.1-RELEASE (amd64)
                squid3: 3.1.20 pkg 2.0.6
                squidGuard: 1.4_4 pkg v.1.9.5

                Autenticação na interface LAN (squid e squidguard) integrada com Active Directory funciona corretamente
                Autenticação na interface OPT (captive portal) integrada com Radius Windows 2008 R2 funciona corretamente

                Captive Portal + Squid + Squidguard não consegui implementar.

                1. Proxy Server > Custom Options
                external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php
                acl dgfilter external check_filter
                http_access allow dgfilter

                2. Shell
                fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php

                3. Shell
                ls -l /usr/pbi/squid-amd64/libexec/squid/check_ip.php
                -rwxr-xr-x  1 root  wheel  2769 Sep 26 07:12 /usr/pbi/squid-amd64/libexec/squid/check_ip.php

                4. Shell
                /usr/pbi/squid-amd64/libexec/squid/check_ip.php
                Não retorna informação

                5. Status > System Logs > General
                Sep 26 07:33:03 squid: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php
                Sep 26 07:33:08 php[30152]: /status_services.php: The command '/usr/local/etc/rc.d/squid.sh stop' returned exit code '1', the output was 'FATAL: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php Squid Cache (Version 3.1.22): Terminated abnormally. CPU Usage: 0.006 seconds = 0.006 user + 0.000 sys Maximum Resident Size: 6072 KB Page faults with physical i/o: 0'
                Sep 26 07:33:10 squid: Bungled squid.conf line 85: external_acl_type check_filter children-startup=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php

                1 Reply Last reply Reply Quote 0
                • C
                  calebepereira
                  last edited by

                  eu falo com vc com:

                  só neste e-mail:forum@pfsense.org

                  entra em contato comigo no e-mail calebepereira@hotmail.com para que possamos conversar se for possível um tel eu fico grato.

                  1 Reply Last reply Reply Quote 0
                  • M
                    mendilli
                    last edited by

                    sorry ı have to use english

                    a small contribution to the external acl type scrirpt

                    ttl=60 means the code will not check the ip for 60 seconds, and will use the first username for that period even if the user loged out and a new one logged in, a value shorter like ttl=0 or ttl=1 would be more accurate I think

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

                      Thanks for your contribution on this topic  :)

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

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • M
                        mendilli
                        last edited by

                        one last thing:

                        when external_acl_type returns ERR, squid blocks the connection, so if you make some users bypass the captiveportal and connect directly to internet, squid external acl directive will not find a username and return an ERR message, this will block the client, so the last part of the check_ip.php should be like this

                        if ($usuario !="")
                                    $resposta="OK user={$usuario}";
                                else
                                    $resposta="OK user=bypasseduser";
                                fwrite (STDOUT, "{$resposta}\n");
                                unset($cp_db);

                        so in access log you will see "bypasseduser" in the field of username

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

                          Autenticação do captive portal authentication incluída no squid3-dev.
                          Não precisa mais configurar "custom options", basta selecionar captive portal na aba authentication

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

                          Help a community developer! ;D

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

                            Consegui fazer um SSO sem usar ntlm ou kerberos no squid. Vou amadurecer mais a idéia por aqui e qualquer dia deste publico para comunidade.

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

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • A
                              amaica
                              last edited by

                              @marcelloc:

                              @marcelloc:

                              Em breve começo os testes com o captive portal da 2.1

                              Acabei de subir o helper que integra a autenticação do captive portal com o squid.

                              A alteração na interface para o squid2 já está pronta mas vou deixar para publicar depois

                              Por enquanto:
                              No squid3,  basta selecionar captive portal na aba authentication

                              No squid2, inclua estas configurações no campo custom options

                              
                              external_acl_type check_filter children=5 ttl=60 %SRC /usr/pbi/squid-amd64/libexec/squid/check_ip.php;acl dgfilter external check_filter;http_access allow dgfilter;
                              
                              

                              E baixe este arquivo

                              fetch -o /usr/pbi/squid-amd64/libexec/squid/check_ip.php https://raw.github.com/pfsense/pfsense-packages/master/config/squid3/33/check_ip.php
                              

                              Ola Marcelloc, eu tenho instalado o squid3 mas não aparece a opção captive na aba Authentication.

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

                                @amaica:

                                Ola Marcelloc, eu tenho instalado o squid3 mas não aparece a opção captive na aba Authentication.

                                Squid3-dev

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

                                Help a community developer! ;D

                                1 Reply Last reply Reply Quote 0
                                • N
                                  naarea
                                  last edited by

                                  Estou tentando fazer essa autenticação funcionar e to tomando um coro rs.

                                  o Squid insiste em dizer que "unexpect read from check_filter 4 bytes ERR"

                                  Ja conferi o PHP e ele ta certinho. Acha a base normal.

                                  Rodando ele na mao, quando jogo o IP ele retorna o user ou ERR.

                                  Mas o squid insiste em não aceitar o STDOUT.

                                  Alguem pode me dar um help?

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

                                    Na última versão do pacote, não precisa criar as acls na mão.

                                    Como está sua configuração?

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

                                    Help a community developer! ;D

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      naarea
                                      last edited by

                                      Fiz tudo automatico direto na ultima versão :)

                                      Por isso ta tudo certinho, mas o problema esta apresentando no LOG.

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

                                        Seu pfsense é 2.0 ou 2.1?

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

                                        Help a community developer! ;D

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          naarea
                                          last edited by

                                          2.1 recem instalado e fazendo testes.

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

                                            No log do squid não aparece nenhuma linha de log com usuário?

                                            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.