[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: squid



Caio.

As regras do squid são processadas em sequência, assim que a primeira regra bater o processamento das regras termina.
Isso vale tanto para permitir o acesso quanto para negar o acesso.
Recomenda-se colocar as regras com maior probabilidade de acontecerem primeiro, assim não haverá necessidade de processar regras desnecessárias.

Obs.: Caso nenhuma regra venha a bater, o resultado padrão será o oposto da última regra. Para isso existe aquela linha padrão http_access deny ou allow all. Para não haver ambiguidade.

# Acesso livre, sem nenhuma restricao, na faixa de nome faixa_free
http_access allow faixa_free

# Filtragem na faixa de nome faixa_filter
http_access allow faixa_filter liberapalavra
http_access deny faixa_filter negapalavra

http_access allow faixa_filter negasite
http_access deny faixa_filter liberasite

No arquivo nega site tem o site batepapo.uol.com.br e da minha estacao, que tem o ip 192.168.0.30, eu estou conseguindo acessar o site mencionado acima

No exemplo acima que você deu, seu ip faz parte da acl faixa_filter porém a segunda regra libera estes ips se uma expressão regular for encontrada conforme a acl liberapalavra e consequentemente o resto será ignorado.

De qualquer forma, você mesmo pode verificar o que está errado.
Para testar suas regras e saber onde está o furo você pode fazer o seguinte:

No arquivo Squid.conf alterar:

debug_options ALL,1 33,2

(Recomendo recolocar o valor que estava anteriormente após ser resolvido o problema, a opção acima gera muito mais mensagens normalmente desnecessárias no log referente ao cache).

Então recarregar o arquivo de configuração:

% squid -k reconfigure

No arquivo cache.log o resultado será algo assim:

2003/09/29 20:22:05| The request GET http://images.slashdot.org:80/topics/topicprivacy.gif is ALLOWED, because it matched 'localhost' 2003/09/29 20:22:05| The reply for GET http://images.slashdot.org/topics/topicprivacy.gif is ALLOWED, because it matched 'all'

Isso não te diz a linha que a regra fechou, te diz somente o nome da regra, porém facilita bastante. Você pode criar regras iguais com nomes diferentes para saber em qual linha a regra fechou.


Edmundo Valle Neto


Caio Ferreira escreveu:

All

Estou com problema para configurar o squid para barrar determinados sites em uma determinada faixa de ip. Para isso fiz o seguinte :

$ vi /etc/squid.conf

http_port 3128
cache_mem 8 MB
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_effective_user proxy
cache_effective_group proxy

# Proxy transparenti
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
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 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 Safe_ports port 901         # SWAT
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
http_access allow localhost
http_access deny all
icp_access allow all

# ACCESS CONTROLS

########
# Rede #
########
acl redeinterna src 192.168.0.0/24

##################
# Faixas da rede #
##################
acl faixa_free src 192.168.0.10-192.168.0.20
acl faixa_filter src 192.168.0.30-192.168.0.40

##############################
# Coletando dados das listas #
##############################

# acl pra bloquear palavras nos endereços e liberar excessoes
acl negapalavra url_regex "/etc/squid/lists/negapalavra.txt"
acl liberapalavra url_regex "/etc/squid/lists/liberapalavra.txt"

# acl pra bloquear determinados sites e liberar excessoes
acl negasite url_regex "/etc/squid/lists/negasite.txt"
acl liberasite url_regex "/etc/squid/lists/liberasite.txt"

##########
# Regras #
##########

# Acesso livre, sem nenhuma restricao, na faixa de nome faixa_free
http_access allow faixa_free

# Filtragem na faixa de nome faixa_filter
http_access allow faixa_filter liberapalavra
http_access deny faixa_filter negapalavra

http_access allow faixa_filter negasite
http_access deny faixa_filter liberasite

No arquivo nega site tem o site batepapo.uol.com.br e da minha estacao, que tem o ip 192.168.0.30, eu estou conseguindo acessar o site mencionado acima

Sera que alguem poderia dizer o que é que eu estou fazendo de errado ?

.''`.   Caio Abreu Ferreira
: :'  :  GNU/Linux Debian
`. `'`   Gnupg ID 0x01186BE1
 `-     Linux Couter 327834


Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 24/11/2004 / Versão: 4.3.20 (10.21) - Dat 4410
Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/






Reply to: