Forçando o cache do Windowsupdate com squid

Olá, essa dica é para forçar o cache dos arquivos do WindowsUpdate, certamente não é a solução correta,que seria implantar o WSUS no ambiente, mas ajuda muito quem não tem como utilizar essa solução

No arquivo de configuração do squid adicione as seguintes linhas:

Primeiro, vamos setar as políticas de reposição do nosso cache:

#politicas de reposicao
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA

Não esquecer de definir o tamanho máximo do arquivo em cache, nos meus ambientes costumo definir 300MB:

#Tamanho maximo do objeto para ser armazenado em cache
maximum_object_size 300 MB

Informar os endereços e arquivos para forçar o cache:

#Cache windowsupdate
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi|psf) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi|psf) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.download.microsoft.com/.*\.(cab|exe|dll|msi|psf) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.microsoft.com/.*\.(cab|exe|dll|msi|psf) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi|psf) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi|psf) 4320 100% 43200 reload-into-ims
refresh_pattern cache.pack.google.com/.*\.(cab|exe|dll|msi|psf) 4320 100% 43200 reload-into-ims
refresh_pattern http://www.update.microsoft.com/.*\.(cab|exe|dll|msi|psf) 10080 100% 43200 reload-into-ims
refresh_pattern wwww.download.windowsupdate.com/.*\.(cab|exe|dll|msi|psf) 10080 100% 43200 reload-into-ims

Efetue um reload no squid

Aqui um exemplo de estações obtendo os arquivos do cache:

1302852973.216      0 192.168.100.39 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302852979.740      0 192.168.100.39 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302853316.290      0 192.168.100.12 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302853523.151      0 192.168.100.11 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302853539.457      0 192.168.100.11 TCP_MEM_HIT/200 407 HEAD http://download.windowsupdate.com/v9/microsoftupdate/redir/muv4muredir.cab? – NONE/- application/octet-st
ream
1302853952.972      0 192.168.100.11 TCP_MEM_HIT/200 407 HEAD http://download.windowsupdate.com/v9/microsoftupdate/redir/muv4muredir.cab? – NONE/- application/octet-st
ream
1302853953.344      0 192.168.100.11 TCP_MEM_HIT/200 407 HEAD http://download.windowsupdate.com/v9/microsoftupdate/redir/muv4muredir.cab? – NONE/- application/octet-st
ream
1302853962.309      1 192.168.100.11 TCP_HIT/206 9492 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccdef
c08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853964.399      1 192.168.100.11 TCP_HIT/206 10039 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccde
fc08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853965.429      1 192.168.100.11 TCP_HIT/206 9485 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccdef
c08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853966.453      2 192.168.100.11 TCP_HIT/206 21016 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccde
fc08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853967.459      4 192.168.100.11 TCP_HIT/206 43112 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccde
fc08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853968.477      7 192.168.100.11 TCP_HIT/206 87345 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccde
fc08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853969.507     14 192.168.100.11 TCP_HIT/206 176664 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccd
efc08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302853970.519     21 192.168.100.11 TCP_HIT/206 260214 GET http://download.windowsupdate.com/msdownload/update/software/defu/2011/04/am_delta_patch3_fb4b9506d3c5f6ccd
efc08a67d46bfccb54f155e.exe – NONE/- application/octet-stream
1302854557.026      0 192.168.100.38 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302854563.738      0 192.168.100.38 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/microsoftupdate/redir/muv4muredir.cab? – NONE/- application/octet-st
ream
1302854629.207      0 192.168.100.34 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302854634.247      0 192.168.100.34 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/windowsupdate/redir/muv4wuredir.cab? – NONE/- application/octet-stre
am
1302855837.559      0 192.168.100.11 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/microsoftupdate/redir/muv4muredir.cab? – NONE/- application/octet-st
ream
1302855838.175      0 192.168.100.11 TCP_MEM_HIT/200 408 HEAD http://download.windowsupdate.com/v9/microsoftupdate/redir/muv4muredir.cab? – NONE/- application/octet-st
ream

Anúncios

Squid: Liberar o MSN para usuários determinados (atualizado)

Segue uma dica minha publicada no VivaoLinux:

http://www.vivaolinux.com.br/dica/Liberar-o-MSN-para-usuarios-determinados

Essa dica é para quem utiliza o Squid para controle do acesso à internet, iremos liberar o acesso ao MSN para alguns usuários da rede e bloquear para o restante.

Para garantir o funcionamento de todas as versões, inclusive o MSN 2011, na minha dica altere a linha:

acl msnmessenger url_regex -i gateway/gateway.dll? login.live.com

PARA

acl msnmessenger url_regex -i gateway/gateway.dll? live.com msn.com msads.net atdmt.com serving-sys.com hotmail.com

Liberar o MSN para usuários determinados

Personalizar mensagem de erro no Squid

Recentemente o VivaoLinux publicou essa minha dica para personalizar a mensagem do squid após aplicação de uma acl:

http://www.vivaolinux.com.br/dica/Personalizar-mensagem-de-erro-no-Squid

Segue aqui também o conteúdo:

Quando se configura muitas ACLs no Squid fica difícil identificar algum problema de bloqueio indevido. Por exemplo, um usuário não está conseguindo acessar um determinado site e apenas recebe a mensagem padrão de “Acesso negado” ou “Access Denied”, como identificar qual regra bloqueou o acesso?

Para isso se deve utilizar a diretiva “deny_info” e informar qual será a mensagem de erro que será exibida para a ACL, como no exemplo abaixo:

#Regra que bloqueia os sites incluídos no arquivo informado
acl semprebloqueados url_regex “/etc/squid/sites/semprebloqueados”
#Informa qual será a mensagem apresentada ao bloquear esse conteudo
deny_info ARQUIVO_DA_MENSAGEM semprebloqueados

Assim que você aplicar a regra (http_acess deny semprebloqueados) e um usuário acessar algum conteúdo que esteja restrito nessa regra ele verá a mensagem definida como erro.

Obs.: Crie o arquivo no diretório que o Squid utiliza para as mensagens, geralmente há um link em /etc/squid/errors. Também é possível utilizar uma URL como mensagem de erro:

deny_info http://sitedesejado semprebloqueados

Controle de acesso à internet com Squid – Mais um artigo publicado no VivaoLinux

Olá ! Hoje meu artigo sobre controle de acesso à internet com o Proxy Squid foi publicado: http://www.vivaolinux.com.br/artigo/Controle-de-acesso-a-internet-com-Squid/

Nosso cenário

Neste tutorial iremos utilizar a distribuição CentOS, versão 5.5, conforme abaixo:

Servidor:

  • hostname: centos.laboratorio
  • IP: 192.168.100.70/24
  • Porta do Squid: 3128

Nosso controle de acesso:

Primeiramente criaremos uma ACL com sites que sempre serão liberados, estes sites serão liberados para toda a rede, como sites do governo , atualização de anti-vírus, Windows update etc. Também criaremos uma ACL de sites que SEMPRE serão BLOQUEADOS, todos os usuários irão passar por esse controle, onde você pode bloquear pornografia, redes sociais etc.

Teremos 3 grupos de acesso primários:

  • ACESSO TOTAL: Os usuários neste grupo terão acesso liberado, EXCETO ao conteúdo que estiver bloqueado na lista de SEMPRE BLOQUEADOS.
  • ACESSO CONTROLADO: Estes usuários acessam o conteúdo da lista SEMPRE LIBERADO e uma segunda lista criada para este grupo.
  • SEM ACESSO: Os usuários podem somente utilizar o conteúdo liberado na lista SEMPRE LIBERADO, afinal precisamos permitir que o usuário efetue atualizações do Windows, Anti-vírus, acesse sua conta corrente, extrato de imposto de renda,etc..

Grupo secundário de acesso:

Os usuários deste grupo podem estar em qualquer grupo primário, por exemplo, podemos liberar a navegação para um usuário e não permitir que o mesmo tenha acesso ao MSN.

  • SEM MSN: Usuários que não terão acesso ao MSN

 

Outros recursos

Iremos configurar o Squid para forçar cache das atualizações efetuadas pelo Windows Update e de ferramentas anti-vírus (eu testei: Avira, Symantec e Avast, se fizerem a configuração com outro produto agradeço se compartilharem !!). Devemos estar cientes que ao aumentar o tamanho do cache iremos perder em desempenho, porém economizaremos banda.

As possibilidades com o Squid são imensas, é possível utilizar autenticação em um PDC (samba), Active Directory, Openldap, MySQL ou até mesmo controlar o acesso por endereço IP ou MAC.

Com este artigo procuro passar o conhecimento para inicial para compartilhamento e controle de Internet com o Squid, espero que você consiga migrar essa configuração para outras formas de autenticação e criar suas próprias regras.

Configuração inicial e controle por IP

Após instalar o sistema operacional, vamos instalar o Squid:

(Execute esse procedimento em ambas as configurações, se for utilizar controle por IP ou usuário)

# yum install squid

Após o Squid ser instalado, o arquivo de configuração estará no diretório /etc/squid, entre nesse diretório e inicie a configuração do Squid:

# cd /etc/squid
# mv squid.conf squid.conf.original

Nesse primeiro exemplo vamos utilizar a configuração vamos utilizar o controle por endereço IP, crie o arquivo de configuração (squid.conf) desta forma:

acl manager proto cache_object
acl localhost src 127.0.0.1/32

# Porta para squid escutar
http_port 192.168.100.70:3128 #Substitua pelo endereço IP do seu servidor

#Configuracao de gerenciamento de cache
cache_mem 128 MB #altere conforme a capacidade da sua maquina
maximum_object_size 100 MB #Esta diretiva informa o tamanho maximo do objeto quer sera salvo em cache, ajuste conforme sua necessidade
maximum_object_size_in_memory 8 KB #Tamanho maximo do objeto em cache que pode ser armazenado na memória ram

#Locais para armazenamento do cache
#Ajuste conforme as suas necessidades
cache_dir aufs /var/spool/squid/cache1 3000 64 256
cache_dir aufs /var/spool/squid/cache2 3000 64 256
cache_dir aufs /var/spool/squid/cache3 3000 64 256

#Portas aceitas para navegacao
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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

http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

#Cache windowsupdate
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern http://www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

#Cache atulizacao avira
refresh_pattern personal.avira-update.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims

#Cache atualizacao symantec
refresh_pattern liveupdate.symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims

#Cache avast
refresh_pattern avast.com/.*\.(vpu|cab|stamp|exe) 10080 100% 43200 reload-into-ims

#
# REGRAS PERSONALIZADAS
# CRIADO POR FABIO SOARES SCHMIDT – fabio@improve.inf.br
#

#Estacoes da rede local
acl redegeral src “/etc/squid/estacoes/redegeral.txt”

#Usuarios com acesso bloqueado
#Acessam somente o conteudo da regra sempreliberados
acl semacesso src “/etc/squid/estacoes/semacesso.txt”

#Usuarios com acesso controlado
#Acessam somente o conteudo da regra sempre liberados e a lista criada para este grupo
acl acessocontrolado src “/etc/squid/estacoes/acessocontrolado.txt”

#Usuarios com acesso total, EXCETO sites de conteudo indesejado
acl acessototal src “/etc/squid/estacoes/acessototal.txt”

#Sites liberados para TODOS
acl sempreliberados url_regex “/etc/squid/sites/sempreliberados.txt”

#Sites liberados para usuarios com acesso controlado
acl sitesliberados url_regex “/etc/squid/sites/sitesliberados.txt”

#Sites bloqueados para TODOS, com conteudo indesejado
acl bloqueados url_regex “/etc/squid/sites/bloqueados.txt”

##Controle do MSN
acl msnmessenger url_regex -i gateway/gateway.dll? login.live.com
acl MSN rep_mime_type -i ^application/x-msn-messenger$
acl webmsn url_regex “/etc/squid/sites/webmsn.txt” #Sites de acesso ao msn

#Estações sem acesso ao msn
acl semsn src “/etc/squid/estacoes/semmsn.txt”

#Aplicação das regras MSN
http_access deny semmsn MSN
http_access deny semmsn msnmessenger
http_access deny semmsn webmsn

##APLICAÇÃO DAS REGRAS

#Libera sites que serao sempre liberados para toda a rede
http_access allow redegeral sempreliberados

#Nega acesso ao sites de conteudo indeseajado
http_access deny bloqueados

#Nega usuarios sem acesso
http_access deny semacesso

#Libera sites para os usuarios de acesso controlado
http_access allow acessocontrolado sitesliberados

#Fecha o acesso para usuarios de acesso controlado
http_access deny acessocontrolado

#Libera acesso para usuarios com todos sites liberados, excetos sites de conteudo indesejado
http_access allow acessototal

#Nega qualquer acesso que nao se encaixar nas regra acima
http_access deny all

Controle de acessos por usuário

Neste exemplo vamos utilizar a configuração por usuário utilizando a autenticação com NCSA_AUTH, crie o arquivo de configuração (squid.conf) conforme abaixo:

acl manager proto cache_object
acl localhost src 127.0.0.1/32

# METODO DE AUTENTICACAO: NCSA_AUTH
# O diretorio padrao dos plugins de autenticacao no CENTOS ficam no diretorio abaixo
# caso utilize outra distribuicao modifique o caminho
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/usuarios/passwd
auth_param basic children 5
#Mensagem quer sera exibida ao usuario no navegador
auth_param basic realm Acesso restrito – Digite seu Login

# Porta para squid escutar
http_port 192.168.100.70:3128 #Substitua pelo IP do seu servidor

#Configuracao de gerenciamento de cache
cache_mem 128 MB #altere conforme a capacidade da sua maquina
maximum_object_size 100 MB #Esta diretiva informa o tamanho máximo do objeto quer será salvo em cache, ajuste conforme sua necessidade
maximum_object_size_in_memory 100 KB #Tamanho máximo do objeto em cache que pode ser armazenado na memória ram

#Locais para armazenamento do cache
#Ajuste conforme as suas necessidades
cache_dir aufs /var/spool/squid/cache1 3000 64 256
cache_dir aufs /var/spool/squid/cache2 3000 64 256
cache_dir aufs /var/spool/squid/cache3 3000 64 256

#Portas aceitas para navegacao
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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

ttp_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

#Cache windowsupdate
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern http://www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

#Cache atulizacao avira
refresh_pattern personal.avira-update.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims

#Cache atualizacao symantec
refresh_pattern liveupdate.symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims

#Cache avast
refresh_pattern avast.com/.*\.(vpu|cab|stamp|exe) 10080 100% 43200 reload-into-ims

# REGRAS PERSONALIZADAS
# CRIADO POR FABIO SOARES SCHMIDT – fabio@improve.inf.br
#

#Estacoes da rede local
acl redegeral src “/etc/squid/estacoes/redegeral.txt”

#Usuarios com acesso bloqueado
#Acessam somente o conteudo da regra sempreliberados
acl semacesso proxy_auth “/etc/squid/estacoes/semacesso.txt”

#Usuarios com acesso controlado
#Acessam somente o conteudo da regra sempre liberados e a lista criada para este grupo
acl acessocontrolado proxy_auth “/etc/squid/estacoes/acessocontrolado.txt”

#Usuarios com acesso total, EXCETO sites de conteudo indesejado
acl acessototal proxy_auth “/etc/squid/estacoes/acessototal.txt”

#Sites liberados para TODOS
acl sempreliberados url_regex “/etc/squid/sites/sempreliberados.txt”

#Sites liberados para usuarios com acesso controlado
acl sitesliberados url_regex “/etc/squid/sites/sitesliberados.txt”

#Sites bloqueados para TODOS, com conteudo indesejado
acl bloqueados url_regex “/etc/squid/sites/bloqueados.txt”

##Controle do MSN
acl msnmessenger url_regex -i gateway/gateway.dll? login.live.com
acl MSN rep_mime_type -i ^application/x-msn-messenger$
acl webmsn url_regex “/etc/squid/sites/webmsn.txt” #Sites de acesso ao msn

#Estações sem acesso ao msn
acl semsn proxy_auth “/etc/squid/estacoes/semmsn.txt”

#Aplicação das regras MSN
http_access deny semmsn MSN
http_access deny semmsn msnmessenger
http_access deny semmsn webmsn

##APLICAÇÃO DAS REGRAS

#Exige autenticacao
acl autenticacao proxy_auth REQUIRED

#Libera sites que serao sempre liberados para toda a rede
http_access allow redegeral sempreliberados

#Nega acesso ao sites de conteudo indeseajado
http_access deny bloqueados

#Nega usuarios sem acesso
http_access deny semacesso

#Libera sites para os usuarios de acesso controlado
http_access allow acessocontrolado sitesliberados

#Fecha o acesso para usuarios de acesso controlado
http_access deny acessocontrolado

#Libera acesso para usuarios com todos sites liberados, excetos sites de conteudo indesejado
http_access allow acessototal

#Nega qualquer acesso que nao se encaixar nas regra acima
http_access deny all

Criando os arquivos para controle de acesso

amos criar os arquivos onde iremos definir o controle de acesso:

(Os mesmos arquivos serão utilizados para controle por endereço IP ou usuário, portanto o procedimento é o mesmo para ambas as configurações)

# mkdir /etc/squid/estacoes
# mkdir /etc/squid/sites
# cd /etc/squid/estacoes
# touch redegeral.txt semacesso.txt acessocontrolado.txt acessototal.txt sempreliberados.txt semmsn.txt
# cd /etc/squid/sites
# touch sempreliberados.txt sitesliberados.txt bloqueados.txt webmsn.txt

Feito isso, edite o arquivo redegeral.txt e adicione a sua rede, conforme o exemplo abaixo:

(Se tiver mais de uma faixa, adicione o endereço em cada linha)

192.168.100.0/24

Agora você pode editar os arquivos com os sites bloqueados, liberados etc e determinar quais usuários estarão em cada grupo. Como estamos utilizando a configuração para controle por acesso IP, basta adicionar o IP da estação em cada linha no grupo desejado:

# vim /etc/squid/estacoes/acessototal.txt

192.168.100.1 #Fulano
192.168.100.2 #Beltrano

# vim /etc/squid/estacoes/semacesso.txt

192.168.100.3 #Sicrano

Segue também um exemplo de lista de bloqueio de sites para acesso ao msn (/etc/squid/sites/webmsn.txt):

webmessenger.msn.com
msn2go.com
phonefox.com
e-messenger.net
meebo.com

Em ambas as configurações precisamos criar os diretório de cache do Squid antes de iniciar o serviço do mesmo:

# squid -z

Após executar a criação do cache, inicie o serviço:

# service squid start

Neste momento, se você conseguiu criar os diretórios de cache e inicializar os serviços, o seu servidor proxy já está funcionando, bastando efetuar a configuração no navegador das estações, podendo automatizar isso através de um servidor DNS ou DHCP, ou utilizar proxy transparante (para controle por IP). Para editar os arquivos de sites ou estações você pode utilizar o vi mesmo, cada entrada deve ser adicionada em uma linha.

Como utilizei o filtro url_regex para os sites, ele procura a palavra no endereço. Portanto, se você editar o arquivo com a palavra orkut, ele irá bloquear orkut.com, orkut.com.br etc. Você pode bloquear o endereço globo.com e liberar gazetaonline.globo.com por exemplo.

Obs.:

  • Se o usuário não estiver em nenhum dos grupos ele terá as mesmas permissões do grupo “semacesso”;
  • Se o mesmo endereço estiver na lista de bloqueados e permitidos a liberação prevalecerá;
  • No arquivo de configuração foram criados 3 diretórios para cache com limite de 3GB cada, altere isso conforme a sua necessidade, se você quiser criar mais diretórios apenas adicione a linha no squid.conf e execute o comando para criação do cache novamente.

 

acl manager proto cache_object
acl localhost src 127.0.0.1/32

# Porta para squid escutar
http_port 192.168.100.70:3128 #Substitua pelo endereço IP do seu servidor

#Configuracao de gerenciamento de cache
cache_mem 128 MB #altere conforme a capacidade da sua maquina
maximum_object_size 100 MB #Esta diretiva informa o tamanho maximo do objeto quer sera salvo em cache, ajuste conforme sua necessidade
maximum_object_size_in_memory 8 KB #Tamanho maximo do objeto em cache que pode ser armazenado na memória ram

#Locais para armazenamento do cache
#Ajuste conforme as suas necessidades
cache_dir aufs /var/spool/squid/cache1 3000 64 256
cache_dir aufs /var/spool/squid/cache2 3000 64 256
cache_dir aufs /var/spool/squid/cache3 3000 64 256

#Portas aceitas para navegacao
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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

http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

#Cache windowsupdate
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern http://www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern http://www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

#Cache atulizacao avira
refresh_pattern personal.avira-update.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims

#Cache atualizacao symantec
refresh_pattern liveupdate.symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims

#Cache avast
refresh_pattern avast.com/.*\.(vpu|cab|stamp|exe) 10080 100% 43200 reload-into-ims

#
# REGRAS PERSONALIZADAS
# CRIADO POR FABIO SOARES SCHMIDT – fabio@improve.inf.br
#

#Estacoes da rede local
acl redegeral src “/etc/squid/estacoes/redegeral.txt”

#Usuarios com acesso bloqueado
#Acessam somente o conteudo da regra sempreliberados
acl semacesso src “/etc/squid/estacoes/semacesso.txt”

#Usuarios com acesso controlado
#Acessam somente o conteudo da regra sempre liberados e a lista criada para este grupo
acl acessocontrolado src “/etc/squid/estacoes/acessocontrolado.txt”

#Usuarios com acesso total, EXCETO sites de conteudo indesejado
acl acessototal src “/etc/squid/estacoes/acessototal.txt”

#Sites liberados para TODOS
acl sempreliberados url_regex “/etc/squid/sites/sempreliberados.txt”

#Sites liberados para usuarios com acesso controlado
acl sitesliberados url_regex “/etc/squid/sites/sitesliberados.txt”

#Sites bloqueados para TODOS, com conteudo indesejado
acl bloqueados url_regex “/etc/squid/sites/bloqueados.txt”

##Controle do MSN
acl msnmessenger url_regex -i gateway/gateway.dll? login.live.com
acl MSN rep_mime_type -i ^application/x-msn-messenger$
acl webmsn url_regex “/etc/squid/sites/webmsn.txt” #Sites de acesso ao msn

#Estações sem acesso ao msn
acl semsn src “/etc/squid/estacoes/semmsn.txt”

#Aplicação das regras MSN
http_access deny semmsn MSN
http_access deny semmsn msnmessenger
http_access deny semmsn webmsn

##APLICAÇÃO DAS REGRAS

#Libera sites que serao sempre liberados para toda a rede
http_access allow redegeral sempreliberados

#Nega acesso ao sites de conteudo indeseajado
http_access deny bloqueados

#Nega usuarios sem acesso
http_access deny semacesso

#Libera sites para os usuarios de acesso controlado
http_access allow acessocontrolado sitesliberados

#Fecha o acesso para usuarios de acesso controlado
http_access deny acessocontrolado

#Libera acesso para usuarios com todos sites liberados, excetos sites de conteudo indesejado
http_access allow acessototal

#Nega qualquer acesso que nao se encaixar nas regra acima
http_access deny all