Squid 3 - acl não bloqueia [RESOLVIDO]

1. Squid 3 - acl não bloqueia [RESOLVIDO]

Jocimar
canhotojam

(usa CentOS)

Enviado em 27/01/2012 - 12:19h

Pessoal, estou com um problema, acredito ser simples para permitir e bloquear acesso de acordo com minha lista criada.
Utilizo Squid 3, distro CentOS 6.2, autenticando no AD Windows Server 2003R2.
Fiz os testes de autenticação, está funcionando corretamente. Me deparei com as regras de liberação por grupo.

Estou testando com 2 grupos do AD: recepcao e faturamento;
a recepção terá acesso a sites apenas de convênios (criei um arquivo com os sites a serem acessados);
o faturamento terá acesso a esses sites e mais alguns (Ex.: uol, globo, terra...);
Fora as regras acima, a rede inteira respeitará minha blacklist.
As regras estão dessa forma:

acl site dstdomain "/etc/squid/site"
acl negado url_regex -i "/etc/squid/restrito"
acl convenios url_regex -i "/etc/squid/convenios"
acl liberados url_regex -i "/etc/squid/liberados"
acl hmsm src 192.168.0.0/24

http_access allow informatica
http_access allow site
http_access deny negado
http_access allow convenios
http_access allow recep
http_access allow liberados
http_access allow fat

http_access deny hmsm
http_access deny all

A acl "informatica, recep e fat" são acl's dos grupos do AD; a acl "site" é de um site que todos poderão acessar.
O que preciso é que a acl "recep" não tenha acesso a acl liberados (somente a acl convenios), mas que a acl fat tenha acesso tanto a acl liberados quanto a acl convenios.

As acl's negado, convenios e liberados são apenas sites/palavras a serem tratados no http_access.

Poderiam me ajudar nesse problema?


  


2. Re: Squid 3 - acl não bloqueia [RESOLVIDO]

Phillip Vieira
phrich

(usa Slackware)

Enviado em 27/01/2012 - 12:29h

Ficaria mais ou menos assim, vc nega o acesso as acls e depois vc libera veja abaixo:

acl site dstdomain "/etc/squid/site"
acl negado url_regex -i "/etc/squid/restrito"
acl convenios url_regex -i "/etc/squid/convenios"
acl liberados url_regex -i "/etc/squid/liberados"
acl hmsm src 192.168.0.0/24

http_access allow informatica
http_access allow site
http_access deny negado
http_access allow convenios
# nega o acesso a recep exceto os sites listados em convenios
http_access deny recep !convenios
http_access allow liberados
# nega o acesso a fat excetos os sites citados em liberados e convenios
http_access deny fat !liberados !convenios

http_access deny hmsm
http_access deny all


Testa ai e qqr coisa fala com a gente ok?


3. Re: Squid 3 - acl não bloqueia [RESOLVIDO]

Jocimar
canhotojam

(usa CentOS)

Enviado em 27/01/2012 - 14:06h

phrich, configurei dessa forma, mas o usuário da acl recep está acessando os sites da acl liberados.
Tô achando muito estranho, aparentemente parece ser uma regra fácil de se fazer, só se for algum detalhe muito chato que tá zuando.


4. Teste

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 27/01/2012 - 14:56h

Seguindo o squema do phrich
http_access allow liberados !recep


5. Re: Squid 3 - acl não bloqueia [RESOLVIDO]

Jocimar
canhotojam

(usa CentOS)

Enviado em 27/01/2012 - 15:15h

andrecanhadas, deixei dessa forma a configuração, mesmo assim a acl recep consegue acessar os sites da acl liberados:


acl site dstdomain "/etc/squid/site"
acl negado url_regex -i "/etc/squid/restrito"
acl convenios url_regex -i "/etc/squid/convenios"
acl liberados url_regex -i "/etc/squid/liberados"
acl hmsm src 192.168.0.0/24

http_access allow informatica
http_access allow site
http_access deny negado
http_access allow convenios
# nega o acesso a recep exceto os sites listados em convenios
http_access deny recep !convenios
http_access allow liberados !recep
# nega o acesso a fat excetos os sites citados em liberados e convenios
http_access deny fat !liberados !convenios


http_access deny hmsm
http_access deny all


6. Deny

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 27/01/2012 - 15:27h

Tenta desta forma:
http_access deny liberados !quem pode !quem pode2


7. Re: Squid 3 - acl não bloqueia [RESOLVIDO]

Jocimar
canhotojam

(usa CentOS)

Enviado em 27/01/2012 - 17:11h

Desta forma ele fica pedindo autenticação, após inserir as credencias acessa normal! :(


8. Squid.conf

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 27/01/2012 - 17:24h

Posta o squid.conf completo para ver a ordem das regras e se tem algo errado com a autenticação.


9. Re: Squid 3 - acl não bloqueia [RESOLVIDO]

Jocimar
canhotojam

(usa CentOS)

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

#squid.conf
shutdown_lifetime 5 seconds
icp_port 0

http_port 3128
cache_mem 512 MB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 512 64 256

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

maximum_object_size 30000 KB
maximum_object_size_in_memory 40 KB

access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
mime_table /etc/squid/mime.conf

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
#quick_abort_max 16 KB
#quick_abort_pct 95
#quick_abort_min 16 KB
#request_header_max_size 20 KB
#reply_header_max_size 20 KB
#request_body_max_size 0 KB

auth_param basic program /usr/lib64/squid/squid_ldap_auth -R -b "dc=dominio,dc=local" -D "CN=Squid SP. Proxy,OU=Ti,DC=dominio,DC=local" -w "123456" -f sAMAccountName=%s -h 192.168.0.156

auth_param basic realm Proxy Interno
auth_param basic children 32
auth_param basic credentialsttl 30 minutes

external_acl_type internet %LOGIN /usr/lib64/squid/squid_ldap_group -R -b "dc=dominio,dc=local" -D "CN=Squid SP. Proxy,OU=Ti,DC=dominio,DC=local" -w "123456" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,OU=Ti,DC=dominio,DC=local))" -h 192.168.0.156


acl recep external internet recepcao
acl fat external internet faturamento
acl informatica external internet ti

#ACL's Recomendadas
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563 1863
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

acl manager proto cache_object
acl localhost src 127.0.0.1/32

http_access allow manager localhost
http_access deny manager
http_access allow localhost

acl site dstdomain "/etc/squid/site"
acl negado url_regex -i "/etc/squid/restrito"
acl convenios url_regex -i "/etc/squid/convenios"
acl liberados url_regex -i "/etc/squid/liberados"
acl hmsm src 192.168.0.0/24

http_access allow informatica
http_access allow site
http_access deny negado
http_access allow convenios
# nega o acesso a recep exceto os sites listados em convenios
http_access deny recep !convenios
http_access allow liberados
# nega o acesso a fat excetos os sites citados em liberados e convenios
http_access deny fat !liberados !convenios

http_access deny hmsm
http_access deny all

httpd_suppress_version_string off
visible_hostname HMSM
cache_mgr meu-email@gmail.com

error_directory /usr/share/squid/errors/pt-br/


10. Teste

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 27/01/2012 - 18:07h

Tenta assim:

### Como esta #################################
http_access allow informatica
http_access allow site
http_access deny negado
http_access allow convenios
# nega o acesso a recep exceto os sites listados em convenios
http_access deny recep !convenios
http_access allow liberados
# nega o acesso a fat excetos os sites citados em liberados e convenios
http_access deny fat !liberados !convenios
##############################################

#### Como fica ##################################
# Blacklist
http_access deny negado

# Nega o acesso a recep exceto os sites listados em convenios
http_access deny recep !convenios

# nega o acesso a fat excetos os sites citados em liberados e convenios
http_access deny fat !liberados !convenios

# Permite acesso aos sites liberados meno para recep
http_access allow liberados !recep

# Liberados sem restrições acima
http_access allow convenios
http_access allow site
http_access allow informatica
#############################################


11. Re: Squid 3 - acl não bloqueia [RESOLVIDO]

Jocimar
canhotojam

(usa CentOS)

Enviado em 28/01/2012 - 10:37h

Cara, não funcionou.
Será que tem alguma opção na instalação que está dificultando o funcionamento do squid? Instalei pelo yum mesmo, acredito que esteja completo:

[root@squid]# squid -v
Squid Cache: Version 3.1.10
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-arp-acl' '--enable-follow-x-forwarded-for' '--enable-auth=basic,digest,ntlm,negotiate' '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SMB,YP,getpwnam,multi-domain-NTLM,SASL,DB,POP3,squid_radius_auth' '--enable-ntlm-auth-helpers=smb_lm,no_check,fakeauth' '--enable-digest-auth-helpers=password,ldap,eDirectory' '--enable-negotiate-auth-helpers=squid_kerb_auth' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-referer-log' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl' '--enable-storeio=aufs,diskd,ufs' '--enable-useragent-log' '--enable-wccpv2' '--enable-esi' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fpie' 'LDFLAGS=-pie' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fpie' --with-squid=/builddir/build/BUILD/squid-3.1.10


12. Autenticação

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 28/01/2012 - 14:14h

#### Como fica ##################################
acl ldap-auth proxy_auth REQUIRED
http_access deny !ldap-auth

# Blacklist
http_access deny negado

# Nega o acesso a recep exceto os sites listados em convenios
http_access deny recep !convenios

# nega o acesso a fat excetos os sites citados em liberados e convenios
http_access deny fat !liberados !convenios

# Permite acesso aos sites liberados meno para recep
http_access allow liberados !recep

# Liberados sem restrições acima
http_access allow convenios
http_access allow site
http_access allow informatica
#############################################

Acho que agora vai.

Vc não estava pedindo autenticação



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts