Squid não abre excessões em acl's [RESOLVIDO]

1. Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 13/08/2009 - 09:07h

Bom dia galera do VOL.
É o seguinte, me deparei com um problema que não tinha enfrentado antes, pode ser falha minha mas já refiz o serviço e nada.
Configurei um squid.conf para que em algumas regras ele podesse abrir excessões (!) porém se minha regra diz "deny" ele nega, "allow" ele permite, até aí td bem. Só que qdo coloco uma excessão a regra, se ta "deny" quem ta na excessão também está negado, assim como se a regra ta "allow" quem ta regra como excessão tbm ta liberado.
Vamos a situação que acho melhora entender.
Meu squid.conf:

###############################################
http_port 3128 transparent
visible_hostname ****


cache_mem 512 MB


cache_swap_low 50
cache_swap_high 90


maximum_object_size 16 MB
minimum_object_size 0 KB
cache_swap_low 95
cache_swap_high 98
cache_mgr [email protected]
cache_dir ufs /etc/squid/cache 3000 16 256



maximum_object_size_in_memory 900 KB


error_directory /usr/share/squid/errors/Portuguese


cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log


cache_dir ufs /var/spool/squid 6500 16 256


cache_effective_user proxy


refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl todos src 0.0.0.0/0.0.0.0
acl down_liberados src "/etc/squid/downloads_liberados"
reply_body_max_size 5242880 deny !down_liberados

acl palavra dstdom_regex "/etc/squid/palavras_negadas"
http_access deny palavra


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 redelocal src 192.168.0.0/255.255.255.0
acl SSL_ports port 443 563
acl Safe_ports port 1433
acl Safe_ports port 80 #http
acl Safe_ports port 4662
acl Safe_ports port 4672
acl Safe_ports port 21 20 #FTP
acl Safe_ports port 25 #SMTP
acl Safe_ports port 110 #POP3
acl Safe_ports port 143 #POP
acl Safe_ports port 443 563 #https, news
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
acl Safe_ports port 1025-65535 #unregistred 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 allow redelocal
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 all
#############################################

Onde temos regras que se sobrepõe não funcionam.
Por exemplo, em minhas regras:

acl todos src 0.0.0.0/0.0.0.0
acl down_liberados src "/etc/squid/downloads_liberados"
reply_body_max_size 5242880 deny !down_liberados

Estou limitando os downloads a 5 MB para todo mundo, com excessão daqueles que estão em "down_liberados", porém dessa forma que ta aí ele ta bloqueando todo mundo sem excessão a downloads acima de 5 MB e não deveria.

http_access deny !Safe_ports

Aqui ele deveria abrir uma excessão a "Safe_ports", mas não abre tbm.
Em meu conf liberei a internet para rede local e em consequência se eu fechar a conexão para externo perco tbm a rede local.

Vocês podem observa que deixei "allow" pois se eu deixar "deny", ninguém navega.

http_access allow all

Bom acho que já deu pra entender.

Agradeço a ajuda de vocês desde já.

Abraços,

Victor Figueira


  


2. Re: Squid não abre excessões em acl's [RESOLVIDO]

Julian Castaman
maninhx

(usa Slackware)

Enviado em 13/08/2009 - 09:42h

se eu estiver errado alguém me corrige.


reply_body_max_size 5242880 deny !down_liberados
essa linha não deveria ter uma acl para ela?

esse teu squid não ta erro quando você iniciar ele?


3. Re: Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 13/08/2009 - 09:44h

Meu squid ta normal mesmo sem essa regra. Posso exluir a regra mencionada e o squid continua não abrindo excessões.
Agradeço a colaboração.

Aguardo sugestões.

Victor Figueira


4. Re: Squid não abre excessões em acl's [RESOLVIDO]

Julian Castaman
maninhx

(usa Slackware)

Enviado em 13/08/2009 - 11:03h

assim. vamos tentar ajeitar isso.
acl down_liberados src "/etc/squid/downloads_liberados"
reply_body_max_size 5242880 deny !down_liberados #essa linha não se é válida mas se for vamos tentar ajeitar.

cria a acl
acl downlimite reply_body_max_size 5242880
http_access deny downlimite !down_liberados

outra

http_access deny !Safe_ports #creio que essa linha é inútil pois você não ta bloqueando algo e liberado as Safe_ports.


creio que você queria fazer algo como
http_access deny all !Safe_Ports #assim ele bloqueia tudo que não tem regra de liberação, e também não bloqueia as Safe_Ports.
e assim você não irá navegar pois você não tem nenhum regra antes que libera para algumas máquinas. cria uma acl para máquinas, ou palavras e libera a acl antes desse bloqueio.



5. Re: Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 13/08/2009 - 11:57h

"cria a acl
acl downlimite reply_body_max_size 5242880
http_access deny downlimite !down_liberados"

Bom criei como vc disse, mas como já suspeitava iria da erro, pois reply_body_max_size não entra em uma string com acl como prefixo, a torna inválida.
Vou explicar o que eu tentei alterar, mas que tbm não deu certo.
Troquei essa regra por:
#acl html rep_mime_type text/html
#acl down_liberados src "/etc/squid/downloads_liberados"
#acl todos src 0.0.0.0/0.0.0.0
#reply_body_max_size 0 allow html
#reply_body_max_size 5242880 allow todos !down_liberados

