squid (squid.conf)

proxy transparente

Categoria: Segurança

Software: squid

[ Hits: 14.779 ]

Por: Isaacson Cavalcante


Este é um arquivo de configuração do squid e tive um pouco de dificuldade para chegar onde eu queria, para as nessesidade do nosso provedor, e tivemos um bom desenpenho, o aquivo estar detalhado é so verifica, grato, se alguem fizer mudança para ficar melho, me passe um e-mail com as melhorias.


#Editado por Isaacson G. Cavalcante 06/03/2005, 
#tirado de um tutorial de morimoto.
#A porta onde o servidor vai ficar disponível
http_port 3128
#O nome do servidor 
visible_hostname vectra.bemonline.com.br
 
#A configuração da quantidade de memória RAM 
#dedicada ao cache é feita
#adicionando a opção "cache_mem", que contém a 
#quantidade de memória que será dedicada ao cache. 
#Para reservar 32 MB, por exemplo, a linha ficaria:
cache_mem 24 MB

#Abaixo vai mais uma linha, que determina o tamanho 
#máximo dos arquivos que serão guardados no cache 
#feito na memória RAM. O resto vai para o cache feito no HD.
#O cache na memória é muito mais rápido, mas como a 
#quantidade de RAM é muito limitada melhor deixa-la disponível #para páginas web, figuras e arquivos pequenos em geral. 
#Para que o cache na memória armazene arquivos de até 64 KB #por exemplo, adicione a linha:
maximum_object_size_in_memory 32 KB

#Em seguida vem a configuração do cache em disco, 
#que armazenará o grosso dos arquivos. 
#Por default, o máximo são downloads de 16 MB e o mínimo é zero, 
#o que faz com que mesmo imagens e arquivos pequenos 
#sejam armazenados no cache.
#Sempre é mais rápido ler a partir do cache do que baixar de novo #da web, mesmo que o arquivo seja pequeno.
#Se você faz download de arquivos grandes e deseja que eles #fiquem armazenados no cache aumente o valor da opção #maximum_object_size Isto é especialmente útil para quem precisa
#baixar muitos arquivos através do apt-get ou Windows update em #muitos micros da rede.
#Se você quiser que o cache armazene arquivos de até 1000 MB #por exemplo, as linhas ficariam:
maximum_object_size 1000 MB
minimum_object_size 0 KB

#Você pode definir ainda a percentagem de uso do cache que fará 
#o squid começar a descartar os arquivos mais antigos. 
#Por padrão isso começa a acontecer quando o cache está 90% #cheio:
cache_swap_low 90
cache_swap_high 95

#Depois vem a configuração do tamanho do cache em disco #propriamente dita,
#que é composta 
#por quatro valores. O primeiro, (/var/spool/squid) indica a 
#pasta onde o squid armazena 
#os arquivos do cache. Você pode querer alterar para uma pasta #em uma partição separada por exemplo. 
#O "11000" indica a quantidade de espaço no HD (em MB) que será #usada para o cache. 
#Aumente o valor se você tem muito espaço no HD do servidor e #quer que o squid guarde os downloads por muito tempo. 
#Finalmente, os números 16 256 indicam a quantidade de subpastas #que serão criadas dentro do diretório.
#Por padrão temos 16 pastas com 256 subpastas cada uma. 
cache_dir ufs /cache/squid 11000 16 256

#Você pode definir ainda o arquivo onde são guardados os logs de #acesso do Squid.
#Por padrão o squid guarda o log de acesso no #var/log/squid/access.log.
#no nosso servidor fiz uma pasta /cache...
#Este arquivo é usado pelo sarg para gerar as páginas com as #estatisticas de acesso. 
cache_access_log /cache/logs/access.log

# Caminho e arquivo para LOG do Cache.
# Para não gerar LOG do Cache, mude o caminho e arquivo #para "none".
cache_log /cache/logs/cache.log

# Caminho e arquivo para LOG do Histórico.
# Para não gerar LOG do Histórico, mude o caminho e arquivo #para "none".
cache_store_log /cache/logs/store.log

# Caminho e arquivo responsável para a criação de um arquivo de #controle contendo apenas o número do processo (PID).
#pid_filename /cache/logs/squid.pid

# Usuário do sistema responsável pelo processo do Proxy
cache_effective_user proxy
 
# Grupo do sistema, no qual o resposável faz parte
cache_effective_group proxy

#Mais uma configuração que você pode querer alterar é o padrão #de atualização do cache.
#Estas três linhas precisam sempre ser usadas em conjunto. 
#Ou seja, você pode alterá-las
#mas sempre as três precisam estar presente no arquivo. #Eliminando um, o squid ignora as
#outras duas e usa o default.
#Os números indicam o tempo (em minutos) quando o squid 
#irá verificar se um ítem do cache(uma página por exemplo) 
#foi atualizado, para cada um dos três protocolos.
#O primeiro número (o 15) indica que o squid verificará se todas 
#as páginas e arquivos com mais de 15 minutos foram atualizados.
#Ele só verifica checando o tamanho do arquivo, o que é rápido.
#Se o arquivo não mudou, então ele continua mandando o 
#que não está no cache para o cliente.
#O terceiro número (o 2280, equivalente a dois dias) indica o tempo #máximo, depois disso o objeto é sempre verificado. Além do http e #ftp o Squid suporta o protocolo Gopher, que era muito usado nos #primórdios da Internet para localizar documentos de texto, mas #perdeu a relevância hoje em dia:
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
#Esta linha cria uma acl (uma política de acesso) chamada "all" 
#(todos) incluindo todos os endereços IP possíveis e permite que
#qualquer um dentro desta lista use o proxy. Ou seja, ela permite 
#que qualquer um use o proxy, sem limitações. 
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
acl Safe_ports port 80 # http
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 Safe_ports port 901 # SWAT
acl Safe_ports port 10000 # Webmin
acl Safe_ports port 22 # SSH
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

#Para adicionar o filtro de palavras, adicione as linhas no #arquivo "/etc/squid/proibidos"
#se o arquivo não existir crir o arquivo "proibidos"
#O arquivo deve conter as palavras e domínios bloqueados, um por #linha:
acl proibidos url_regex "/cache/proibidos"
http_access deny proibidos all

#Existe uma última ressalva: alguns sites, como o orkut.com podem #ser acessados
#tanto com o www quanto sem. Para o squid, "www.orkut.com" #e "orkut.com" são duas coisas diferentes. 
#Bloqueando o "orkut.com" os usuários ainda conseguirão acessar #o site através do "www.orkut.com".
#Para bloquear ambos, é preciso incluir as duas possibilidades #dentro da regra, como em: 
acl redelocal src 192.168.100.0/24
#acl intruso arp 00:0d:88:ba:b9:27
#http_access allow localhost

# Autenticação dos usuários
#auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
#acl autenticados proxy_auth REQUIRED
#http_access allow autenticados

#Para que o proxy bloqueie acessos feitos entre meia-noite e 6:00 
#da manhã e no horário de almoço por exemplo, você usaria as #regras:
#acl madrugada time 00:00-06:00
#http_access deny madrugada

#liberar acesso pelo ip
#acl all src 192.168.100.2 192.168.100.3 192.168.100.4 192.168.100.6 192.168.100.8
#http_access allow all 

#Para adicionar o filtro de ip's, adicione as linhas no arquivo "/etc/squid/liberarip"
#se o arquivo não existir crir o arquivo "proibidos"
#O arquivo deve conter numero do ip que deve ser liberados, um #por linha:
#acl liberarip src "/etc/squid/liberarip"
#http_access allow liberarip

#Desbloqueio Pelo MAC: ex:
#acl placa1 arp 01:02:03:04:05:06
#http_access allow placa1

#bloqueio Pelo MAC: ex:
#acl placa1 arp 00:0d:88:ba:b9:27
#http_access deny placa1

#bloqueio de todos Pelo MAC: ex:
#acl all arp 01:02:03:04:05:06
#http_access deny all

#bloque todos os ip que não estiver na regra acima
#acl all src 192.168.100.0
#http_access deny all 

#bloque de acesso pelo ip
#acl bloqip src 192.168.100.50 192.168.100.51
#http_access deny bloqip

#Para que o proxy bloqueie acessos feitos entre almoço de 12:00 #as 14:00 da manhã e no horário de almoço por exemplo, você #usaria as regras:
#acl almoco time 12:00-14:00
#http_access deny almoco

#Depois de criadas as duas políticas de acesso, vão duas linhas no #final do arquivo que especificam que os micros que se #enquadrarem nelas vão poder usar
http_access deny all !SSL_ports !Safe_ports
http_access allow redelocal

#Lembra-se da acl "all", que contém todo mundo? Vamos usa-la #para especificar que quem não se enquadrar nas duas regras #acima (ou seja, micros não autorizados, da internet)
#não poderá usar o proxy: 
http_access deny all
#http_access deny intruso

# Proxy transparente
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

#isaacson@hotmail.com.br
#quem poder melhorar este tutorial, estar livre para fazer qualquer #alteração mais porfavor me envie um copia das mudanças, tenho #este tutor funcionado muito bem no nosso servidor de radio.
  


Comentários

Nenhum coment�rio foi encontrado.


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts