Squid não bloqueia os sites...

Iniciado por Paulinunes, 20 de Outubro de 2011, 11:52

tópico anterior - próximo tópico

Paulinunes

Bom dia,

Estou usando um script do squid para bloquear alguns sites de acordo com o tipo de usuário.

A idéia é a seguinte, tenho quatro tipos de usuários: ti (usuários do grupo TI, acesso irrestrito), liberados_total (usuários com liberação para todos os sites, exceto redes sociais e sites inapropriados à empresa), liberados_parcial (acessam apenas sites referentes ao trabalho, sem redes sociais, msn, e-mail, sites de notícias e afim) e por fim os u_bloqueados (que como o nome já diz, totalmente bloqueados, sem acesso algum à Internet).

O que acontece é que eu não consigo fazer com que o squid bloqueie o acesso às redes sociais aos usuários que não sejam ti.

Na verdade, ele não bloqueia é nada!!!!!!!!!!!!!!!!!!!!!!!

Só bloqueia se não autenticar, depois que autentica ele libera tudo...

Estou postando o script para que possam avaliar o que estou errando. Agradeço a ajuda...

######################Script##########################################
http_port 3128
visible_hostname ########

cache_mem 512 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 3,8 GB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 5120 64 64
cache_access_log /var/log/squid/access.log
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

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

negative_ttl 3 minutes
positive_dns_ttl 6 hours
negative_dns_ttl 2 minutes

acl all src 10.1.6.0/255.255.255.0 10.1.1.0/255.255.255.0 10.6.1.0/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563 8443
acl Safe_ports port 80 81 21 443 563 70 210 280 488 591 777 901 110 587 1025-2630 2632-19999 20020-65535
acl purge method PURGE
acl CONNECT method CONNECT
acl QUERY urlpath_regex cgi_bin \?
no_cache deny QUERY

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

###ACL'S DE AUTENTICAÇNO SAMBA
auth_param basic realm Squid
authenticate_ip_ttl 1 minutes
auth_param basic program /usr/lib/squid/smb_auth -W unimed -U 10.1.1.4

###Sites que podem ser acessados sem a autenticação
acl convenios url_regex "/etc/squid/sites/convenios" proxy_auth NOTREQUIRED
http_access allow convenios

acl ti proxy_auth "/etc/squid/users/ti" REQUIRED
acl u_bloqueados proxy_auth "/etc/squid/users/u_bloqueados" REQUIRED
acl liberados_parcial proxy_auth "/etc/squid/users/liberados_parcial" REQUIRED
acl liberados_total proxy_auth "/etc/squid/users/liberados_total" REQUIRED

http_access allow ti
http_access deny u_bloqueados

acl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .wma .rmvb .aac .ogg .ac3 .mov .mkv .7z
http_access allow !extensoes
http_access deny extensoes

#Regra para bloqueio de extensoes de radios online / arquivos de streaming:
acl streaming rep_mime_type ^video/x-ms-asf
acl proibir_musica urlpath_regex -i \.aif$ \.aifc$ \.aiff$ \.asf$ \.asx$ \.avi$ \.au$ \.m3u$ \.med$ \.mp3$ \.m1v$ \.mp2$ \.mp2v$ \.mpa$ \.mov$ \.mpe$ \.mpg$ \.mpeg$ \.ogg$ \.pls$ \.ram$ \.ra$ \.ram$ \.snd$ \.wma$ \.wmv$ \.wvx$ \.mid$ \.midi$ \.rmi$

http_access deny proibir_musica
http_reply_access deny streaming

acl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas"
http_access allow !palavrasproibidas
http_access deny palavrasproibidas

http_access allow liberados_total

acl bloqueados dstdom_regex -i "/etc/squid/sites/bloqueados"
http_access deny bloqueados

acl permitidos dstdom_regex -i "/etc/squid/sites/liberados"
http_access allow permitidos
http_access deny !permitidos

http_access allow liberados_parcial

http_access deny all

acl redelocal src 10.1.1.0/24
http_access allow localhost
http_access allow redelocal

http_access deny all
######################Fim do Script###############################

cianetmidia

Tente fazer o seguinte o grupo com acesso full libere primeiro os outros grupos bloqueie tudo depois libere
Lembre-se o squid le as regras de cima pra baixo ou seja achou a primeira regra que se enquadra ele aplica não achou ele passa para a próxima até achar uma que enquadre
segue exemplo
#Usuários com permissão total
http_access allow ti
#Todo o Resto
http_access deny !permitidos
http_access deny u_bloqueados
http_access deny extensoes
http_access deny u_bloqueados
http_reply_access deny streaming
http_access deny palavrasproibidas
http_access allow convenios
http_access allow localhost
http_access allow redelocal
http_access deny all


zekkerj

Citar###Sites que podem ser acessados sem a autenticação
acl convenios url_regex "/etc/squid/sites/convenios" proxy_auth NOTREQUIRED
http_access allow convenios
Olha, até onde eu sei essa linha está errada...

A ACL do tipo "url_regex" recebe uma ou mais expressões regulares que vão identificar as URLs que devem ser liberadas ou bloqueadas. No caso, vc especificou tudo que estiver no arquivo "convenios", e mais tudo que tiver as palavras "proxy_auth" e "notrequired", ou seja, está entrando como mais uma palavra a encontrar nos URLs. Enfim: tire esse "proxy_auth NOTREQUIRED" do final da linha, que não está ajudando em nada.

Citaracl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .wma .rmvb .aac .ogg .ac3 .mov .mkv .7z
http_access allow !extensoes
http_access deny extensoes
Esse pedaço está errado. Se sua intenção era bloquear as extensões, você não pode liberar o que não tiver as extensões, pq senão vc vai liberar tudo, e nenhuma outra regra daqui pra frente será verificada.

Citaracl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas"
http_access allow !palavrasproibidas
http_access deny palavrasproibidas
Mesmo caso aqui, e tem outro caso mais adiante.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Paulinunes

Citação de: zekkerj online 21 de Outubro de 2011, 00:59
Citar###Sites que podem ser acessados sem a autenticação
acl convenios url_regex "/etc/squid/sites/convenios" proxy_auth NOTREQUIRED
http_access allow convenios
Olha, até onde eu sei essa linha está errada...

A ACL do tipo "url_regex" recebe uma ou mais expressões regulares que vão identificar as URLs que devem ser liberadas ou bloqueadas. No caso, vc especificou tudo que estiver no arquivo "convenios", e mais tudo que tiver as palavras "proxy_auth" e "notrequired", ou seja, está entrando como mais uma palavra a encontrar nos URLs. Enfim: tire esse "proxy_auth NOTREQUIRED" do final da linha, que não está ajudando em nada.

Citaracl extensoes url_regex -i .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov .wma .rmvb .aac .ogg .ac3 .mov .mkv .7z
http_access allow !extensoes
http_access deny extensoes
Esse pedaço está errado. Se sua intenção era bloquear as extensões, você não pode liberar o que não tiver as extensões, pq senão vc vai liberar tudo, e nenhuma outra regra daqui pra frente será verificada.

Citaracl palavrasproibidas dstdom_regex "/etc/squid/palavrasproibidas"
http_access allow !palavrasproibidas
http_access deny palavrasproibidas
Mesmo caso aqui, e tem outro caso mais adiante.

Valeu cara, agora funcionou beleza...