Problema de DENIED no log do SQUID.



  • Pessoal,

    estou enfrentando um problema com Squid + SquidGuard + Relatório do Squid com Sarg.

    Os sites barrados nas ACLs do SquidGuard estão funcionando sem problemas, porem no log do Squid registra como TCP_MISS os sites bloqueados devido ao redirect para o SquidGuard, e não registra o TCP_DENIED no log do sarg com os usuarios e afins.

    Isso ja foi tratado e comentado exatamente esse problema pelo marcellocoutinho no topico a respeito disso: https://forum.pfsense.org/index.php?topic=61795.0

    Porem não esta dando certo dessa forma, ja marquei a opção no Squid, adicionei os campos necessários e no local correto no sgerror.php, mesmo assim no Squid ele mostra como TCP_MISS, e devido a isso os programas de relatório como o SARG não geram no DENIED no site acessado.

    Não sei dizer se o motivo disso é eu estar usando a autenticação ntlm "transparente" com os usuarios do AD e talvez precise colocar algum campo a mais ou o codigo em um local diferente dentro do sgerror.php ou no proprio squid.inc.

    Alguém saberia me dizer ou possui esse ambiente funcionando (Squid + SquidGuard + Samba (Auth ntlm) + Sarg ou qualquer outro programa de relatório) para me orientar??

    Obrigado.



  • Uma coisa que notei no realtime do Squid é que o link não esta trazendo o "sgr=ACCESSDENIED" no final da URL.

    14.06.2016 18:28:41 10.94.137.13 TCP_MISS/403 http://facebook.com.br/10.94.137.13/leonardoGET?

    Visualizando o codigo da pagina o iframe foi gerado certinho.
    Creio que o problema seja na ACL do Squid, porem não sei onde posso verificar ela =/



  • @leoescarpellin:

    Uma coisa que notei no realtime do Squid é que o link não esta trazendo o "sgr=ACCESSDENIED" no final da URL.

    14.06.2016 18:28:41 10.94.137.13 TCP_MISS/403 http://facebook.com.br/10.94.137.13/leonardoGET?

    Visualizando o codigo da pagina o iframe foi gerado certinho.
    Creio que o problema seja na ACL do Squid, porem não sei onde posso verificar ela =/

    Amigo,

    para funcionar os bloqueios, eu sempre preciso implementar manualmente uma instrução no arquivo squid.inc que fica em  /usr/local/pkg/

    Tenta realizar o procedimento e veja se funciona.

    Logo abaixo desse código, próximo da linha 1371

    
    auth_param basic children $processes
    auth_param basic realm $prompt
    auth_param basic credentialsttl $auth_ttl minutes
    acl password proxy_auth REQUIRED
    
    

    adicione esse:

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

    feito isso, o sarg vai marcar os Denied, eu tinha comentando com o Marcello a um tempo atrás (muito tempo) sobre a flag de "Access Denied" não funcionar ao marcar ela no squid, acho q não foi corrigido.

    Abraços,

    Diego



  • Vou testa amanhã logo cedo Diego…

    Dessa forma diretamente no squid.inc vc precisa habilitar aquela opção na aba general do squid ou não??

    Outra coisa, que tipo de autenticação você utiliza? será que o tipo de autenticação interfere em qual linha exatamente eu tenho que colocar o código?

    Obrigado desde ja pela dica.



  • @leoescarpellin:

    Vou testa amanhã logo cedo Diego…

    Dessa forma diretamente no squid.inc vc precisa habilitar aquela opção na aba general do squid ou não??

    Outra coisa, que tipo de autenticação você utiliza? será que o tipo de autenticação interfere em qual linha exatamente eu tenho que colocar o código?

    Obrigado desde ja pela dica.

    Então, eu já deixei marcado, desmarcado, mas nunca funcionou aquela opção no squid.

    Em relação a autenticação, hoje eu utilizo NTLM, mas já usei a autenticação LDAP e funcionou de boa.. mas acredito que a autenticação vá influenciar na questão do relatório pq o que realmente vai fazer o  "DENIED" é a sgerror.php, você já editou ela e adicionou o código que o Marcelo disponibilizou para ela?

    se você não adicionar o código abaixo na linha 232 da Sgerror.php a implementação não vai funcionar.. tem que adicionar

    Abaixo o trecho que o Marcello fala dessa implementação no post anterior..

    Edite o arquivo sgerror.php que fica em /usr/local/www incluia 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>';
    
    

    Abraços,

    Diego



  • Diego tentei porem mesmo assim não deu certo… de uma olhada em como esta as configs em anexo.

    E tambem como esta registrando no meu squid... aparece o registro como TCP_MISS ainda. só aparece certo no log do squidguard.

    Alguma ideia?

    ![Squid logs.jpg](/public/imported_attachments/1/Squid logs.jpg)
    ![Squid logs.jpg_thumb](/public/imported_attachments/1/Squid logs.jpg_thumb)





  • @leoescarpellin:

    Diego tentei porem mesmo assim não deu certo… de uma olhada em como esta as configs em anexo.

    E tambem como esta registrando no meu squid... aparece o registro como TCP_MISS ainda. só aparece certo no log do squidguard.

    Alguma ideia?

    Você tirou o relatório do Sarg? e viu se ele criou aba "Denied" e apresentou o site com "Denied" do lado no relatório?
    Pelo que sei, quando você usa o squidguard é ele que trata os bloqueios e não mais o squid…

    já a parte do "TCP MISS" pelo que sei, significa que a pagina foi para o cache, ou algumas paginas podem ter headers que indicam que ela não deve ser cacheada, você quer que ele relacione isso?

    Esse patch do Marcello, vai relacionar somente quando o usuário digitar no endereço do navegador (exemplo www.facebook.com.br) ai será exibida a Sgerror.php e ela que vai direcionar para o log "denied" do sarg, em virtude do código que adicionamos.

    Abraços,

    Diego



  • Zerei o Sarg e rodei o relatório novamente, porem mesmo assim não da certo, não aparece os denied.
    mesmo testando o acesso como "www.facebook.com.br" por exemplo.

    Eu creio que o sarg só relaciona como DENIED, o que é salvo no relatório do Squid como TCP_DENIED, por isso enquanto ele estiver me retornando um TCP_MISS isso não vai acontecer…

    Tem como você testar no seu e ver como que ele mostrar no Squid o site bloqueado (se é TCP_MISS igual o meu ou se esta como TCP_DENIED)  e ver se fica como denied no sarg em seguida?



  • @leoescarpellin:

    Zerei o Sarg e rodei o relatório novamente, porem mesmo assim não da certo, não aparece os denied.
    mesmo testando o acesso como "www.facebook.com.br" por exemplo.

    Eu creio que o sarg só relaciona como DENIED, o que é salvo no relatório do Squid como TCP_DENIED, por isso enquanto ele estiver me retornando um TCP_MISS isso não vai acontecer…

    Tem como você testar no seu e ver como que ele mostrar no Squid o site bloqueado (se é TCP_MISS igual o meu ou se esta como TCP_DENIED)  e ver se fica como denied no sarg em seguida?

    Segue print, se não está aparecendo deve ter algo errado na config..

    Detalhe…" sites https, não exibem a sgerror.php por esse fato não aparecem no relatório a menos que você habilite a interceptação ssl ou suba uma nova instancia do lightsquid, já vi relatos no fórum sobre isso mas nunca testei"

    abraços,

    Diego

    ![Sem título.png](/public/imported_attachments/1/Sem título.png)
    ![Sem título.png_thumb](/public/imported_attachments/1/Sem título.png_thumb)



  • Sim a questão do HTTPS eu sei…
    Analisei toda a config novamente e mesmo assim não achei erro. no print meu acima pode ver que era um site http.

    Acho que tem a ver com a autenticação ntlm "transparente" com o samba... devo precisar colocar o código em outro local.

    De qualquer forma obrigado pela ajuda... vou tentando aqui, caso eu ache alguma coisa eu posto aqui. quem sabe aparece mais alguem aqui no post que tenha alguma outra dica!



  • @leoescarpellin:

    Sim a questão do HTTPS eu sei…
    Analisei toda a config novamente e mesmo assim não achei erro. no print meu acima pode ver que era um site http.

    Acho que tem a ver com a autenticação ntlm "transparente" com o samba... devo precisar colocar o código em outro local.

    De qualquer forma obrigado pela ajuda... vou tentando aqui, caso eu ache alguma coisa eu posto aqui. quem sabe aparece mais alguem aqui no post que tenha alguma outra dica!

    blz,

    aqui também autentico com ntlm (pf2ad), mas faço transparente através do  WPAD.

    abraços

    Diego



  • Estou nessa mesma saga.. rs.. tenho squid + squidguard + ssl inspec. com proxy transparente, meus registros nos logs do Squid tbm aparecem com TCP_MISS..

    Já tentei fazer conforme o post do marcello.., e tudo que também fizeram e orientaram aqui e mesmo assim não funcionou.. inclusive tbm deixei um tópico sobre isso e ninguém respondeu..

    Pessoal alguém aí tem uma luz??

    Afinal pro cliente final (principalmente o gerente) o importante é mostrar nos relatórios que o usuários estão tendo as páginas bloqueadas no acesso..



  • @didonsom:

    blz,

    aqui também autentico com ntlm (pf2ad), mas faço transparente através do  WPAD.

    abraços

    Diego

    Eu faço da mesma forma, porem não utilizo o pf2ad, fiz de forma manual mesmo e tambem com WPAD.
    o que achei uma diferença gritante é a linha das configs do nosso squid… a sua vc disse que é a 1300 e pouquinho... a minha as linhas que vc mencionou estavam na 1800 e tanto.



  • @leoescarpellin:

    @didonsom:

    blz,

    aqui também autentico com ntlm (pf2ad), mas faço transparente através do  WPAD.

    abraços

    Diego

    Eu faço da mesma forma, porem não utilizo o pf2ad, fiz de forma manual mesmo e tambem com WPAD.
    o que achei uma diferença gritante é a linha das configs do nosso squid… a sua vc disse que é a 1300 e pouquinho... a minha as linhas que vc mencionou estavam na 1800 e tanto.

    cara,

    aquele topico é antigo, o squid.inc já sofreu diversas alterações, tanto que o patch em questão era manual, na epoca ainda não existia a integração automatica no squid (aquela opção que o marcello desenvolveu)

    abraços,