Vou explicar, na primeira e segunda linhas identifiquei que qualquer site html carregaria sem qualquer restrição de tamanho de arquivo. Na terceira linha para todos os ips eu estava autorizando downloads como no máximo 5 MB "reply_body_max_size 5242880" para todos, com excessão dos ips que estão em "/etc/squid/downloads_liberados" que tem permissão pra baixar qualquer tamanho de arquivo. Peguei essa sugestão aqui no VOL mesmo. Porém tbm não deu certo.

Quanto a regra "http_access deny !Safe_ports" ela está negando acesso a qualquer porta e liberando acesso apenas as portas que estão nas acl's "Safe_ports" (portas seguras).

Agradeço sua atenção, mas não deu certo do jeito que vc indicou.

Victor Figueira


6. organizar facilita

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 14/08/2009 - 16:28h

olá vc já tentou assim:

acl downloads src "/etc/squid/downloads"
acl down_liberados src "/etc/squid/down_liberados"
reply_body_max_size 5242880 deny downloads !down_liberados

E aí vc coloca dentro dos dois arquivos quem tem permissão (down_liberados) e quem só pode 5MB (downloads). O squid muitas vezes precisa ler as instruções de seus arquivos, quer de liberação, quer de bloqueio, para funcionar. Isso mesmo que tivermos uma exclusão dentro de uma mesma acl. Tenta aí que eu acho que agora vai rolar! cria os arquivos, indica quem pode e quem não pode neles e tenta. Se não for exatamente isso o caminho é este.


7. Re: Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 18/08/2009 - 07:43h

Creio que não seja a organização do .conf, pois ele ta rodando em uma outra distro que uso.
Já usei este .conf em uma outra versão da distro ubuntu e rodou perfeitamente. Só to tendo problemas com esta.
E quanto a:

"http_access deny !Safe_ports

Aqui ele deveria abrir uma excessão a "Safe_ports", mas não abre tbm.
Em meu conf liberei a internet para rede local e em consequência se eu fechar a conexão para externo perco tbm a rede local.

Vocês podem observa que deixei "allow" pois se eu deixar "deny", ninguém navega.

http_access allow all"

Alguma sugestão?

Por enquanto vou tentar o que o cl2b2r sugeriu.

Obrigado,

Victor Figueira


8. Re: Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 20/08/2009 - 15:59h

Infelizmente não funcionou!

Como eu já havia previsto, não funcionou. Minhas regras estão corretas, pois funcionam em outra distro, e isso que me deixa mais encabulado, pois no ubuntu tbm deveria funcionar.
Só ratificando, o erro, ou melhor dizendo, a excessão (!) é que não funciona. Contudo a regra seja ela "allow" ou "deny" funciona perfeitamente.

Alguma outra idéia?

Agradeço.

Victor Figueira


9. Re: Squid não abre excessões em acl's [RESOLVIDO]

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 20/08/2009 - 16:19h

Toma cuidado ...

no caso

deny redelocal !down_liberados

ou

deny all !down_liberados

vc sempre deve indicar o que esta negando , se for tudo use o all




10. Re: Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 21/08/2009 - 13:50h

Obrigado. A correção já foi feita, porém ainda não funciona, não abre excessões.

Mais alguém pra colaborar?

Obrigado,

Victor Figueira


11. Re: Squid não abre excessões em acl's [RESOLVIDO]

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 25/08/2009 - 10:02h

Cara! Se suas regras já foram testadas em outra distro e funcionam então o problema foi a compilação dos pacotes .deb do Ubuntu, neste caso vc tem duas soluções:

1ª - Continuar usando a distro que funciona

2ª - Compilar o squid na "mão" e criar seu arquivo do jeito que vc já sabe que funciona.

A propósito: Em qual distro este teu conf funciona?

Outra coisa, vc tentou instalar o squid guard e fazer isso por lá?


12. Re: Squid não abre excessões em acl's [RESOLVIDO]

Victor Figueira
mrjeday

(usa Debian)

Enviado em 26/08/2009 - 20:18h

Funciona no debian etch, já pensei em recompilar o squid manualmente, mas tenho uma rede com 125 computadores e está me faltando tempo. Mas acho que essa vai ser a solução mesmo. Pensei em voltar para o debian etch. Porém, em meu ubuntu trabalho com squid+iptables+dansguardian+sarg+apache+mysql+PHP.
O squid+dansguardian+iptables até que mudo pra outra distro sem problema.
Mas o meu apache+mysql+PHP vai ser meio ralado, dá sei que dá porque já movi do etch pra esse ubuntu. Mas meu banco ta bem maior agora, pois trabalho com muitos formulários em minha intranet. Formulários que são usados diariamente pelos usuários. Aí to meio preocupado. E buscando soluções alternativas.
Com relação ao squid guard, ainda não tinha pensado nessa opção.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts