Proxy/Squid (squid.conf)

Ganho significativo na velocidade de navegação

Categoria: Segurança

Software: Proxy/Squid

[ Hits: 20.512 ]

Por: Perfil removido


Este arquivo possui o básico para um funcionamento "redondo" do Squid. Essa configuração foi desenvolvida em conjunto com Alexandre Heideker da Crio Digital Consultoria em Informática. Já foi aplicado em vários servidores e apresentou um ganho significativo na velocidade de navegação e proporcionou maior controle sobre os acessos em ambientes corporativos.



Basta copiar esta configuração e adequá-la a sua rede.



Este arquivo teve como referência outros .conf encontrados neste site.
A lista de bloqueio deve ser criada no diretório /etc/squid como Bloqueio_domains. Nela deve ser inseridos os endereços a serem bloqueados.



A porta padrão de funcionamento do Squid é a 3128



Depois de configurado, os micros da rede podem ser configurados para usarem o servidor como proxy, gateway e DNS.



Se for necessário algum redirecionamento de rotas, use o iptables. Se desejar impedir o download de alguns tipos de arquivos como, por exemplo vídeos no formato AVI, faça uma acl impedindo isso como a do exemplo abaixo:



acl avi url_regex -i.*.avi$



e a http correspondente:



http_access deny all avi



Assim estaremos bloqueando o acesso a todos arquivos com extensão .avi.


hierarchy_stoplist cgi-bin ?
cache_mem 100 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 30000 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 4000 KB
cache_dir ufs /var/cache/squid/ 500 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/log/squid/swap.log
debug_options ALL, 2
#ACLs#
acl all src 0.0.0.0/24
acl manager proto cache_object
acl localhost src 192.168.0.0/24
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 22
acl Safe_ports port 443 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 Bloqueio_domains url_regex "/etc/squid/Bloqueio_domains"
acl CONNECT method CONNECT
http_access allow manager localhost
http_access allow all
http_access deny manager
http_access deny ! Safe_ports
http_access deny Bloqueio_domains
http_access deny CONNECT ! SSL_ports
icp_access allow all
visible_hostname squid.servidor.intranet
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_port 3128
  


Comentários
[1] Comentário enviado por gvcom em 25/04/2005 - 11:19h

Lourencao,

Estou tentando aplicar seu squid.conf mas sem sucesso no Fedora C2. Meu roteador trabalha em modo texto tendo duas placas de rede: uma recebe o sinal do Speedy que vem de outro roteador Linux e a outra roteia o sinal na rede.
Para começar não consigo fazer o redirecionamento no firewall com:

/sbin/iptables/ -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Gostaria de saber como iniciar o squid na inicialização (rc.local), pois a linha que encontrei não serviu:

squid -Y >> /var/lib/squid/squid.out 2>&1

Valeu


[2] Comentário enviado por rodrigolourencao em 26/04/2005 - 15:13h

tenta usar esse, esta bem melhor e com umas falhas corrigidas, aproveita e usa o script de firewall abaixo:


hierarchy_stoplist cgi-bin ?
cache_mem 200 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 30096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 150 KB
ipcache_size 2048
ipcache_low 80
ipcache_high 95

cache_dir ufs /var/cache/squid 1000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/log/squid/swap.log
cache_store_log /var/log/squid/store.log
debug_options ALL,3
ftp_user Squid@
hosts_file /etc/hosts

#ACL#

acl all src 192.168.0.0/255.255.0.0
acl manager proto cahe_object
acl localhost src 192.168.0.0/255.255.0.0
acl SSL_ports port 443 563
acl Safe_ports port 80 #http
acl Safe_ports port 8080 #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 #multilink http
acl Safe_ports port 500
acl CONNECT method CONNECT

acl blacklist dstdomain "/etc/squid/blacklist"
acl porn dstdomain "/etc/squid/porn"
acl ads dstdomain "/etc/squid/ads"
acl extensoes url_regex -i "/etc/squid/extensoes"

#http#

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access deny blacklist
http_access deny porn
http_access deny ads
http_access deny extensoes

icp_access allow all

error_directory /usr/share/squid/errors/Portuguese

visible_hostname proxy_sua empresa
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
http_port 3128


firewall


#!/bin/sh

# Carrega os módulos
#modprobe iptables
modprobe iptable_nat
modprobe ip_nat_ftp

#Mais uma linha interessante de se adicionar, que protege contra pacotes danificados (usados em ataques DoS por exemplo) é:
# iptables -A FORWARD -m unclean -j DROP


# Compartilha a conexão
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# Direciona para Squid
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Abre algumas portas
##iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
##iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT
##iptables -A INPUT -p tcp --destination-port 110 -j ACCEPT
##iptables -A INPUT -p tcp --destination-port 25 -j ACCEPT
##iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
##iptables -A INPUT -p udp --destination-port 22 -j ACCEPT
##iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
##iptables -A INPUT -p udp --destination-port 1723 -j ACCEPT
##iptables -A INPUT -p tcp --destination-port 1723 -j ACCEPT
##iptables -A INPUT -p 47 -j ACCEPT


# Abre para a rede local
##iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT


# Fecha o resto
##iptables -A INPUT -p tcp --syn -j DROP

iptables -t nat -A PREROUTING -p tcp --dport 3306 -i eth0 -j DNAT --to 192.168.0.3:3306

#Se você quiser que o PC também não responda a pings, adicione a linha:

# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

[3] Comentário enviado por couver em 23/02/2006 - 22:34h

desculpe minha ignorancia... mas oq seguinifica esse "ads"... acl ads dstdomain "/etc/squid/ads"

[4] Comentário enviado por gvcom em 24/02/2006 - 21:11h

É simples,

Nesse script em particular não dá para saber especificamente, mas a sintaxe "acl ads" indica "ads" como uma lista de acesso (access list) e depois, "/etc/squid/ads" define o caminho para que o squid encontre o conteúdo dessa acl que está no arquivo ads e que pode permitir ou negar palavras, extensões de arquivos ou sites, por exemplo.
Você pode escolher o nome da acl segundo seu critério, não havendo uma regra.

espero ter ajudado,

Reinaldo

[5] Comentário enviado por removido em 30/07/2007 - 16:37h

um pequeno problema...
FATAL: Falied to make swap directory /var/cache/squid/00: (13) Permission denied


alguem pode me me ajudar hehehe

[6] Comentário enviado por carlos.renato em 26/11/2007 - 09:43h

Caro Firekill,

Este erro é bits de proteção, o usuário não tem permissaõ para acessar ou gravar no diretporio, tenta dar o comando chmod 766 no diretório /var/cache/squid

Carlos

[7] Comentário enviado por tiagoczn em 22/06/2010 - 10:55h

Amigo blz??
Le aqui seu artigo gostei e resolvi copiar, so que estou tendo o seguinte problema quando starto o serviço...

[root@Supremo squid]# /usr/sbin/squid start
2010/06/22 10:51:55| parseConfigFile: line 2 unrecognized: 'erarchy_stoplist cgi-bin ?'
FATAL: Bungled squid.conf line 34: acl Safe_ports port 1025 - 65535 #unregistered ports
Squid Cache (Version 2.6.STABLE6): Terminated abnormally.
[root@Supremo squid]#

pode me dar uma força...

vlw obrigado...

[8] Comentário enviado por raizd3 em 16/01/2012 - 16:36h

tiagoczn, esse erro 2010/06/22 10:51:55| parseConfigFile: line 2 unrecognized: 'erarchy_stoplist cgi-bin ?' tah acontecendo pq o comando certo eh "hierarchy_stoplist cgi-bin ?" ao inves de 'erarchy_stoplist cgi-bin ?'

o outro, ao invés de acl Safe_ports port 1025 - 65535 #unregistered ports deve ser acl Safe_ports port 1025-65535 #unregistered ports

soh isso =)


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts