Squid (squid.conf)

Squid + autenticação com AD

Categoria: Networking

Software: Squid

[ Hits: 27.393 ]

Por: Fabiano Belo Serbim


Este arquivo de configuração do Squid mostra como fica fácil de manipular o Squid sem ajuda de outros softwares. Caso alguém queira adicionar novas regras é só postar.

Estamos aqui para aprender e ajudar por isso se chama comunidade.

Abraços a todos.


############################################
#                                                                                              #
#                              SQUID by Fabiano Belo                              #
#                        support_tecnologia@hotmail.com                      #
#                                                                                             #
###########################################
##############Dados do Squid###################

http_port 10.10.1.1:3128 
visible_hostname rabuje

##############Configuração do Cache###############

cache_mgr email@domino.com
cache_effective_user proxy
cache_effective_group proxy
cache_mem 64 mb
maximum_object_size_in_memory 128 kb
maximum_object_size 1 kb
minimum_object_size 1 kb
cache_swap_low 45
cache_swap_high 75
cache_dir ufs /var/cache/squid/squid1 1000 16 256 
cache_dir ufs /var/cache/squid/squid2 1000 16 256
cache_dir ufs /var/cache/squid/squid3 1000 16 256
cache_dir ufs /var/cache/squid/squid4 1000 16 256
cache_dir ufs /var/cache/squid/squid5 1000 16 256 

# O cache dividido ganha um pouco de desempenho, pois tem menos subdiretórios para gravar/ler


###############Logs do SQUID##################

error_directory /usr/share/squid/errors/Portuguese
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log

#############Atualização do cache#################

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 10080

##############Autentição no AD##################
# Escolhi esse modulo para trabalhar em conjunto com AD, assim fica mais fácil de controlar a internet dos usuários. Obs: caso queira determinar o timeout da credencial habilite a última linha e coloque o tempo desejado.

auth_param basic program /usr/lib/squid/msnt_auth
auth_param basic children 5
auth_param basic realm Favor Entrar com Usuario e Senha 
#auth_param basic credentialsttl 10 hours

###########Listas de Acesso - ACL'S################

acl all src 0.0.0.0/0.0.0.0
acl network src 10.10.1.0/24
acl authentic proxy_auth REQUIRED # Habilitando a autenticação
acl intervalo time MTWHF 12:00-13:00
acl intervalo2 time MTWHF 17:00-17:30
acl audiovideo url_regex -i "/etc/squid/blacklist/audio_video"
acl download url_regex -i "/etc/squid/blacklist/downloads"
acl diversao url_regex -i "/etc/squid/blacklist/fun"
acl game url_regex -i "/etc/squid/blacklist/gambling"
acl geral url_regex -i "/etc/squid/blacklist/general"
acl hacker url_regex -i "/etc/squid/blacklist/hacking"
acl porno url_regex -i "/etc/squid/blacklist/porn"
acl proxy url_regex -i "/etc/squid/blacklist/proxy"
acl palavras dstdom_regex -i "/etc/squid/blacklist/words"
acl extensao url_regex -i "/etc/squid/blacklist/extension"
acl liberado url_regex -i "/etc/squid/whitelist/released"
acl nocache url_regex -i "/etc/squid/whitelist/no_cache"
acl caixa1 src "/etc/squid/whitelist/caixaip"
acl caixa2 dstdomain "/etc/squid/whitelist/caixadm"
acl avast url_regex -i "/etc/squid/whitelist/avast"
acl viralator src "/etc/squid/whitelist/viralator"
acl macs_liberados arp "/etc/squid/maclist/released"
#acl macs_bloqueados arp "/etc/squid/maclist/blocked"

###############Liberando Acessos################
# Liberei alguns acessos em horários de intervalo de trabalho

http_access allow liberado
http_access allow macs_liberados 
http_access allow intervalo geral 
http_access allow intervalo diversao
http_access allow intervalo palavras
http_access allow intervalo2 geral
http_access allow intervalo2 diversao
http_access allow intervalo2 palavras
always_direct allow nocache
always_direct allow caixa1
always_direct allow caixa2
#always_direct allow viralator

#############Bloquendo Acessos##################
# Coloquei autenticação nos bloqueios para poder registrar no sarg os usuários que tentaram acessar sites bloqueados.

http_access deny authentic audiovideo
http_access deny authentic download
http_access deny authentic diversao
http_access deny authentic game
http_access deny authentic geral
http_access deny authentic hacker
http_access deny authentic porno
http_access deny authentic proxy
http_access deny authentic palavras
http_access deny authentic extensao
http_access deny authentic macs_bloqueados

###############Redirecionando URLs##############
# Criei uma menssagem personalizada para inibir o acesso a sites bloqueados.

deny_info http://10.10.1.1/ audiovideo download diversao game geral hacker porno proxy palavras

#############Finalizando o Squid#################

http_access allow authentic
http_access allow network
http_access deny all 
  


Comentários
[1] Comentário enviado por darlanbr em 10/02/2011 - 12:48h

Maninho, muito bom seu Squid, de fácil compreensão e bem prático e usual para a maioria de nossas necessidades, parabéns. Eu só queria que você explicasse com mais detalhes a parte de autenticação no AD, ou seja toda a configuração necessária no Servidor Windows para aceitar a autenticação, desde já agradeço pelo .conf e por sua atenção!!!

[2] Comentário enviado por ericlobobr em 14/02/2011 - 04:47h

cara preciso de ajuda uso incomum squid pra cache de videos
deu certo pro é que ele nao deixa fazer download, cache ele esta fazendo belza ajuda ai cara

[3] Comentário enviado por ericlobobr em 14/02/2011 - 04:49h

olha minha squid 2.7 stable9



http_port 3128 transparent
visible_hostname lan
cache_mgr webmaster
cache_effective_user proxy
cache_effective_group proxy

cache_mem 512 MB
maximum_object_size_in_memory 1000 KB
maximum_object_size 1500 MB
minumum_objetc_size 4 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 49000 32 256

error_directory /usr/share/squid/errors/pt-br/
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/log/squid/squid.pid
mime_table /usr/share/squid/mime.conf


memory_pools off

diskd_program /usr/lib/squid/diskd
unlinkd_program /usr/lib/squid/unlinkd
include /etc/squid/inComum.conf

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 10080
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 10080

quick_abort_max 0 KB
quick_abort_pct 100
quick_abort_min -1 KB
request_header_max_size 20 KB
reply_header_max_size 20 KB
request_body_max_size 0 KB

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 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 1863 # 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 Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # portas altas
acl purge method PURGE
acl CONNECT method CONNECT

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 lan1 src 192.168.254.0/24
acl lan2 src 192.168.1.0/24
http_access allow localhost
http_access allow lan1
http_access allow lan2
http_access deny all

[4] Comentário enviado por torture em 14/02/2011 - 14:14h

darlanbr - É simples e fácil aplicar a autenticação por AD. Vamos passo-a-passo.

1 - vc deve escolher o programa de autenticação, no nosso caso foi auth_param basic program /usr/lib/squid/msnt_auth. Pois
ele é responsável pela autenticação com o AD.
2 - Criar um arquivo chamado de msntauth.conf no mesmo diretório do squid com as seguintes linhas:

# NT Hosts to use. Best to put their IP Addresses in /etc/hosts.
# Server other_PDC other_BDC otherdomain

server nameserverAD nameserverAD DOMINIO

# Denied and allowed users. Commen these if not needed

#denyusers /etc/squid/users/msntauth.denyusers
allowusers /etc/squid/users/msntauth.allowusers

3 - Depois criaremos outro arquivo com o nome msntauth.allowusers com o nome dos usuarios (só login deles do AD)

Obs: Toda vez que alguém trocar a senha do AD vc deve reconfigurar o squid para o modulo msnt_auth ler o AD - squid -k reconfigure, pois a senha do AD é a que vai autenticar no squid.

Pronto só é adicionar os usuários e mandar brasa qualquer coisa podem postar.

[5] Comentário enviado por torture em 14/02/2011 - 14:20h

ericlobobr - Explica melhor o que está acontecendo com o cache e o download.

[6] Comentário enviado por gui_lxsvr em 25/04/2011 - 14:14h

"server nameserverAD nameserverAD DOMINIO"

Como eu completo essa linha??

[7] Comentário enviado por r4v3r em 19/10/2011 - 12:44h

As seguintes linhas estão meio fora do padrão:
cache_swap_low 45
cache_swap_high 75

Na verdade o que elas estão fazendo é mudar a política de limpeza dos objetos do cache para começar logo quando este atingir 45% de uso, e adotar uma política agressiva de limpeza logo apartir de 75%, na real não faz muito sentido isso, estes valores são muito baixos, os valores padrão de 90 e 95% são mais apropriados, servindo melhor ao seu propósito e impedindo que o cache estoure seu limite.

E nas seguintes linhas:
cache_dir ufs /var/cache/squid/squid1 1000 16 256
cache_dir ufs /var/cache/squid/squid2 1000 16 256
cache_dir ufs /var/cache/squid/squid3 1000 16 256
cache_dir ufs /var/cache/squid/squid4 1000 16 256
cache_dir ufs /var/cache/squid/squid5 1000 16 256

Você está criando vários diretórios de cache. OK não há problemas nisso, mas ao invés de diminuir os diretórios e subdiretórios como você comentou, você os está multiplicando por 5, pois nesta opção, os 3 últimos parâmetros indicam respectivamente o tamanho máximo do cache naquele diretório, o número de diretórios na raiz, e o número de subdiretórios, de forma que se o que você quer é diminuir o número de diretórios basta diminuir o valor destes dois últimos parâmetros conforme seu gosto, lembrando que o recomendado pelos próprios desenvolvedores são os valores 16/256 mesmo.


[8] Comentário enviado por JoeCamargo em 03/12/2013 - 13:22h

olá, primeiramente quero parabeniza-lo pelo código, ele está muito bem feito.
Mas Gostaria de saber sobre as portas hhtp e etc.. não precisa libera-las para os usuários utilizarem?
ou se caso eu não mostrar eles podem abrir qualquer uma dela?
Desde já agradeço!

[9] Comentário enviado por JoeCamargo em 05/12/2013 - 16:53h

Entendi, muito obrigado por esclarecer minhas dúvidas. Sucesso e fique com Deus!


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts