Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão :: 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....

  2. #2

    Padrão 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.

  3. #3
    majnun
    Visitante

    Padrão 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

  4. #4

    Padrão 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!

  5. #5
    caoswing
    Visitante

    Padrão 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)

    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

  6. #6

    Padrão 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?

  7. #7
    caoswing
    Visitante

    Padrão 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.

  8. #8

    Padrão 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.

  9. #9
    caoswing
    Visitante

    Padrão 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.

  10. #10

    Padrão 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:

    Código :
    http_access deny all

    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.

  11. #11
    caoswing
    Visitante

    Padrão 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.

  12. #12

    Padrão 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 é:

    Código :
    192.168.0.1-192.168.0.50

    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?

  13. #13
    caoswing
    Visitante

    Padrão 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.

  14. #14
    vul4
    Visitante

    Padrão 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


  15. #15

    Padrão 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ê?

  16. #16
    vul4
    Visitante

    Padrão 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

  17. #17

    Padrão Re: :: ACL SQUID :: Bloquear faixa IP e Liberar alguns IPs.

    Como estão as suas ACL's?

  18. #18
    ttjedi
    Visitante

    Padrão 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!!!

  19. #19
    vul4
    Visitante

    Padrão 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

  20. #20

    Padrão 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.