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

    Registrar os acessos negados do squidguard no log do squid/sarg

    Scheduled Pinned Locked Moved Portuguese
    24 Posts 13 Posters 12.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.
    • D Offline
      didonsom
      last edited by

      Olá Marcelloc

      Muito Bom!!! parabéns!!! valeu!!!!!!

      fiz a implementação aqui.. e fiquei com 2 duvidas:

      1º duvida…

      no item:

      Para ambientes com autenticação:
      A regra de denied precisa ser incluída após a declaração da acl de autenticação

      
      acl sglog url_regex -i .*sgrd=ACCESSDENIED
      http_access deny password sglog
      
      

      onde coloco esse código? no próprio custom options? substituo o 1º código que vc informou ou coloco na blacklist do squid3?

      aqui está funcionando perfeitamente, exibe uma tela de denied access ( no local onde mostra o redirector) e criou uma nova aba com o ip da maquina ( aonde fica o usuário bloqueado) só q não está resolvendo o usuário q bloqueou.. provavelmente pq coloquei esse código ai em cima no local errados.. rs

      2º duvida,

      os sites com https, não exibem a tela de bloqueio( sgerror.php) e consequentemente não retornam os bloqueios no denied…
      como resolvo isso? vi no  fórum um post sobre vhosts, mas não consegui implementar.. tem alguma dica?

      abraços

      diego

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

        @didonsom:

        onde coloco esse código? no próprio custom options? substituo o 1º código que vc informou ou coloco na blacklist do squid3?

        Não, esta alteração precisa ser feita no squid.inc. Mas só recomento para quem conhece php.

        @didonsom:

        os sites com https, não exibem a tela de bloqueio( sgerror.php) e consequentemente não retornam os bloqueios no denied…
        como resolvo isso? vi no  fórum um post sobre vhosts, mas não consegui implementar.. tem alguma dica?

        Provavelmente só com interceptação de ssl que vai sair na próxima release do pacote.

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

        Help a community developer! ;D

        1 Reply Last reply Reply Quote 0
        • G Offline
          gilmarcabral
          last edited by

          Galera o meu aqui finalmente funcionou.
          Para funcionar só precisei fazer a modificação no arquivo.
          /usr/local/www/sgerror.php incluindo a linha abaixo apos a linha 232 este código entre o $str[] = ""; e $str[] = "";
          $sge_prefix=(preg_match("/?/",$cl['u'])?"&":"?");
          $str[] = '<iframe src="'.$cl['u'].$sge_prefix.'sgrd=ACCESSDENIED" width="1" height="1"></iframe>';

          Funcionou perfeitamente.
          Estava tentando adicionar ACL e tambem configurando o squid.inc mas se eu fizer isso simplesmente o log não fica como danied do squid.
          Se configurar tanto o sgerror.php como o squid.inc o log fica do squid fica como danied porem o sarg não gera com o danied na frente.
          Então deixei apenas o sgerrro.php conforme o Marcello informou e funfou de boa.
          Marcello novamente muito obrigado pela solução apresentada para o SARG apresentar o acesso negado pois isso facilita muito para os gestores da empresa analisar o acesso ao conteúdo.

          Bom não funcionou assim perfeitamente.
          Funcionou mas o SARG simplesmente parou de mostrar o DANIED gerado pelo squidguard.
          Interessante que o log ta certinho

          1 Reply Last reply Reply Quote 0
          • D Offline
            didonsom
            last edited by

            Olá Pessoal,

            Funcionou perfeitamente aqui está gerando o relatório de Denied conforme o esperado! Por usuário.

            Para ajudar quem estiver com dificuldade, abaixo o procedimento que realizei.

            Utilizo o Squid 3 com autenticação Ldap.

            estou disponibilizando 2 arquivos.

            1 - Sgerror.php

            o meu sgerror.php é personalizado ( personalizei com um post do próprio fórum, méritos para o autor do modelo).
            fica na pasta /usr/local/www/

            como ele é personalizado a inclusão do código na sgerror.php, ficou depois da linha 248 que é o local onde está os campos

            
            $str[] = "";
            $str[] = ""; 
            
            

            2 - arquivo Squid.inc com a alteração depois da linha 1371, essa alteração é para quem tem autenticação.
            o arquivo fica em /usr/local/pkg/

            inclusão das linhas

            
            acl sglog url_regex -i .*sgrd=ACCESSDENIED
            http_access deny password sglog
            
            

            Abraços

            Diego

            squid.txt
            sgerror.txt

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

              @didonsom:

              código squid.inc

              Anexa o arquivo com extensão .txt, seu post não ficou completo.

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

              Help a community developer! ;D

              1 Reply Last reply Reply Quote 0
              • D Offline
                didonsom
                last edited by

                Opa Marcello,

                Nem tinha percebido que o post não estava completo.. valeu pela dica..

                Post corrigido..

                Abraços,

                Diego

                1 Reply Last reply Reply Quote 0
                • P Offline
                  ploquets
                  last edited by

                  Obrigadão Marcelo, por sua dica!!

                  Eu não entendo muito de HTML/PHP e por isso, quando eu vi seu post, sai fazendo tudo que dizia até que notei que não funcinou…
                  Ai fui colocar a cabeça pra pensar pra ver qual era a lógica do negócio até meio que entender o que eu teria que fazer e entender o motivo de não estar funcionando.

                  Foi então que eu percebi que o meu problema é que eu não uso um "int error page" e sim um "ext url error page" redirecionando para um arquivo .html

                  No caso, eu assumo que eu deveria colocar o

                  <iframe src="'.$cl['u'].$sge_prefix.'sgrd=ACCESSDENIED" width="1" height="1"></iframe>
                  

                  dentro dessa minha pagina externa…

                  mas eu não sei como fazer referente a linha

                  $sge_prefix=(preg_match("/\?/",$cl['u'])?"&":"?")
                  

                  Acredito que só funcione com PHP por ser uma variável… não sei.
                  Pergunto isso porque tenho várias páginas de erro em HTML dependendo do conteúdo.... e por isso, se eu fizer via sgerror.php, ele só vai funcionar com ela e as minhas outras páginas de erro passariam a ser todas a mesma que fica dentro do sgerror.php

                  Tem como me dá uma mão?
                  Obrigado!

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

                    @ploquets:

                    Acredito que só funcione com PHP por ser uma variável… não sei.

                    Sim. este trecho do código verifica se a url tem ou não parâmetros.

                    Se tiver o php instalado no servidor, acredito que um resolva a questão.

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

                    Help a community developer! ;D

                    1 Reply Last reply Reply Quote 0
                    • P Offline
                      plague70
                      last edited by

                      muito bom apliquei aqui nos meus servidores esta funcionando tudo.

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        Michels
                        last edited by

                        Olá Marcello,

                        Já existe alguma solução definitiva para essa situação (algum release que tenha isso corrigido) ?

                        Obrigado!

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

                          Já está no squid3-dev desde a primeira versão…

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

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • M Offline
                            marcosasjr
                            last edited by

                            Bom dia pessoal,

                            Gostaria se possivel de uma ajuda, instalei o PFsense 2.2 com squid 2.7(autenticado) e squidguard e ambos estão funcionando 100%, mas me deparei na mesma necessidade do Marcelo, segui as dicas mas não obtive sucesso, seguindo a dica para o squid 2.7(autenticado) no log access.log do squid não aparece DENIED, apenas MISS, entao fui testar a dica para squid2.7 sem ser autenticado e nesse passou a aparecer o bloqueio realizado pelo squidguard, porem não informa o usuario logado, apenas o IP.

                            no teste com a dica do squid 2.7 sem autenticação apenas coloquei no custom:acl sglog url_regex -i .*sgrd=ACCESSDENIED;http_access deny sglog; funcionou mas não parace o usuario bloqueado, apenas IP.

                            no teste com a dica do squid2.7 com autenticação coloquei no custom:"acl sglog url_regex -i .sgrd=ACCESSDENIED" e no squid.inc adicionei na linha 1104:
                                    $conf .= "# Default block all to be sure\n";
                            **    $conf .= "http_access deny password sglog\n";
                            *
                                    $conf .= "http_access deny all\n";
                            Assim como mencionado no post, o deny ficou apos a ACL de autenticação no squid.conf, mas não aparece o bloqueio do squidguard no access.log do squid.

                            Fiz algo errado?

                            Abraço

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              tomaswaldow
                              last edited by

                              Já que está na 2.2 melhor ir para o Squid3 que já tem isso integrado e também porque a versão 2 do Squid não é mais suportada pelo FreeBSD 10, então em algum momento ela não vai mais estar disponível para o pfSense 2.2.

                              Tomas @ 2W Consultoria

                              1 Reply Last reply Reply Quote 0
                              • M Offline
                                marcosasjr
                                last edited by

                                Bom dia Tomas, instalei o 2.7 pois vi que era o stable nos pacotes, mas pesquisando aqui vi tb q o squid3 usa a ultima versao stable, apenas a interface é beta.

                                Irei realizar teste com o squid3.

                                Abraço

                                1 Reply Last reply Reply Quote 0
                                • T Offline
                                  tomaswaldow
                                  last edited by

                                  @marcosasjr:

                                  Bom dia Tomas, instalei o 2.7 pois vi que era o stable nos pacotes, mas pesquisando aqui vi tb q o squid3 usa a ultima versao stable, apenas a interface é beta.

                                  Irei realizar teste com o squid3.

                                  Abraço

                                  Certo, mas a interface não é beta, já funciona a muito tempo. Na versão 2.1.5 era chamado de Squid3-dev;

                                  Teste e poste o resultado.

                                  Tomas @ 2W Consultoria

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

                                    Use o pfsense 64 bits.

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

                                    Help a community developer! ;D

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      diego.brum
                                      last edited by

                                      Pessoal, fiz as configurações descritas pelo Marcelo no squid3, no campo Custom_ACLS (After_Auth). Também configurei o sgerror.html. Os LOGs do squid estão corretos e aparecem os sites bloqueados por usuário. Porém, ocorre que meu ambiente é autenticado e preciso que algumas redes não sejam autenticadas. Sei que existe um campo no squid (aba autenticação) onde eu coloco as redes que não serão autenticadas, mas isso deixa de funcionar quando eu coloco a configuração sugerida pelo Marcelo para o log squid. Alguém sabe como me ajudar a resolver isso?

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

                                        Estude as acls do squid, você pode definir quase tudo por lá e colar no campo custom_acls_before ou after, dependendo da sua necessidade.

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

                                        Help a community developer! ;D

                                        1 Reply Last reply Reply Quote 0
                                        • danilosv.03D Offline
                                          danilosv.03
                                          last edited by

                                          Galera,
                                          Temos essa configurações para a versão 2.3.2 64amd?


                                          :)
                                          |E-mail: danilosv.03@gmail.com
                                          |Skype: danilosv.03


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