[FUG-BR] PFSense + Squid + Custom Options

Welkson Renny de Medeiros welkson em focusautomacao.com.br
Terça Dezembro 30 11:51:26 BRST 2008


Giancarlo,

Fiz a custom options como sugerido pensando que a regra com o mesmo nome 
ignoraria a primeira... mesmo assim não funcionou....

Ficou assim:
acl blockext url_regex -i \.scr$ \.pif$ \.bat$ \.cmd$ \.lnk$ \.vbs$;
http_access allow unrestricted_hosts !blockext;

Vou postar o SQUID.CONF inteiro pra você ver:

# Setup some default acls
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901  3128 
1025-65535
acl sslports port 443 563
acl manager proto cache_object
acl purge method PURGE
acl connect method CONNECT
acl dynamic urlpath_regex cgi-bin \?
acl allowed_subnets src 192.168.2.0/24
acl unrestricted_hosts src "/var/squid/acl/unrestricted_hosts.acl"
acl banned_hosts src "/var/squid/acl/banned_hosts.acl"
acl whitelist dstdom_regex -i "/var/squid/acl/whitelist.acl"
acl blacklist dstdom_regex -i "/var/squid/acl/blacklist.acl"
cache deny dynamic
http_access allow manager localhost

http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !safeports
http_access deny CONNECT !sslports

# Always allow localhost connections
http_access allow localhost

request_body_max_size 0 KB
reply_body_max_size 0 allow all
cache_mem 8 MB
maximum_object_size 4 KB
minimum_object_size 0 KB
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
http_access allow localhost

request_body_max_size 0 KB
reply_body_max_size 0 allow all
delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_initial_bucket_level 100
delay_access 1 allow all

# These hosts are banned
http_access deny banned_hosts
# These hosts do not have any restrictions
http_access allow unrestricted_hosts
# Always allow access to whitelist domains
http_access allow whitelist
# Block access to blacklist domains
http_access deny blacklist
# Allow local network(s) on interface(s)
http_access allow localnet
http_access allow allowed_subnets

# Custom options (BRONCA AQUI #########################################)
acl blockext url_regex -i \.scr$ \.pif$ \.bat$ \.cmd$ \.lnk$ \.vbs$
http_access allow unrestricted_hosts !blockext

# Default block all to be sure
http_access deny all


Ativei o debug como sugerido e tinha isso no cache.log:

2008/12/30 10:42:10| The reply for GET http://intranet.xxx.com.br/ is 
ALLOWED, because it matched 'all'
2008/12/30 10:42:10| The request GET http://intranet.xxx.com.br/ is ALLOWED, 
because it matched 'unrestricted_hosts'
2008/12/30 10:42:10| The reply for GET http://intranet.xxx.com.br/ is 
ALLOWED, because it matched 'all'

ALL tem prioridade, unrestricted_hosts também.

Resumindo: TÔ FERRADO!

Dei uma olhada no módulo squidguard, nele dar para definir a prioridade, mas 
não achei como definir bloqueios por exetensão, ou uma "Custom acl" =)

No fórum do pfsense tem quase nada... rsrs

Welkson


----- Original Message ----- 
From: "Giancarlo Rubio" <gianrubio em gmail.com>
To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" 
<freebsd em fug.com.br>
Sent: Tuesday, December 30, 2008 10:32 AM
Subject: Re: [FUG-BR] PFSense + Squid + Custom Options


2008/12/30 Welkson Renny de Medeiros <welkson em focusautomacao.com.br>

> Infelizmente para "Custom Options" não dar para definir a ORDEM das ACL.
>
> Se não me engano o autor do módulo squid para pfsense é brasileiro... vou
> ver se consigo o email para enviar essa pergunta... enviei também para o
> fórum squid-br.
>
> Por isso mesmo decidi perguntar no fórum, porque eu já sabia que a ORDEM
> das
> acl é que define a prioridade, e que não existe um "quick" da vida...
>
> Alterar o código do pfsense para gerar primeiro o "Custom Options"
> teoricamente não seria difícil (php), mas no futuro isso dar um pau e 
> outro
> tenta ajeitar... tá ferrado =)
>
> Welkson
>

Eu não creio que escreveram este módulo e ele não permita isso. Acho que é
um problema de leitura de como você deve fazer essa regra.

Vc não consegue editar essas custom options??
Naõ poderia fazer algo como
http_access allow unrestricted_hosts !blockext

???


>
> ----- Original Message -----
> From: "Giancarlo Rubio" <gianrubio em gmail.com>
> To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> <freebsd em fug.com.br>
> Sent: Tuesday, December 30, 2008 10:14 AM
> Subject: Re: [FUG-BR] PFSense + Squid + Custom Options
>
>
> 2008/12/30 Welkson Renny de Medeiros <welkson em focusautomacao.com.br>
>
> > Bom dia Giancarlo!
> >
> > Então, eu até sei qual regra está dando match, a bronca é que não posso
> > alterar o squid.conf manualmente, já que o pfsense quando reinicia
> > recarrega
> > o xml e escreve dinamicamente o squid.conf novamente.
>
>
> Nd que um backup das regras e uma alteração não resolvam :). Dps vc volta
> atrás.
>
>
> > A regra que está dando match é essa:
> > http_access allow unrestricted_hosts
> >
> > Ou seja, todos os ips que estão na whitelist tem acesso liberado
> > (allow)...
> > como essa regra vem primeiro que as "Custom Options" então tem
> prioridade.
> >
> > A pergunta é, tem como alterar a acl para dizer que ela tem prioridade?
>
>
> A "prioridade" no caso é a regra que ele casa primeiro, é dessa forma que 
> o
> squid lida com as acls, no caso acima cada http_access é uma regra.
>
> Não mexi na interface do pfsense com squid, mais deve ter alguma opção 
> para
> você colocar uma regra acima da outra ou algo assim.
>
>
> >
> > No pfsense as "Custom Options" sempre são geradas NO FIM do squid.conf,
> ou
> > seja, após todos os "Allow".... se tivesse algo como um "quick" do pf
> > seria
> > show =)
>
>
>
> Não tem quick porque como lhe falei, uma vez que um http_access case com a
> regra, ele interrompe o processamento e executa a  ação que você mandou
> (allow/deny)
>
>
> --
> ---
> Giancarlo Rubio
> Getech - Soluções em rede
> (41) 4063-9039 / (11) 4063-5470
> www.getech.com.br
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



-- 
---
Giancarlo Rubio
Getech - Soluções em rede
(41) 4063-9039 / (11) 4063-5470
www.getech.com.br
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



Mais detalhes sobre a lista de discussão freebsd