Squid (squid)

Configuração do Squid com Autenticação de Usuarios

Categoria: Networking

Software: Squid

[ Hits: 15.709 ]

Por: Rodrigo FLeury Bastos


Configuração do Squid com autenticação de usuários, controle de banda, acl de bloqueio de páginas por usuários e horário.


#Porta do Proxy
http_port 3128

#Direcionamento dos arquivos de erros
error_directory /etc/squid/errors

#Sites que não passam por cache
acl NOCACHE url_regex -i "/etc/squid/semcache"
no_cache deny NOCACHE

#Memória RAM usada pelo squid
cache_mem 128 MB

#Gerenciamento do cache rotate
cache_swap_low 90
cache_swap_high 95

#Arquivo máximo gravado no Cache
maximum_object_size 512 KB

#Diretório do cache
cache_dir ufs /var/spool/squid 4096 16 256

#Diretório de logs
cache_access_log /var/log/squid/access.log

#Comportamento do log
cache_log /var/log/squid/cache.log

#Usando ncsa_auth
auth_param basic program /usr/sbin/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm GDRHost.com Solucoes Tecnologicas - Servidor CCS -  Entre com seu usuario e senha
auth_param basic credentialsttl 2 hours

#1-9 sao informações de log
debug_options ALL,1

#Descrição das ACLs
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 to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 444 563
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

#Autenticação por proxy exige autenticação
acl autenticacao proxy_auth REQUIRED

# Arquivos de configuração dos grupos de usuários e permissões
acl usuario_gdr src "/etc/squid/usuario_gdr"
acl gerencia_gdr src "/etc/squid/gerencia_gdr"
acl administrativo_gdr src "/etc/squid/administrativo_gdr"
acl usuarios proxy_auth src "/etc/squid/usuarios" 
acl permissoes_gerencia url_regex -i "/etc/squid/etc/paginas_deny_gerencia" 
acl permissoes_administrativo url_regex -i "/etc/squid/etc/paginas_deny_administrativo"
acl permissoes_usuario url_regex -i "/etc/squid/etc/paginas_allow_usuario"

#Restrição por horários
acl net_local src 192.168.200.0/255.255.255.0
acl sites_liberados src "/etc/squid/sites_liberados"
acl sites_bloqueados src "/etc/squid/sites_bloqueados"
acl h_manha time MTWHF 08:00-12:00
acl h_almoco time MTWHF 12:01-13:59
acl h_tarde time MTWHF 14:00-23:59
http_access allow usuario_gdr sites_bloqueados h_almoco
http_access deny usuario_gdr sites_bloqueados h_manha h_tarde

#Controle de uso de banda para a rede local
delay_pools 3
delay_class 1 3
delay_parameters 1 -1/-1 -1/-1 -1/-1
delay_access 1 allow gerencia_gdr
delay_class 2 3 
delay_parameters 2 -1/-1 1048576/524288 471859/235929
delay_access 2 allow administrativo_gdr
delay_class 3 3
delay_parameters 3 -1/-1 1048576/524288 314572/157286 
delay_access 3 allow usuario_gdr 

#Para uso do Squid
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow permissoes_usuario
http_access allow usuarios
http_access deny permissoes_gerencia
http_access deny permissoes_administrativo
http_access allow gerencia_gdr
http_access allow administrativo_gdr 
http_access deny usuario_gdr

#Regra para hosts
http_access allow autenticacao
http_access deny all

#TAG: extension_methods
extension_methods SEARCH BMOVE MOVE BDELETE DELETE BPROPFIND REPORT MERGE MKACTIVITY CHECKOUT SUBSCRIBE UNSUBSCRIBE MKCOL POLL BCOPY CHECKOUT GNUTELLA GET POST HEAD PUT

#TAG: redirect_program
#redirect_program /etc/squid/bannerfilter/redirector.pl
#redirect_children 10

#TAG: icp_access
icp_access allow all

#TAG: miss_access
miss_access allow all

#Definir aqui o usuário de servico do squid
cache_effective_user squid
cache_effective_group nobody

#TAG: visible_hostname
visible_hostname ccslinux.gdrhost.com

#---------------------------------------------------
# F I M
#---------------------------------------------------

Não esqueçam de criar TODAS as acl. 
Abaixo Irei disponibilizar um bash pra criar usuarios para autenticar no squid. 

#Nome do arquivo: criausuario
-----------------------------------------------------
#!/bin/sh
htpasswd2 -c /etc/squid/passwd $1
-----------------------------------------------------

Crie este arquivo com permissão 755 e para criar usuários para o squid é só digitar

./criausuario NOMEDOUSUARIO

Logo ele pede a senha e pronto.

NÃO ESQUEÇA DE CRIAR O ARQUIVO USUÁRIOS e o resto das acls.
  


Comentários
[1] Comentário enviado por luancfalquetto em 09/08/2007 - 19:20h

olá, como sou iniciante no linux, principalmente na parte de código, pelo o que eu percebi, o "jogo da velha" antes das linhas significa que é um comentário para melhor organização do código? certo?
obrigado

[2] Comentário enviado por rodrigom em 10/08/2007 - 17:20h

Aqui no squid quer dizer que oque estiver depois do #, nao terá efeito, ou seja pode usar para comentar...

falow

[3] Comentário enviado por A-Marcio em 09/10/2007 - 17:09h

A Parte de Auteticaçao de Usuarios funcionou legal,,, Valeu pela Dica

[4] Comentário enviado por xilenomg em 11/05/2009 - 13:36h

Gostei muito da autenticação. Fora que o arquivo este bem organizado e foi facil entender.
Uma pergunta: como faria para redirecionar os usuarios logados para uma pagina de intranet mesmo que ele tenha uma pagina inicial ja definida no browser?

estou usando Ubuntu Server 9.04

Obrigado e parabens!!

[5] Comentário enviado por br1n2 em 02/11/2009 - 21:02h

Parceiro não intendi estas acl? está correto o " src "!!! não seria o correto utilizar proxy_auth?

acl usuario_gdr src "/etc/squid/usuario_gdr"
acl gerencia_gdr src "/etc/squid/gerencia_gdr"
acl administrativo_gdr src "/etc/squid/administrativo_gdr

E não intendi este arquivo usuarios? Não seria para direcionar o proxy_auth para passwd?

acl usuarios proxy_auth src "/etc/squid/usuarios"




Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts