- Squid bloqueio por MAC
+ Responder ao Tópico
-
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
-
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...
-
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
-
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.
-
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...
-
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.
-
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