Várias dúvidas no SquidGuard



  • Galera,

    Estou enfrantando diversos problemas com o SquidGuard. Já pesquisei bastante, inclusive lendo nos foruns do squidguard para Linux, e não pfsense. Os meus problemas são os seguintes:

    1 - O SquidGuard e suas ACLs ficam, periodicamente, sem funcionar. Tenho que apertar Apply e/ou Save para que elas voltem a funcionar. Isso é um defeito direto e tenho que fazer uma CRON para reiniciar todo dia o squidguard? Se sim, tem como me postar uma orientação como fazer?

    1.1 - Hoje pela manha, dei Apply/Save para colocar as regras novamente no "ar". Tenho regras por horário, e, conforme o horário de acesso liberado, a partir das 11:50, o acesso ao facebook e afins deveria funcionar, porém, só funcionou quando eu dei Apply/Save novamente… Que coisa hã?! ???

    2 - Eu postei esse caso, mas como ainda não encontrei solução nem consegui entender ainda... é o seguinte:

    2.1 - eu gostaria de saber como funcionam as prerrogativas das Regras. Tipo, no firewall, as regras são lidas de cima pra baixo. E no squidguard, como são?

    2.2 - Como ficam as regras Commom ACL e as GroupACL, quem é lida primeiro?

    2.3 - Ao editar uma regra em GroupACL, como fica a regra "Default Access"? Se eu colocar como Deny, deveria bloquear tudo?

    2.4 - Caso um PC não faça parte de uma das regras do GroupACL, ele segue as regras do Commom ACL certo?

    2.5 - Como crio uma regra que bloqueia tudo, menos um site em específico? (que não é da minha rede interna)

    2.6 - Como fazer com que um conjunto de máquinas fiquem bloqueadas para tudo durante o horário de trabalho e sigam as mesmas regras do resto dos pcs fora do horário? (Já tentei fazer colocando a Default Access para esses IPs como deny, mas a navegação funciona OK...)

    Bom, desculpa pelo post com várias dúvidas... Espero que vcs possam me ajudar.  :( ???

    Obrigado.



  • Agora tá dando uma coisa bem engraçada, já era pra estar bloqueando, ,pelo horário, mas o squidguard nada de bloquear… Passei por uma máquina de um usuário e o mesmo estava acessando o facebook ainda...

    Assim fica difícil... toda vez que as regras do squidguard mudarem tenho que reiniciar clicando em Apply/Save?? Mudarem no sentido de horário e não de alteração de alguma configuração....

    Poxa >:(



  • @adolfo_rodrigues:

    Assim fica difícil… toda vez que as regras do squidguard mudarem tenho que reiniciar clicando em Apply/Save?? Mudarem no sentido de horário e não de alteração de alguma configuração....

    Certamente deve funcionar SIM - Sem reiniciar serviço! (aliás, isso não existe em servidores)!

    Deve haver alguma inconsistência nas tuas configurações e/ou pacotes problemáticos na sua instalação. Revise todas as tuas configurações (siga este tutorial: http://www.pfsense-br.org/blog/2011/10/tutorial-de-squidguard-bloqueioliberacao-por-horario/) e fique de olho nos logs do Squid pra identificar possíveis falhas.

    Uma outra boa dica é: Faça uma instalação zerada do pfSense e suba o backup das tuas configurações… Assim você pode tirar a prova dos 9 acerca de possíveis problemas com os pacotes instalados no server em produção.

    Abraços!
    Jack



  • @adolfo_rodrigues:

    Assim fica difícil… toda vez que as regras do squidguard mudarem tenho que reiniciar clicando em Apply/Save?? Mudarem no sentido de horário e não de alteração de alguma configuração....

    Adolfo,

    No forum internacional, já vi outras pessoas reclamando da mesma coisa e o mantenedor acreditar ser um bug do squidguard. Uma forma de contornar isso é criar um script que recarrega automaticamente o squidguard uma vez por dia no horário que você definir no cron.

    Tópicos relacionados:
    SquidGuard - time based ACL not working reliably
    squidguard on 2.0 final

    Para agendar um comando via cron, instale o pacote filer para criar arquivos pela interface gráfica e o pacote cron para agendar a sua execução.

    O tópico sugere estes comandos no script para rodar de madrugada:

    #!/bin/sh
    /usr/local/sbin/squid -k shutdown  
    /usr/local/sbin/squid
    


  • Jack, valeu pela resposta :P

    Mas vamos, ver. Depois desse problema, eu reiniciei o server. E tudo voltou a funcionar normal.

    Hoje, após ver sua mensagem, e passada a páscoa, (aliás, feliz páscoa atrasado :P) fui checar novamente o acesso, e voilá… o squidguard está permitindo novamente. Tive que apertar Aply para que as regras voltassem a funcionar...

    Eu apliquei as regras todas na lógica. Li muito, aliás, acho que li todos os tutos que tem por aqui, e fiz as configs no squidguard oks... Tá certo que fui testando outros pacotes, como o HAPV entres outros, e não funcionaram a contento... e deve ter "bugado" os arquivos do squidguard...

    Eu estou pensando seriamente em começar do zero. Refazer todas as configs novamente, uma a uma, colocando somente as que devem ficar em definitivo, e ver se funciona...

    Eu realmente não estou entendendo o pq das coisas não funcionarem direito... mas enfim...

    Eu até fui contra as orientações de vcs e instalei em um HD SSD da Intel... Com a suposição de que eles tem garantia de 5 anos... não é possível que antes disso vá dar pau... mas enfim... não queria gastar um HD de 2TB (Enterprise WD RE4) ou um velocidraptor(10k) de 600GB para utilizar no máximo 30gb...

    Meu início foi meio conturbado, com o pfSense... Problemas com o protocolo SIP e afins, mas tudo se resolveu graças as vcs aqui do forúm... e estou até me esforçando para ajudar também, dentro do possível, mas confesso que estou meio descontente com esse comportamento maluco que o squidguard está apresentando pra mim.

    @marcelloc:

    @adolfo_rodrigues:

    Assim fica difícil… toda vez que as regras do squidguard mudarem tenho que reiniciar clicando em Apply/Save?? Mudarem no sentido de horário e não de alteração de alguma configuração....

    Adolfo,

    No forum internacional, já vi outras pessoas reclamando da mesma coisa e o mantenedor acreditar ser um bug do squidguard. Uma forma de contornar isso é criar um script que recarrega automaticamente o squidguard uma vez por dia no horário que você definir no cron.

    Tópicos relacionados:
    SquidGuard - time based ACL not working reliably
    squidguard on 2.0 final

    Para agendar um comando via cron, instale o pacote filer para criar arquivos pela interface gráfica e o pacote cron para agendar a sua execução.

    O tópico sugere estes comandos no script para rodar de madrugada:

    #!/bin/sh
    /usr/local/sbin/squid -k shutdown  
    /usr/local/sbin/squid
    

    OBS: Com a dica de Marcello, vou dar uma olhada para fazer isso funfar. Mas tenho ACLs que funcionam fora do horário de trabalho… Tenho que configurar esse script para rodar tipo: 7AM, 11:59AM, 13:59PM, 18:00PM.. Fica meio chato de ser assim... Principalmente reiniciando o squid propriamente falando... Valeu Marcelo :P

    Bom, vou decidir o que faço aqui, e no final de semana vou subir novamente outra instalação zerada do pfSense, para ver no que dá. Valeu pela ajuda. Abraço.

    PS: editado-> Marcelo, o Dansguardian funciona nesse mesmo estilo? Com bloqueios por horário, por faixa de IP, por keywords e afins? Valeu novamente.



  • @adolfo_rodrigues:

    Eu realmente não estou entendendo o pq das coisas não funcionarem direito… mas enfim...

    Os bugs e pequenos detalhes de configuração fazem parte do nosso dia a dia.  :)

    @adolfo_rodrigues:

    Eu até fui contra as orientações de vcs e instalei em um HD SSD da Intel… Com a suposição de que eles tem garantia de 5 anos... não é possível que antes disso vá dar pau... mas enfim...

    Infelizmente é bem possível. Se o seu SSD não for de uma geração mais nova onde os dados são gravados randomicamente no disco, em 18 meses veremos o seu post dizendo que o hd foi pro saco mesmo  :D

    @adolfo_rodrigues:

    OBS: Com a dica de Marcello, vou dar uma olhada para fazer isso funfar. Mas tenho ACLs que funcionam fora do horário de trabalho… Tenho que configurar esse script para rodar tipo: 7AM, 11:59AM, 13:59PM, 18:00PM.. Fica meio chato de ser assim... Principalmente reiniciando o squid propriamente falando... Valeu Marcelo :P

    O restart é uma vez por dia e não a cada acl. ;)

    @adolfo_rodrigues:

    PS: editado-> Marcelo, o Dansguardian funciona nesse mesmo estilo? Com bloqueios por horário, por faixa de IP, por keywords e afins? Valeu novamente.

    Até onde vi, o dansguardian só tem time acls para extensões. O resto precisa ser definido no squid.
    O desenvolvedor principal do dansguardian não gosta de reinventar a roda, por isso o daemon precisa de um proxy depois dele para tratar a comunicação com os servidores e web e as time acls já existem no squid. Por um lado ele tem razão mas por outro dificulta um pouco a vida do sysadmin.



  • @adolfo_rodrigues:

    Eu realmente não estou entendendo o pq das coisas não funcionarem direito… mas enfim...

    Pois é Adolfo…

    Eu realmente não passei até hoje por um problema como você relatou, bem como, o próprio marcelloc mencionou que outros users enfrentaram... Tenho o esquema de liberação/bloqueio de acessos por horário com SquidGuard rodando perfeitamente no pfSense 2.0RC.

    Tenho que configurar esse script para rodar tipo: 7AM, 11:59AM, 13:59PM, 18:00PM.. Fica meio chato de ser assim… Principalmente reiniciando o squid propriamente falando...

    Você não precisa criar um cron pra cada ACL… De todo modo, eu instalaria uma VM/Máquina zeradinha e implementaria do zero o esquema: http://www.pfsense-br.org/blog/2011/10/tutorial-de-squidguard-bloqueioliberacao-por-horario/ - Faria a configuração em paralelo inclusive sem voltar backup (para ter certeza que a instalação está 100% zerada)! ;)

    Abraços!
    Jack



  • @JackL:

    Você não precisa criar um cron pra cada ACL… De todo modo, eu instalaria uma VM/Máquina zeradinha e implementaria do zero o esquema: http://www.pfsense-br.org/blog/2011/10/tutorial-de-squidguard-bloqueioliberacao-por-horario/ - Faria a configuração em paralelo inclusive sem voltar backup (para ter certeza que a instalação está 100% zerada)! ;)
    Abraços!
    Jack

    Pois é Jack, eu vou fazer isso em alguma hora nessa semana ainda, ou no final de semana. Só estou para decidir sobre a questão do HD.

    @marcelloc:

    Infelizmente é bem possível. Se o seu SSD não for de uma geração mais nova onde os dados são gravados randomicamente no disco, em 18 meses veremos o seu post dizendo que o hd foi pro saco mesmo  :D

    Ele é da nova geração sim. Mas acredito que não terei esse tipo de pro… Já com outro pfSense, que coloquei pra funfar em um pendrive, esqueci de desativar todo o tipo de log e agora o pendrive morreu e estou com o ** na mão para colocar um outro pra funfar novamente  :D :-[

    [quote author=marcelloc link=topic=47921.msg253884#msg253884 date=1333981655]
    @adolfo_rodrigues:

    OBS: Com a dica de Marcello, vou dar uma olhada para fazer isso funfar. Mas tenho ACLs que funcionam fora do horário de trabalho… Tenho que configurar esse script para rodar tipo: 7AM, 11:59AM, 13:59PM, 18:00PM.. Fica meio chato de ser assim... Principalmente reiniciando o squid propriamente falando... Valeu Marcelo :P

    O restart é uma vez por dia e não a cada acl. ;)

    Eu até concordaria com vc… mas chega agora, por exemplo, que deveria liberar o facebook e afins, e o squidguard continua bloqueando... e não é pro de cache  ???

    @marcelloc:

    @adolfo_rodrigues:

    PS: editado-> Marcelo, o Dansguardian funciona nesse mesmo estilo? Com bloqueios por horário, por faixa de IP, por keywords e afins? Valeu novamente.

    Até onde vi, o dansguardian só tem time acls para extensões. O resto precisa ser definido no squid.
    O desenvolvedor principal do dansguardian não gosta de reinventar a roda, por isso o daemon precisa de um proxy depois dele para tratar a comunicação com os servidores e web e as time acls já existem no squid. Por um lado ele tem razão mas por outro dificulta um pouco a vida do sysadmin.

    Que pena  :(

    Por último, Jack e Marcelo, suponhamos que eu tenha somente uma regra no squidguard, sem horário nem nada, e eu quiser deixar o GruopsACL editando a Target Default List e no campo Default access [all] eu colocar em Deny. O que acontece? No meu conceito, deveria simplesmente bloquear tudo. Que é umas das coisas que estou tentando fazer… Em uma das máquinas da empresa, colocar bloqueio geral em uma máquina apenas(telefonista), liberando somente um site em específico o telelistas.net.

    Valeu



  • @adolfo_rodrigues:

    Por último, Jack e Marcelo, suponhamos que eu tenha somente uma regra no squidguard, sem horário nem nada, e eu quiser deixar o GruopsACL editando a Target Default List e no campo Default access [all] eu colocar em Deny. O que acontece? No meu conceito, deveria simplesmente bloquear tudo. Que é umas das coisas que estou tentando fazer… Em uma das máquinas da empresa, colocar bloqueio geral em uma máquina apenas(telefonista), liberando somente um site em específico o telelistas.net.

    A priori é isso mesmo Adolfo…

    Mas verifique as seguintes questões no teu cenário:

    • Verifique se você criou uma "Target categories" específica para o "telelistas.net" e se ela está liberada (allow) para a secretária (Groups ACL);

    • Veja se em "Groups ACL", você preencheu adequadamente o campo "Client (source)" com o IP da estação da secretária;

    • Verifique se a "espertinha" não está furando seu proxy com alguma ferramenta no estilo do UltraSurf!

    Abraços!
    Jack



  • @JackL:

    @adolfo_rodrigues:

    Por último, Jack e Marcelo, suponhamos que eu tenha somente uma regra no squidguard, sem horário nem nada, e eu quiser deixar o GruopsACL editando a Target Default List e no campo Default access [all] eu colocar em Deny. O que acontece? No meu conceito, deveria simplesmente bloquear tudo. Que é umas das coisas que estou tentando fazer… Em uma das máquinas da empresa, colocar bloqueio geral em uma máquina apenas(telefonista), liberando somente um site em específico o telelistas.net.

    A priori é isso mesmo Adolfo…

    Mas verifique as seguintes questões no teu cenário:

    • Verifique se você criou uma "Target categories" específica para o "telelistas.net" e se ela está liberada (allow) para a secretária (Groups ACL);

    • Veja se em "Groups ACL", você preencheu adequadamente o campo "Client (source)" com o IP da estação da secretária;

    • Verifique se a "espertinha" não está furando seu proxy com alguma ferramenta no estilo do UltraSurf!

    Abraços!
    Jack

    Cara, eu tava testando isso na minha máquina virtual (Virtualbox com bridge), antes de colocar pra ela. Lá, inclusive, sempre esteve SEM gateway nem DNS, então, não navega nem com reza braba  ;D

    Ai, criei certinho como vc falou, uma target com o telelistas, e coloquei somente o IP da minha virtual (para teste) e dei deny em tudo menos na target da telelistas, que estava como allow. As outras coisas (que tem targets) bloqueava normal (facebook, orkt, twitter) porém, a navegação comum, passava, sem bloqueio. Aí, desisti  :'(

    Eu tive o maior trabalhão na configuração dos IPs das máquinas da empresa, fazer listagem das máquinas por MAC e reservar DHCP no server. Mas, fora esse trabalhão, consigo colocar as ACLs ok. Só tive uma dúvidazinha, caso eu tenha uma faixa separada tipo:

    Uma Gruop ACL que vai de 192.168.0.100 a 192.168.0.150 e de 192.168.0.165 a 192.168.0.175, para eu criar a GroupACL eu posso colocar as duas faixas (192.168.0.100-192.168.0.150 192.168.0.165-192.168.0.175) ou tenho que fazer duas regras separadas para cada uma dessas faixas?
    Ficou assim pois fui separar a listagem por IP por setor e tal, ai, a diretoria ficou no meio :P

    Valeu novamente.



  • @adolfo_rodrigues:

    Uma Gruop ACL que vai de 192.168.0.100 a 192.168.0.150 e de 192.168.0.165 a 192.168.0.175, para eu criar a GroupACL eu posso colocar as duas faixas (192.168.0.100-192.168.0.150 192.168.0.165-192.168.0.175) ou tenho que fazer duas regras separadas para cada uma dessas faixas?
    Ficou assim pois fui separar a listagem por IP por setor e tal, ai, a diretoria ficou no meio :P

    Tente colocar os 2 ranges separados por espaço. Exemplo:

    192.168.0.100-192.168.0.150 192.168.0.165-192.168.0.175
    


  • @JackL:

    Tente colocar os 2 ranges separados por espaço. Exemplo:

    192.168.0.100-192.168.0.150 192.168.0.165-192.168.0.175
    

    Já está assim. Valeu. Eu perguntei pois tinha colocado geralzão, 192.168.0.0/24, e ela como sendo a última na listagem, sendo que, caso não passasse por nenhuma outra regra, ela "assumiria" o cliente de rede como sendo dela. O problema é que minha faixa de DHCP é da 100 até 225. Então, não tem caso sendo de um jeito ou de outro.

    Valeu novamente  :D



  • Marcelo,

    Como que coloca a cron? Instalei o pacote cron e configurei a seguinte linha:

    minute hour mday month wday who command
        *  23  *              *  *      root  /usr/local/sbin/squid -k shutdown /usr/local/sbin/squid

    Isso está correto? Para executar o comando duas vezes ao dia, à noite e meio dia, por exemplo, como faz?

    Abraço.



  • @adolfo_rodrigues:

    *  23  *              *    *        root  /usr/local/sbin/squid -k shutdown /usr/local/sbin/squid

    Isso está correto? Para executar o comando duas vezes ao dia, à noite e meio dia, por exemplo, como faz?

    *     */12     *     *     *     root     /usr/local/sbin/squid -k shutdown /usr/local/sbin/squid


Log in to reply