+ Responder ao Tópico



  1. #1

    Post Squid bloqueio por MAC

    Galera queria saber se alguem conhece alguma forma de bloquear qualquer endereço mac que não conste em uma lista, estou precisando realizar um controle melhor do que pode passar pela minha rede, porem estou esbarrando nessa opção, estou pretendendo criar uma lista com os endereços MACs liberados, e qualquer outro que tente passar pelo meu servidor seja bloqueado, no caso é pelo squid, mais se alguem conhece alguma forma mais eficiente agradeço, andei dando uma olhada sobre o iptables, mais em alguns tópicos disseram que compromete muito o desempenho da rede.
    Desde ja agradeço a atenção...abraço a todos

  2. #2

    Padrão

    Olá colega. Antes de tudo vc tem que saber se o seu squid foi compilado pra funcionar com bloqueio de MAC. Geralmente o squid já vem com essa opção habilitada, a não ser que você tenha instalado ele pelo binário.

    Quando ao bloqueio você pode fazer da seguinte forma:

    acl macs_permitidos arp "/caminho/da/lista/de/macs"
    http_access allow macs_permitidos

    Isso considerando que seu squid tem um deny all ou algo do tipo no final. Se seu squid não suportar o bloqueio por macs depois do "squid -k reconfigure" ele deve emitir uma mensagem parecida com essa: Invalid ACL type 'arp'


    Apenas mais uma coisa, não concordo totalmente com essa estória de que "compromete muito o desempenho da rede". Mas é isso ai...

    Qualquer coisa posta ai...

  3. #3

    Padrão Opa..blz Magnun

    Então cara eu tinha tentado fazer como você disse e a conexão é feita mesmo assim, da uma olhada no squid.conf, vlw pela atenção.

    http_port 3128 transparent
    visible_hostname Proxy
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY

    dns_nameservers 127.0.0.1

    error_directory /usr/share/squid/errors/Portuguese/

    cache_mem 256 MB
    maximum_object_size_in_memory 64 KB
    maximum_object_size 1024 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir diskd /var/spool/squid/1 2900 128 512 Q1=64 Q2=72
    cache_dir diskd /var/spool/squid/2 2900 128 512 Q1=64 Q2=72
    cache_dir diskd /var/spool/squid/3 2900 128 512 Q1=64 Q2=72
    cache_dir diskd /var/spool/squid/4 2900 128 512 Q1=64 Q2=72
    cache_dir diskd /var/spool/squid/5 2900 128 512 Q1=64 Q2=72
    cache_access_log /var/log/squid/access.log
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535

    acl purge method PURGE
    acl CONNECT method CONNECT

    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports

    #Limpa o cache de paginas seguras
    no_cache deny SSL_ports

    #ext_bloq - bloqueia qualquer lugar #ext_lib - libera alguns sites para download
    acl extensoes urlpath_regex -i "/etc/firewall/acls/ext_bloq"
    acl permitidos dst "/etc/firewall/acls/ext_lib"
    http_access deny extensoes !permitidos

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/firewall/users
    auth_param basic realm Use a Internet com responsabilidade:
    auth_param basic casesensitive off
    auth_param basic children 5
    auth_param basic credentialsttl 2 hours
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados

    #Bloqueio por MAC
    acl perm_mac arp "/etc/firewall/acls/macs_perm"
    http_access allow perm_mac

    acl redelocal src 192.168.68.0/24
    http_access allow localhost
    http_access allow redelocal
    http_access deny all

  4. #4

    Padrão

    Cara, a questão é que vc ta permitindo que a galera logada navegue.

    Quando chega na linha http_access allow autenticados, a execução do squid para porque essa regra permite que o pessoal autenticado navegue. Não se esqueça que o squid funciona similar a um firewall, a regra que corresponder com o "tráfego" é executada, depois disso ele pega um novo tráfego e verifica as ACLs de novo, desde o inicio.

    Pra corrigir, ou vc sobe as regras de mac, ou vc altera essa regra: http_access allow autenticados

    Qualquer coisa posta ai.

  5. #5

    Padrão

    Entao cara, mudei a ordem e coloquei ela logo acima, desse jeito
    ...

    #Limpa o cache de paginas seguras
    no_cache deny SSL_ports

    #Bloqueio por MAC
    acl perm_mac arp "/etc/firewall/acls/macs_perm"
    http_access allow perm_mac

    Continuou passando mesmo assim, ai coloquei mais pra cima com esta logo abaixo e continua passando...

    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    #Bloqueio por MAC
    acl perm_mac arp "/etc/firewall/acls/macs_perm"
    http_access allow perm_mac

    Eu tinha conseguido fazer esse bloqueio, só que expecificando os outros MACs que eu nao queria em um arquivo.
    Valeu...

  6. #6

    Padrão

    Essa é uma forma, porque você simplesmente ta liberando. Você tem é que fazer o bloqueio. Então faz o seguinte:

    http_access deny !perm_mac

    Dessa forma será bloqueado quem não foi permitido.

  7. #7

    Padrão

    Magnun, certinho cara, ficou blz, foi só colocar como vc disse, eu só tive que descer ela novamente para depois da acl autenticados para permitir que os usuários que se autenticarem possam navegar, sendo assim se eles desativarem o proxy no navegador eles não conseguem fazer nada na porta 80, valeu pela ajuda...abraço