:: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Galerinha, to precisando criar uma regra de ACL que faça o seguinte:
Bloquear toda a faixa de ip exemplo: 10.2.27.0/255.255.255.0
Depois liberar alguns ips dessa faixa usando um arquivo onde tenha os ips que serão liberados, alguém sabe me dizer como faço essa regra.
Se posso fazer assim:
acl liberar_ips url_regex "/usr/local/squid/regras/ipsliberados"
acl rede src 10.2.27.0/255.255.255.0
acl rede_bloqueio 10.2.27.0/255.255.255.0
http_access deny rede !ipsliberados
Ou se tem outro jeito....
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Não seria melhor vc tratar isto a nivel de firewall. Parece bem simples. Cria as regras com iptables bloqueando o que vc não quer.
iptables -A INPUT -s 192.168.0.21/24 -j DROP
Acho que e mais ou menos assim.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
# O arquivo deve listar 1 endereço IP por linha
acl MaquinasLiberadas src "/usr/local/squid/regras/ipsliberados"
acl RedeBloqueada src 10.2.27.0/255.255.255.0
# Primeiro, permite as liberadas
http_access allow MaquinasLiberadas
# Então, bloqueia o restante
http_access deny RedeBloqueada
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Citação:
Postado originalmente por cvr
Não seria melhor vc tratar isto a nivel de firewall. Parece bem simples. Cria as regras com iptables bloqueando o que vc não quer.
iptables -A INPUT -s 192.168.0.21/24 -j DROP
Acho que e mais ou menos assim.
Embora seja mais fácil para bloquear, é mais difícil para administrar depois. Quando você tem 10 máquinas, é fácil, mas quando você tem 1000, é um saco saber se você tá bloqueando o cara no Squid, no firewall ou por reza. Padronização de serviços é importante neste aspecto.
Mas respondendo a dúvida do amigo, tu pode fazer assim:
Código :
acl usuariosliberados src "/etc/squid/lists/usuariosliberados"
acl redebloqueada src 10.0.0.0/24
http_access deny redebloqueada !usuariosliberados
Abraços!
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Boa tarde pessoal, gostaria de aproveitar o topico e pedir umas dicas.
acl redelocal src 192.168.0.0/24
essa regra poderia ser como:
acl redelocal src "/etc/squid/ip.txt" dentro do ip.txt estariam os ip, seria necessário o /24?
porque eu não quero que seja adicionado mais uma máquina na rede e o range de ip segue-se até o 192.168.0.254 (acho q seria isso)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Bem, tu poderia resolver o seu problema de 30 formas diferentes. Eis algumas:
1 - Tu poderia especificar duas ranges de IP no squid.conf, onde você pula o IP que não é pra ser colocado na regra:
Código :
acl range1 src 192.168.0.1-192.168.0.50
acl range2 src 192.168.0.52-192.168.0.254
2 - Para cada requisição que o Squid recebe, ele vai tentando encaixar a requisição dentro de padrões. Estes padrões são especificados pela ordem das ACL's e dos HTTP_ACCESS. Quando o Squid encontra uma regra que bate com a requisição, ele ignora todas as regras depois dessa regra. Exemplo:
Código :
acl perdidonailhadelost src 192.168.0.20
acl eupreferificarnaaustraliamesmo src 192.168.0.0/24
http_access allow perdidonailhadelost
http_access deny eupreferificarnaaustraliamesmo
Veja que o acesso vai ser permitido para o IP 192.168.0.20 e o resto da range vai ser bloqueado. Só o 192.168.0.20 vai poder usar o proxy e os outros acessos vão ser bloqueados. Entende agora porquê você tem que prestar atenção na ordem das suas ACL's, amiguinho?
Agora, respondendo a sua pergunta elementar sobre o /24 e entrando numa aulinha sobre redes...
O /24 é uma outra notação de máscara de sub-rede, onde o número depois da barra é o número de bits 1 transformando a máscara em binário. Veja:
Código :
255.255.255.0 = 1111 1111.1111 1111.1111 1111.0000 0000 (Eu sou tão bonzinho que separei até a máscara em nibbles).
Se você tiver a paciência holística de contar os números 1 acima, verá que o número é igual à 24.
Logo, sempre é bom você se acostumar com isso. No Squid, você pode usar tanto uma quanto a outra notação, que é:
Código :
192.168.0.0/255.255.255.0
Caso você queira utilizar uma máscara que caiba apenas um IP, tu normalmente usa 255.255.255.255. Transformando em binário: 1111 1111.1111 1111.1111 1111. 1111 1111.
Adivinhe o número de bits? 32.
Ou seja: 255.255.255.255 = /32
Entendeu?
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Vlw pela atenção.
Agora estou entendendo o permitir/negar do squid, minha confusão era a pensar que o squid faria "confusão" na hora do permitir/negar as acl´s tipo
acl perdidonailhadelost src 192.168.0.20
acl eupreferificarnaaustraliamesmo src 192.168.0.0/24
http_access allow perdidonailhadelost
http_access deny eupreferificarnaaustraliamesmo
uma vez permitindo o .20, mas mesmo assim negando logo após (http_access deny eupreferificarnaaustraliamesmo), mas pelo visto o squid quando "libera" uma acl, essa mesma faz um "pulo" por todos os outros bloqueios que se seguem. Pelo menos foi o que eu entendi, por isso algumas acl´s minhas não funcionavam, pensava ser as http_access que não estavam de acordo, mas pelo visto não se coloca a carroça na frente dos bois. :lol:
Quanto ao /24 esse eu sabia :lol: o que gostaria de saber, se é possível colocar a acl sobre os ip´s da rede em um arquivo .txt. Não sei se estou explicando direito o que preciso. Mas usarei sua dica.
Valeu pela ajuda.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Sim, dá pra colocar a lista de IP's da rede em um arquivo texto.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Poxa xstefanox muito obrigado pela ajuda, só mais uma dúvida (essa é a última prometo hehe)
acl ipdir src "/etc/squid/ipdir.txt"
acl ipdir2 src "/etc/squid/ipdir2.txt"
acl ipuser1 src "/etc/squid/ipuser1.txt"
acl ipuser2 src "/etc/squid/ipuser2.txt"
acl ipuser3 src "/etc/squid/ipuser3.txt"
acl redelocal src 192.168.10.0/24 192.168.11.0/24 (isso seria necessário? afinal eu tenho os ip´s que quero nos .txt´s)
#sites bloqueados
acl proibidos url_regex -i "/etc/squid/proibidos"
acl user2 dstdomain "/etc/squid/user1.txt" (sites que usuarios podem acessar)
acl user3 dstdomain "/etc/squid/user2.txt" (idem)
#regras de acesso
http_access allow ipdir
http_access allow ipdir2
http_access deny proibidos
http_access allow ipuser1
http_access deny ipuser2 !user1
http_access deny ipuser3 !user2
http_access deny redelocal (ainda não sei se seria necessário, já que os ip´s estão liberados/bloqueados conforme os .txt´s)
Desculpe o aborrecimento, o .txt dos ip´s tem q ser algo assim
192.168.10.2
192.168.10.3...
ou
192.168.10.2/24
192.168.10.3/24...
Obs.: Os "user" são apenas demontrativos, os nome são outros, um pouco mais organizado.
Obrigado pela ajuda.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Então cara... se eu entendi direito, você tá entendendo errado, hehehe.
Na verdade, declarar um IP por arquivo texto é perda de tempo, pois você tá declarando um único endereço IP em uma lista. Listas geralmente possuem mais de uma entrada, lembra?
Para o que você quer fazer, o legal é dividir a sua rede em vários ranges, por setores, por exemplo, e especificar todos os endereços dentro do arquivo txt ou ainda a range.
O que é mais prático? Fazer assim:
Código :
acl usr1 src 192.168.10.1
Ou assim?
Código :
acl usr1 src "/etc/squid/usr1"
# echo 192.168.10.1 > /etc/squid/usr1
O formato dos .txt é assim:
Código :
192.168.10.1
192.168.10.2
192.168.10.3
192.168.10.4
192.168.10.5
Organizar é importante, mas para administrar esse é o método que eu prefiro.
Manter ACL's para redes é importante a partir do momento que você quer bloquear qualquer acesso que não faça parte das ranges. Veja bem, é uma medida de segurança apenas. Vamos supor que algum usuário seu troque o IP de sua máquina para um IP fora das suas ranges declaradas? Lembre-se que o Squid libera acesso por padrão. Lembra daquela última regra que você não prestou atenção no squid.conf original? Essa aqui:
Poisé, é pra isso que ela serve. Depois que todas as requisições passaram dentro dos controles e não bateu em nenhum, ele vai cair nesse e vai bloquear.
Tu pode aborrecer o quanto quiser, a partir do momento que as suas perguntas forem inteligentes e que você faça pesquisas antes de consultar o fórum :)
Abraços.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
É sim, eu me expressei mal.
Com certeza não é uma boa colocar apenas um único ip por lista. Os "user1, 2 e 3" contém ranges de ip´s.
ex.: user1 = ip 20~50 , user2 = ip 60~120 e user3 = ip´s 130~137.
Mesmo utilizando as listas, haverá necessidade de "mostrar" para o squid que a minha rede é formada pelo conjunto de ip´s 192.168.0.0/24 e 192.168.1.0/24?
Ou ele irá verificar as listas e apenas liberar/bloquear os ip´s contidos nela?
Grato pela ajuda.
Antes de me esquecer. Usei o google para procurar tutorial sobre o squid, mas infelizmente só se acha as mesmas coisas, é um tal de ctrl+c ctrl+v que não acaba mais, aqui no forum posso tirar dúvida com quem entende e já trabalha com squid. Eu particularmente gosto de trabalhar em cima de dois ou mais exemplos, e o squid tem mais de uma maneira de se fazer algo legal.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Então amiguinho, o negócio é o seguinte:
LISTAS servem apenas como uma forma alternativa de conteúdo de ACL's. A representação em si é a mesma. Ou seja:
Código :
acl teste src 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.5
Imagine que eu tenha que colocar 50 IP's em uma ACL. Daí meu squid.conf vai ficar todo escroto. Por isso eu crio uma lista e represento ele assim:
Código :
acl teste src "/etc/squid/lists/teste.txt"
Onde o conteúdo é:
Código :
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
Você viu que o conteúdo da ACL é o mesmo, e só a representação é diferente?
Se tu for colocar range, tu especifica assim:
Código :
acl range src 192.168.0.1-192.168.0.50
Se eu representar isso com lista:
Código :
acl range src "/etc/squid/lists/range.txt"
E o conteúdo da lista é:
Tu percebeu que eu não coloquei /24 até agora, né? Porque se eu colocar, além de dar pau, ele vai entender pelo /24 que é a rede inteira.
Entendeu agora?
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Tudo explicado, mais uma vez obrigado pela ajuda. Todas as minhas dúvidas sobre o squid (pelo menos as que eu tinha) foram sanadas. Agora colocarei em prática (para ser mais exato, sábado). Caso haja mais algumas dúvidas a respeito, não hesitarei em postar nesse forum.
Muito obrigado xstefanox e até a próxima.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Pessoal
Seguindo as dicas do nosso amigoxstefanox, fiz as seguintes acls:
acl range1 src 192.168.11.1-192.168.11.19
acl range2 src 192.168.11.20-192.168.11.179
acl range3 src 192.168.11.180-192.168.11.254
acl webmail_block dstdom_regex "/proxy/txts/webmail_block.txt"
*dentro desde arquivo tem alguns sites q devem ser bloqueados apenas para a range2
http_access allow range1 range3
http_access deny webmail_block
http_access allow range2
Mas não funcionou :-(
Alguem pode me da uma força pra q isso funcione. O intuito é deixa a range1 e range3 navegando livremente e bloqueia os sites q estão dentro do arquivo para a range2.
Uso stable10 como slackware 10.2.
Vlws ae, agradeço antecipadamente
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Código :
acl range1 src 192.168.11.1-192.168.11.19
acl range2 src 192.168.11.20-192.168.11.179
acl range3 src 192.168.11.180-192.168.11.254
acl webmail_block url_regex -i "/proxy/txts/webmail_block.txt"
http_access allow range1
http_access allow range3
http_access deny webmail_block range2
É pra funcionar assim. E quando não funciona, não funciona por quê?
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
xstefanox
Minha pergunta seria, eu não estaria bloqueando todo acesso a navegação colocando deny para range2? Por que meu intuito é bloquear o conteudo do arquivo apenas para a range2. A range1 e rang3 teria acesso a internet inrestrito.
http_access deny webmail_block range2
A configuração de acls não funcionou, bloqueou tudo para todas as ranges, mas em teste eu colocando apenas ip's, funciona.
P. ex:
acl range1 src 192.168.11.1 192.168.11.2 192.168.11.3 .... 192.168.11.19
Desda maneira funciona, mas seria um tanto qdo trabalhoso digitar todos os ip's.
Atenciosamente
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Como estão as suas ACL's?
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
coloque para bloquear a rede toda entao.... por exemplo 192.168.0/24 na acl ............. valew!!!
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Segue o squid.conf para analise:
visible_hostname fw-01.frato
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# config das regras de acesso
acl all src 0.0.0.0/0.0.0.0
acl rede_interna src 192.168.11.0/255.255.255.0
#acl range1 src 192.168.11.1-192.168.11.19
#acl range2 src 192.168.11.20-192.168.11.179
#acl range3 src 192.168.11.180-192.168.11.254
#acl navegacao_full src 192.168.11.21
#acl download_negado url_regex -i ftp .mov .mpeg .wav .tar .mp3 .avi .asf
#acl permitidos dstdomain "etc/squid/permitidos"
acl webmail_block dstdom_regex -i "/proxy/txts/webmail_block.txt"
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
#http_access deny negados
#http_access allow navegacao_full
#http_access deny download_negado
#http_access allow permitidos
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
#http_access allow range1 range3
http_access deny webmail_block
#http_access allow range2
http_access allow rede_interna
http_access deny all
http_reply_access allow all
icp_access allow all
coredump_dir /proxy/logs
#Config do cache
cache_mem 128 MB
cache_dir ufs /proxy/logs 20000 16 256
cache_access_log /proxy/logs/access.log
cache_log /proxy/logs/cache.log
cache_store_log /proxy/logs/store.log
cache_effective_user squid
cache_effective_group squid
cache_mgr [email protected]
#Config proxy transparente
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_single_host off
httpd_accel_with_proxy on
Atenciosamente
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.
Puta, que zona, hauehaeuhaeuae.
Código :
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# ACL's para definição de redes
acl all src 0.0.0.0/0.0.0.0.0
acl range1 src 192.168.11.1-192.168.11.19
acl range2 src 192.168.11.20-192.168.11.179
acl range3 src 192.168.11.180-192.168.11.254
# ACL's para controle de acesso
acl blocked url_regex -i "/etc/squid/lists/blocked"
acl unblocked url_regex -i "/etc/squid/lists/unblocked"
acl blocked_extensions urlpath_regex -i "/etc/squid/lists/blocked_extensions"
acl webmails url_regex -i "/etc/squid/lists/webmails
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
# HTTP_ACCESS
http_access deny blocked !unblocked
http_access deny blocked_extensions
http_access allow range1
http_access allow range3
http_access deny webmails
http_access allow range2
http_access deny all
Testado e comprovado.
Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.