+ Responder ao Tópico



  1. #1

    Padrão Squid com furos...

    Salve Galera...
    Aqui na empresa preciso restringir acesso a sites, para isso uso squid. Está configurado e rodando, porém há furos na restrição de sites.
    Acho que a lógica de minhas regras tem erros, ou a definição delas, como em url_regex , url_regex -i e dstdomain -i.
    Exemplo: há regra bloqueando Orkut e funciona, mas há regras de bloqueio p/ playboy.com e abre.
    Poderiam me ajudar?

    Uso um firewall com RedHat 9, roteamento, iptables e squid. Há 3 lans:
    eth0 = link internet
    eth1 = rede 60
    eth2 = rede 50

    Temos quatro grupos de máquinas, todas nas redes 50 (laboratório) e a 60 (administrativo).
    Grupos:
    Maq. proibidas
    Maq. informática
    Maq. liberadas
    Adm na rede 60
    Laboratorio na rede 50

    Nossas redes: 192.168.50.0/24 e 192.168.60.0/24, máscara 255.255.255.0

    Preciso bloquear sites e palavras p/ a rede 50 e somente sites p/ a 60.
    Ainda há situações como grupo de máquinas proibidas, liberadas, informática (s/ restrição), sites de lista negras (spywares) e de extensões de arquivos multimídias, como mp3, ogg,avi, wma, etc...

    A lógica é a seguinte:
    bloqueio spyware p/ todos
    bloqueio máq. proibidas
    permito maq. informática
    bloqueio extensões
    permito maq. liberadas
    bloqueio sites exceto exceções
    libero rede 60
    bloqueio palavras exceto exceções
    bloqueio rede 50
    bloqueio todos


    Detales do arquivo squid.conf

    http_port 3128
    acl rede_50 src 192.168.50.0/24
    acl rede_60 src 192.168.60.0/24
    acl conexoes maxconn 10
    acl maq_liberadas src "/etc/squid/listas/maq_liberadas.txt"
    acl maq_informatica src "/etc/squid/listas/maq_informatica.txt"
    acl maq_proibidas src "/etc/squid/listas/maq_proibidas.txt"
    acl spyware url_regex "/etc/squid/listas/blacklistspy.txt"
    acl extensoes urlpath_regex -i "/etc/squid/listas/extensoes.txt"
    acl porn url_regex -i "/etc/squid/listas/porn.txt"
    acl noporn url_regex -i "/etc/squid/listas/noporn.txt"
    acl sites dstdomain -i "/etc/squid/listas/sites.txt"
    acl nosites dstdomain -i "/etc/squid/listas/nosites.txt"

    http_access deny spyware
    http_access deny maq_proibidas
    http_access allow maq_informatica
    http_access deny extensoes
    http_access allow maq_liberadas
    http_access deny sites !nosites
    http_access allow rede_60
    http_access deny porn !noporn
    http_access allow rede_50
    http_access deny all

    Alguem consegue ver algum erro aí????
    :?
    Mauzão

  2. #2

    Padrão Squid com furos...

    Cinco minutos atrás eu dei um reply em um tópico que falava justamente de ordens de regras, mas nós estávamos falando de IPTables.

    A ordem das coisas no Squid não é diferente. O Squid quando recebe uma requisição vai tentando encaixar a requisição nas regras definidas nos http_access do seu squid.conf. Por padrão, se ele não encontra uma regra que "case" com a requisição, ele libera por padrão (Eis a justificativa por possuir um "http_access deny all" no final da declaração dos seus http_access).

    Agora vamos analisar a ordem dos seus http_access:

    http_access deny spyware
    http_access deny maq_proibidas
    http_access allow maq_informatica
    http_access deny extensoes
    http_access allow maq_liberadas
    http_access deny sites !nosites
    http_access allow rede_60
    http_access deny porn !noporn
    http_access allow rede_50
    http_access deny all
    Analisando, ficaria assim:

    1º - Bloqueamos spywares;
    2º - Permitimos o acesso das máquinas da informática;
    3º - Bloqueamos extensões;
    4º - Permitimos máquinas liberadas;
    5º - Bloqueamos os sites negados, com excessão aos permitidos;
    6º - Permitimos a rede 192.168.60.0;
    7º - Bloqueamos putaria;
    8º - Permitimos a rede 192.168.50.0;
    9º - Bloqueamos todas as requisições que não casam com as regras impostas acima;

    Então perceba agora que sempre que uma requisição vier da rede 192.168.60.0, ela vai ser casada com a regra de número 6 e vai ignorar todas as regras abaixo dela. Logo, ela não vai passar pela regra de número 7, que é quem bloqueia a putaria.

    Uma maneira mais simples e mais "receita-de-bolo" é pensar da seguinte maneira:

    1 - Primeiro eu vou definir as excessões;
    2 - Depois eu vou bloquear o que tiver que bloquear;
    3 - Por fim, eu vou liberar o que tiver que liberar;

    Sugiro que nós sigamos a discussão, pois esse é um tópico interessante e que muita gente possui dúvidas.


    Abraços!

  3. #3

    Padrão Squid com furos...

    Opa...

    Tente assim:

    1° - As regras que liberam
    2° - A regras que negam

    Tipo:

    http_access allow maq_informatica
    http_access allow maq_liberadas
    http_access allow rede_60
    http_access allow rede_50

    http_access deny spyware
    http_access deny maq_proibidas
    http_access deny extensoes
    http_access deny sites !nosites
    http_access deny porn !noporn

    http_access deny all

    restart e testa ai...

    t+

  4. #4

    Padrão Squid com furos...

    Salve galera...

    descobri um dos erros...

    eu havia declarado minha acl dessa forma

    acl sites dstdomain -i "/etc/squid/listas/sites.txt"

    e não funcionava, então declarei assim:

    acl sites url_regex -i "/etc/squid/listas/sites.txt"

    e funcionou...

    hehehe

    ainda tem alguns erros... ou furos... bloqueia uns e deixa passar outros, mas acho que tá embassando na lógica... to apanhando ainda...

    deixei assim:

    http_access deny spyware maq_proibidas
    http_access allow maq_informatica
    http_access deny extensoes
    http_access allow maq_liberadas
    http_access deny sites !nosites
    http_access deny porn !noporn
    http_access allow rede_60
    http_access allow rede_50
    http_access deny all

    assim funciona, porém, não quero bloquear palavras (porn) p/ rede_60, apenas os sites (sites)...

    quando tento intercalar desse forma:

    http_access deny spyware maq_proibidas
    http_access allow maq_informatica
    http_access deny extensoes
    http_access allow maq_liberadas
    http_access deny sites !nosites
    http_access allow rede_60
    http_access deny porn !noporn
    http_access allow rede_50
    http_access deny all

    já não funciona mais nada...

    Tentei isso e também não funcionou...

    http_access deny spyware maq_proibidas
    http_access allow maq_informatica
    http_access allow maq_liberadas !extensoes
    http_access allow rede_60 !sites nosites
    http_access allow rede_50 !sites !porn nosites noporn
    http_access deny all

    complicado isso... :roll:

    [ ]´s
    Mauzão