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.