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 49.5k 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

      @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
                                        • N
                                          naarea
                                          last edited by

                                          Nada, apenas esses erros falando do helper.

                                          Já tentei baixar o check_ip.php de novo e trocar, tentei tirar o \n do ERR, colocar, fazer um TRIM e nada. Ele acha algum problema.

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

                                            este erro aparece no access.log ou no cache.log?

                                            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.