vauires
(usa Debian)
Enviado em 16/10/2012 - 18:21h
Copie e cole o script abaixo num bloco de notas e faça as devidas alterações
#PORTA PADRAO
http_port xxx.xxx.xxx.xxx:3128 # Substituir xxx pelo IP do proxy
visible_hostname Proxy #substituir pelo nome da maquina
dns_nameservers = 200.204.0.10 200.204.0.138 # substituir caso seja diferente
# CONFIGURACAO DO CACHE
cache_mem 32 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_log /var/log/squid3/cache.log
# LOCALIZACAO DOS LOGS
cache_access_log /var/log/squid3/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
logfile_rotate 4
#LIBERA MAQUINAS PELO ENDERECO IP
acl ipslib src "/etc/squid3/ipslib #libera para acesso total maquinas da rede do servidor proxy, nem pede senha. Informar IP das maquinas liberadas no arquivo especificado
http_access allow ipslib
#LIBERA SITES DA INTERNET
acl liberados url_regex -i "/etc/squid3/liberados" #libera sites bloqueados no arquivo proibidos insira no arquivo especificado apenas a palavra dos sites que deseja liberar, por exmplo: orkut - msn - facebook cada palavra abaixo da outra
http_access allow liberados
#LIBERA CAIXA ECONOMICA FEDERAL (conectividade social)
acl caixa dstdomain -i .caixa.gov.br
http_access allow caixa
always_direct allow caixa
acl localhost src 127.0.0.1/32
acl manager proto cache_object
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 809
acl Safe_ports port 443
acl Safe_ports port 2631
acl Safe_ports port 8080
acl Safe_ports port 3128
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
#CONFIGURACAO COM SQUIDGUARD
#redirect_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf
#redirect_program /usr/bin/squidGuard
#BLOQUEIA DOWNLOAD POR ENDERECO IP
acl bloqueia src "/etc/squid3/ipsblo" # bloqueia download das maquinas com endereço IP informado no arquivo ipsblo, o conteúdo do arquivo extensoes deve seguir os seguintes exemplos: \.exe$(\?.*)?(\#.*)?$ - \.com$(\?.*)?(\#.*)?$ - \.bat$(\?.*)?(\#.*)?$ - \.mp3$ \.iso$ - \.rar$ - \.zip$ - \.com$ - \.bat$ - \.txt$ inclua todas extensoes que deseja bloquear seguindo esses exemplos um abaixo do outro
acl extensoes urlpath_regex -i "/etc/squid3/extensoes"
http_access deny extensoes all
http_access allow bloqueia all
# BLOQUEIA SITES PROIBIDOS
acl bloqueados url_regex -i "/etc/squid3/proibidos" # bloqueia sites proibidos, insira no arquivo especificado apenas palavras relacionadas ao site que deve ser bloqueado, por exemplo: playboy - orkut - msn - facebook uma palavra abaixo da outra
http_access deny bloqueados all
# AUTENTICACAO DE USUARIOS NO LINUX (descomente caso deseje implemetar esse recurso)
#acl autenticados proxy_auth REQUIRED
#auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/usuarios
#auth_param basic credentialsttl 2 hours
#http_access allow autenticados all
#Descomente as linha abaixo e faça as devidas alterações caso deseje implementar autenticação no AD do Window Server
#auth_param basic program /usr/lib/squid3/squid_ldap_auth -R -b "dc=seudominio,dc=com,dc=br" -D "cn=administrador,cn=Users,dc=seudominio,dc=com,dc=br" -w senha_administrador -f sAMAccountName=%s -h xxx.xxx.xxx.xxx #IP do servidor Windows
#acl autentica proxy_auth REQUIRED
#http_access allow autentica all
# LIBERA O ACESSO EM HORARIOS ESPECIFICOS
# Por padrao o acesso esta liberado para liberar o acesso apenas na hora do almoco
# dos funcionarios descomente as linhas abaixo e faca as alteracoes necessarias
# Libera na hora do almoco das 12:00 as 13:00
#acl almoco time 12:00-13:00
#http_access allow almoco all
# Bloqueia o acesso das 08:00 as 12:00
#acl expediente1 time 08:00-12:00
#http_access deny expediente1
# Bloqueia o acesso das 13:00 as 18:00
#acl expediente2 time 13:00-18:00
#http_access deny expediente2
#LIBERA LOCALHOST E REDE LOCAL
acl rede_local src xxx.xxx.xxx.xxx/xx #subsituir xxx pela IP da rede local
http_access allow rede_local all
#REDE DMZ (rede servidores)
#acl dmz src 192.168.0.0/24 # caso tenha uma DMZ a mesma deve ser liberada
#http_access allow dmz
#http_access allow all
#LIBERA ATUALIZACOES MICROSOFT
acl update dstdomain -i Windowsupdate.microsoft.com au.download.Windowsupdate.com
http_access allow update
# LIBERA MSN - libera MSN para bloquer substituir allow por deny
acl msnlogon dstdomain .passport.com
acl msnmessenger url_regex -i gateway.dll
acl msn req_mime_type -i ^application/x-msn-messenger$
http_access allow msnlogon all
http_access allow msnmessenger all
http_access allow msn all
#OTIMIZANDO CONEXOES
#########################################
hierarchy_stoplist cgi-bin ?
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
redirect_children 8
redirector_bypass on
Osb.: Testado na distribuição Debian, com squid3, todos os recursos funcionaram perfeitamente.
Para autenticação no Linux é necessário criar o arquivo /etc/squid3/usuarios, instalar o apache e cadastrar os usuários com o comando:
htpasswd -c /etc/squid3/usuario nomedousuario
ou
htpasswd2 -c /etc/squid3/usuario nomedousuario
A opcao menos -c deve ser usada somente para o primeiro usuario para os demais usuarios deve ser retirada.
Epero que essa solução tenha alguma utilidade
Boa sorte!