Squid / Firewall com alguns bloqueios indevidos

1. Squid / Firewall com alguns bloqueios indevidos

Sérgio de Souza
sergiosgs

(usa Debian)

Enviado em 16/01/2012 - 12:10h

Bom dia meus amigos,

Tenho configurado um server que é Firewall e Proxy e o mesmo está funcionando, porém o mesmo está apresentando algumas situações que tenho quebrado a cabeça para resolvê-las

Conto com a experiência de vocês, vamos as situações:
1) Alguns sites ficam extremamente lentos e/ou carregam todo quebrado: CEF e globo.com

2) Preciso abrir regras para que alguns ips não passem de forma alguma pelo proxy. Existe uma regra, porém ainda apresenta alguns tipos de bloqueio em algumas portas

3) Toda vez que preciso de uma porta tenho que colocar no proxy lá em "acl Safe_ports port", isso é correto?

Sei que existe uma lógica para se inserir esses comandos porém já fiz isso e nada, sendo assim segue meu script para ajudarem, se possível, a corrigir o meu erro.

#-- Configuração Proxy --
http_port 3128
visible_hostname Server_Firewall
error_directory /usr/share/squid/errors/pt-br/
cache_mem 256 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 2 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 5240 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

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 809 1863 10000
acl Safe_ports port 21 80 210 280 443 488 563 591 777 809 1863 4128 5000 8000 8080 10000
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

#-- Bloqueio o acesso antes de passar pela autenticação do AD
acl redelocal src 192.168.2.0/24
http_access deny !redelocal

#-- Liberação de Acesso Total por IP (sem autenticação)
acl ipsliberados src "/etc/scripts/ipsliberados"
http_access allow ipsliberados

#-- Configuração das Restrições de Acesso --
acl sitesliberados url_regex -i "/etc/scripts/sitesliberados"
http_access allow sitesliberados
acl palavrasliberadas url_regex -i "/etc/scripts/palavrasliberadas"
http_access allow palavrasliberadas
acl palavrasbloqueadas urlpath_regex -i "/etc/scripts/palavrasbloqueadas"
http_access deny palavrasbloqueadas
acl sitesbloqueados url_regex -i "/etc/scripts/sitesbloqueados"
http_access deny sitesbloqueados
acl extbloqueadas url_regex -i "/etc/scripts/extbloqueadas"
http_access deny extbloqueadas

#-- Configuração para Autenticação no AD --
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 30
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 30
auth_param basic realm Server - Autenticar WEB
auth_param basic credentialsttl 12 hours
acl AuthorizedUsers proxy_auth REQUIRED
http_access allow all AuthorizedUsers

#-- Libera o acesso --
acl redelocal src 192.168.2.0/24

#-- Configuração para Limite de Banda (NET 20 MB) --
delay_pools 1
delay_class 1 2
delay_parameters 1 2228224/2228224 393216/393216
delay_access 1 allow redelocal

#-- Bloqueia os demais --
http_access allow localhost
http_access allow redelocal
http_access deny all



  


2. Re: Squid / Firewall com alguns bloqueios indevidos

Phillip Vieira
phrich

(usa Slackware)

Enviado em 16/01/2012 - 12:25h

1) Alguns sites ficam extremamente lentos e/ou carregam todo quebrado: CEF e globo.com

Faça o seguinte: tail -f /var/log/squid3/acess.log | grep ip_estação | grep -i denied

Ai vc vai ver o que está sendo acessado, pois alguns sites buscam imagens de outros sites, que com certeza estão bloqueados.


2) Preciso abrir regras para que alguns ips não passem de forma alguma pelo proxy. Existe uma regra, porém ainda apresenta alguns tipos de bloqueio em algumas portas

Coloque as regras acima das linhas de autentição.


3) Toda vez que preciso de uma porta tenho que colocar no proxy lá em "acl Safe_ports port", isso é correto?

Depende, do acesso pode ser colocado nesta acl ou liberada diretamente no iptables.





#-- Configuração Proxy --
http_port 3128
visible_hostname Server_Firewall
error_directory /usr/share/squid/errors/pt-br/
cache_mem 256 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 2 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 5240 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

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 809 1863 10000
acl Safe_ports port 21 80 210 280 443 488 563 591 777 809 1863 4128 5000 8000 8080 10000
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

#-- Bloqueio o acesso antes de passar pela autenticação do AD
# Vc não necessita desta regra aqui
#acl redelocal src 192.168.2.0/24
# Essa regra vc libera / bloqueia ao final do arquivo
#http_access deny !redelocal

#-- Liberação de Acesso Total por IP (sem autenticação)
acl ipsliberados src "/etc/scripts/ipsliberados"
http_access allow ipsliberados

#-- Configuração das Restrições de Acesso --
acl sitesliberados url_regex -i "/etc/scripts/sitesliberados"
http_access allow sitesliberados
acl palavrasliberadas url_regex -i "/etc/scripts/palavrasliberadas"
http_access allow palavrasliberadas
acl palavrasbloqueadas urlpath_regex -i "/etc/scripts/palavrasbloqueadas"
http_access deny palavrasbloqueadas
acl sitesbloqueados url_regex -i "/etc/scripts/sitesbloqueados"
http_access deny sitesbloqueados
acl extbloqueadas url_regex -i "/etc/scripts/extbloqueadas"
http_access deny extbloqueadas

#-- Configuração para Autenticação no AD --
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 30
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 30
auth_param basic realm Server - Autenticar WEB
auth_param basic credentialsttl 12 hours


acl AuthorizedUsers proxy_auth REQUIRED
http_access allow all AuthorizedUsers

#-- Libera o acesso --
acl redelocal src 192.168.2.0/24

#-- Configuração para Limite de Banda (NET 20 MB) --
delay_pools 1
delay_class 1 2
delay_parameters 1 2228224/2228224 393216/393216
delay_access 1 allow redelocal

#-- Bloqueia os demais --
http_access allow localhost
http_access allow redelocal
http_access deny all


Cara vc deve dar uma organizada no seu arquivo, pois tudo está passando antes da autenticação, ou seja, no momento que o usuário for solicitado por seu usuário e senha, e ele pressionar o esc, ele consegue navegar de acordo as regra que foram inseridas antes da linha de autenticação, exceto pelo fato da linha que eu comentei lá em cima.

Coloque as regras que vc precisa liberar/negar abaixo das linhas de autenticação.

Esqueci de avisar, veja os comentários na sua conf.

Teste ai e nos avise ok?


3. Re: Squid / Firewall com alguns bloqueios indevidos

Sérgio de Souza
sergiosgs

(usa Debian)

Enviado em 19/01/2012 - 16:00h

Olá phrich

Você disse para colocar as regras liberar/negar abaixo das linhas de autenticação.

Fiquei com uma dúvida, essa regra de autenticação eu deixo no mesmo local ou devo inserir ela mais para cima no script?

Já aproveitando, eu fiz uma regra via iptables para determinado IP não passar pelo proxy, porém a navegação de algumas imagens continua lenta, pode ser que esse ip ainda está fazendo cache?

Obrigado.


4. Re: Squid / Firewall com alguns bloqueios indevidos

Phillip Vieira
phrich

(usa Slackware)

Enviado em 19/01/2012 - 17:40h

sergiosgs escreveu:

Olá phrich

Você disse para colocar as regras liberar/negar abaixo das linhas de autenticação.

Fiquei com uma dúvida, essa regra de autenticação eu deixo no mesmo local ou devo inserir ela mais para cima no script?

Já aproveitando, eu fiz uma regra via iptables para determinado IP não passar pelo proxy, porém a navegação de algumas imagens continua lenta, pode ser que esse ip ainda está fazendo cache?

Obrigado.



Não, teste com ela no mesmo lugar.

Se está lento pode ser que ainda esteja fazendo cache mesmo.

Vc pode criar uma acl do tipo no_cache, eu não tenho acesso a minhas anotações aqui, mas acho que se pode criá-la para usuários também.



5. Re: Squid / Firewall com alguns bloqueios indevidos

Sérgio de Souza
sergiosgs

(usa Debian)

Enviado em 02/02/2012 - 11:51h

Olá phrich

Essa regra de no_cache ... eu posso usar para endereços de site ou ips?

Como seria essa regra?

Algo assim,
acl sitessemcache no_cache "/etc/server/sitessemcaches"
http_access allow sitessemcache


Eu colocaria aonde no squid?


Obrigado


6. Re: Squid / Firewall com alguns bloqueios indevidos

Phillip Vieira
phrich

(usa Slackware)

Enviado em 02/02/2012 - 12:00h

Vc pode colocar em qualquer parte das acls, ai vc tem que ver se esses sites necessitam de autenticação ou não.


7. Re: Squid / Firewall com alguns bloqueios indevidos

Sérgio de Souza
sergiosgs

(usa Debian)

Enviado em 02/02/2012 - 12:14h

OK vou testar agora


Obrigado



8. Re: Squid / Firewall com alguns bloqueios indevidos

Sérgio de Souza
sergiosgs

(usa Debian)

Enviado em 02/02/2012 - 12:25h

Opa deu a a mensagem

root@srv-fw:/etc/fw# /etc/init.d/squid reload
Reloading Squid configuration files.
2012/02/02 12:18:31| aclParseAclLine: Invalid ACL type 'no_cache'
FATAL: Bungled squid.conf line 53: acl sitesdvrs no_cache "/etc/fw/sitessemcahce"
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
done.


----------------------

Dentro do squid inseri assim
acl sitessemcache no_cache "/etc/fw/sitessemcache"
http_access allow sitessemcache





9. Erros

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/02/2012 - 12:27h

1- Tem uma regra duplicada "acl rede local"
2- A letidão esta no seu delay pools que esta configurado incorretamente:

Veja um exemplo correto:
http://www.vivaolinux.com.br/artigo/Criando-delay-pools-(Proxy-Squid)?pagina=2


10. Erro na digitação

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/02/2012 - 12:37h

sergiosgs escreveu:

Opa deu a a mensagem

root@srv-fw:/etc/fw# /etc/init.d/squid reload
Reloading Squid configuration files.
2012/02/02 12:18:31| aclParseAclLine: Invalid ACL type 'no_cache'
FATAL: Bungled squid.conf line 53: acl sitesdvrs no_cache "/etc/fw/sitessemcahce"
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
done.


----------------------

Dentro do squid inseri assim
acl sitessemcache no_cache "/etc/fw/sitessemcache"
http_access allow sitessemcache




No squid.conf
"/etc/fw/sitessemcache"

Provavelmente este diretorio não existe

acl sitesdvrs no_cache "/etc/fw/sitessemcahce"





11. Re: Squid / Firewall com alguns bloqueios indevidos

Phillip Vieira
phrich

(usa Slackware)

Enviado em 02/02/2012 - 13:52h

É só vc remover acl, o corretor seria:

no_cache "/caminho/arquivo/com/sites"


12. Re: Squid / Firewall com alguns bloqueios indevidos

Sérgio de Souza
sergiosgs

(usa Debian)

Enviado em 02/02/2012 - 15:52h

OK vamos lá

coloquei só comando acima e me retornou o erro

2012/02/02 15:50:09| squid.conf line 53: no_cache "/etc/fw/sitesdvrs"
2012/02/02 15:50:09| aclParseAccessLine: expecting 'allow' or 'deny', got '"/etc/fw/sitesdvrs"'.

Ahh... aproveitando, depois como faço para saber se essa regra está funcionando?




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts