squid (squid.conf)

proxy transparente

Categoria: Segurança

Software: squid

[ Hits: 14.578 ]

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