[FUG-BR] Liberar sites para grupo especifico ( squid )

Enio Marconcini eniorm em gmail.com
Segunda Dezembro 28 13:52:49 BRST 2009


2009/12/28 Ricardo Souza <ricardo.souza em ti.cmtsp.com.br>

> Galera,
>
> Alguem ai sabe como eu faço para liberar sites especificos para um grupo?
>
> Eu nao consigo fazer isso usando o dstdomain nem o url_regex.
>
> Meu ambiente:
> Squid Cache: Version 3.1.0.15 integrado ao Active Directory
> 7.2-RELEASE-p4
>
> Eu quero liberar os dominios listados em
> /usr/local/squid/sites_acesso_padrao para os usuarios do grupo
> AcessoPadrao.
>
> #Grupo Acesso Padrao
> acl ldapAcessoPadrao external ldap_group AcessoPadrao
>
> # ACL com sites permitidos para Acesso Padrao
> acl acesso_padrao dstdomain -i "/usr/local/squid/sites_acesso_padrao"
>
> http_access deny ldapAcessoPadrao
> http_access allow ldapAcessoPadrao acesso_padrao
>
> caos# cat sites_acesso_padrao
> .terra.com.br
> .uol.com.br
> caos#
>
>
> Os usuários dos grupos AcessoTotal e AcessoRestrito estão funcionando na
> boa.
>
>
> Meu squid.conf
>
> http_port 192.168.9.10:3128
> icp_port 3130
> hierarchy_stoplist cgi-bin ?
> #acl QUERY urlpath_regex cgi-bin ?
> #no_cache deny QUERY
> cache_mem 1500 MB
> cache_swap_low 90
> cache_swap_high 95
> maximum_object_size 9216 KB
> ipcache_size 1024
> ipcache_low 90
> ipcache_high 95
> fqdncache_size 1024
> cache_replacement_policy lru
> memory_replacement_policy lru
> cache_dir ufs /usr/local/squid/cache 2500 16 100
> cache_access_log /usr/local/squid/logs/access.log
> cache_store_log none
>
> # As linhas abaixo se referem a autenticacao de users no AD
> auth_param basic program /usr/local/libexec/squid/squid_ldap_auth -R
> -b "dc=autopass" -D "cn=squid,ou=Internet,dc=autopass" -w "mypass" -f
> sAMAccountName=%s -h 192.168.9.12 -p 389
>
>
> auth_param basic realm Este acesso ser\xe1 registrado Digite sua login e
> senha
> auth_param basic children 5
> auth_param basic credentialsttl 15 minutes
>
> emulate_httpd_log on
> mime_table /usr/local/etc/squid/mime.conf
> pid_filename /usr/local/squid/logs/squid.pid
> ftp_user ftp em autopass.com.br
> ftp_passive on
> #unlinkd_program /usr/local/squid/libexec/unlinkd
>
> # ACL externa para autentica\xe7\xe3o nas bases LDAP do PDC
>
> external_acl_type ldap_group children=30 %LOGIN
> /usr/local/libexec/squid/squid_ldap_group -v 3  -R -b "DC=autopass" -D
> "cn=squid,ou=
> Internet,DC=autopass" -w "mypass" -f "(&(objectclass=person)
> (sAMAccountName=%v) (memberof=cn=%a,ou=Internet,dc=autopass))"  -h
>  192.168.9.12 -p 389
>
>
> #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 9141
> acl Safe_ports port 80 # http
> acl Safe_ports port 81
> acl Safe_ports port 82
> acl Safe_ports port 85
> 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 CONNECT method CONNECT
>
> # A acl abaixo faz bloqueio de acesso por IP"
> #acl block_ip src "/usr/local/squid/etc/ips_bloqueados"
>
> # A ACL abaixo efetua bloqueio do MSN
> #acl dst_msn dstdomain -i "/usr/local/squid/etc/msn_domain"
>
> # A ACL abaixo barra download de arquivos com extens\xf5es exe mp3 wma
> wmv mpg avi asf
> acl block_arq urlpath_regex -i  .com$ .exe$ .scr$ .mp3$ .mpeg$  .wma$
> .wmv$ .mpg$ .avi$ .pif$
>
> #acl palavra_download url_regex -i
> "/usr/local/squid/etc/palavra_download-url"
>
> # As ACLs abaixo relaxam o controle de conte\xfado das 12:00 as 13:30
> # Inserir os sites a serem liberados das 12 as 13 no arquivo
> /usr/local/squid/etc/libera_almoco
> #acl libera_sites url_regex -i "/usr/local/squid/etc/libera_almoco"
> #sites de "libera_almoco"
> #acl almoco time SMTWHFA 12:00-13:30
>  #libera  acesso  das  12 as 13:30 #de segunda a domingo.
>
> # A ACL abaixo libera alguns sites para acesso sem autenticacao
> # Lista possui os dominios da empresa, bancos e alguns sites de parceiros
> acl libera_restritos   dstdomain -i "/usr/local/squid/sites_liberados"
>  # Libera alguns sites p/user s/acesso
>
> # ACL com sites permitidos para Acesso Padrao
> acl acesso_padrao dstdomain -i "/usr/local/squid/sites_acesso_padrao"
>
> # ACLs de Controle de Conte\xfado
> #acl dominio_bloqueado dstdomain -i "/usr/local/squid/etc/block_dominio"
> #acl dominio_liberado dstdomain  -i "/usr/local/squid/etc/libera_dominio"
> #acl sex url_regex -i "/usr/local/squid/etc/porno"
> #acl nosex url_regex -i "/usr/local/squid/etc/naoporno"
>
>
> # ACLs_ACTIVE_DIRECTORY
> #Grupo Acesso Restrito
> acl ldapAcessoRestrito external ldap_group AcessoRestrito
> #Grupo Acesso Padrao
> acl ldapAcessoPadrao external ldap_group AcessoPadrao
> #Grupo Acesso Total
> acl ldapAcessoTotal external ldap_group AcessoTotal
> #Grupo Acesso Download
> acl ldapAcessoDownload external ldap_group AcessoDownload
>
> # A ACL abaixo desbloqueia download para o grupo AcessoPadrao
> #acl download_url url_regex "/usr/local/squid/etc/libera_download-url"
>
> http_access deny !Safe_ports
> http_access deny CONNECT !SSL_ports
> #http_access deny block_ip
>
> http_access allow libera_restritos
> http_access deny  ldapAcessoRestrito
> http_access deny ldapAcessoPadrao
> http_access allow ldapAcessoPadrao acesso_padrao
> http_access allow ldapAcessoTotal
> #http_access deny dst_msn
> #http_access allow dominio_liberado
> #http_access allow libera_sites almoco
> #http_access deny dominio_bloqueado
> #http_access allow ldapAcessoDownload block_arq
> #http_access allow ldapAcessoDownload palavra_download
> #http_access allow download_url
> #http_access deny block_arq
> #http_access allow nosex
> #http_access deny sex
> http_access allow manager localhost
> http_access deny manager
> http_access deny all
>
>
> icp_access allow all
> cache_effective_user squid
> cache_effective_group squid
> visible_hostname proxy.reboucas.autopass.com.br
> unique_hostname proxy.reboucas.autopass.com.br
> append_domain .AUTOPASS
> acl local-servers dstdomain autopass.com.br
> acl local-serverspr dstdomain cmtsp.com.br
> always_direct allow local-servers
> always_direct allow local-serverspr
> #error_directory /usr/local/squid/share/errors/Portuguese
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


não olhei a fundo suas regras mas aqui eu resolvi isso de maneira simples
com o Squid

acl sites_restritos dstdomain "sites_restritos.txt"
acl usuarios_restritos proxy_auth "usuarios_restritos.txt"
http_access allow sites_restritos usuarios_restritos
http_access deny sites_restritos

com isso eu consegui 1) liberar somente os usuários escolhidos para abrir os
sites restritos, 2) bloquear o resto de sites que estão nessa acl para o
restante


-- 
ENIO RODRIGO MARCONCINI
gtalk: eniorm em gmail.com
skype: eniorm
msn: /dev/null

.: FreeBSD -:- OpenBSD -:-Slackware Linux :.


Mais detalhes sobre a lista de discussão freebsd