Escolar Documentos
Profissional Documentos
Cultura Documentos
5 32/64 bits)
Ambiente
O ambiente usado neste artigo consiste em umaVM (Virtual Machine ou Máquina Virtual), rodando Centos5.5 64
bits com duas placas de redes. Uma para o link de Internet, e outra para a rede interna.
Testei e tenho em produção tudo que abordaremos neste artigo. Dúvidas, dicas e críticas construtivas são sempre
bem-vindas.
• Firewall: Iptables
• Proxy: Squid 2.6 Stable
• Relatórios de acesso a sites: Sarg 2.3.1
• Web Server: Apache 2.2.3
• Sistema Operacional: Centos 5.5 64 Bits
# yum update -y
Depois instalaremos os pacotes necessários que incluem bibliotecas GCC, Apache, PHP, Joe e Squid:
# cd /root/
# wget http://www.sfr-fresh.com/unix/privat/sarg-2.3.1.tar.gz
Crie o arquivo:
# joe /etc/rc.d/rc.firewall
#!/bin/sh
### Script criado por Lucas Possamai ######################################
###############################################################
###############################################################
############ Define Variaveis ########################################
###############################################################
############## NAT #############################################
###############################################################
## Mascarando internet ##
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o $EXT -j MASQUERADE
###############################################################
############ INPUT ##############################################
###############################################################
###############################################################
############ OUTPUT #############################################
###############################################################
###############################################################
############ FORWARD ############################################
###############################################################
Avisos:
• Você deve alterar a variavel EXT para qual for sua placa de rede ligada a internet
• Você deve alterar a variavel INT para qual for sua placa de rede ligada a rede interna
• Você deve alterar os campos aonde contém 192.168.1.0/24 para a range de IPS da sua rede interna
# cd /etc/squid/
# joe squid.conf
A seguir o meu arquivo squid.conf. O mesmo possuí vários comentários que irão auxiliar você. No
final postarei meus comentários extras.
### INICIO SQUID.CONF ###
#############################################################
##### By Lucas Possamai ###########################################
#############################################################
acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8
## ACL autenticacao ##
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
## Nesta linha a baixo, vc ira informar qual mensagem ira aparecer
## Para o usuario, quando ele abrir o navegador
auth_param basic realm | Proxy da xxxxx - Entre com seu usuario e senha |
auth_param basic credentialsttl 10 hours
auth_param basic children 10
## ACL de GRUPOS ##
acl diretoria proxy_auth "/etc/squid/grupos/diretoria"
acl administrativo proxy_auth "/etc/squid/grupos/administrativo"
acl informatica proxy_auth "/etc/squid/grupos/informatica"
acl financeiro proxy_auth "/etc/squid/grupos/financeiro"
## ACL de MSN ##
acl usuariosMSN proxy_auth
acl MSN req_mime_type -i ^application/x-msn-messenger$
acl dll_MSN url_regex -i gateway.dll
acl dll2_MSN url_regex -i sqmserver.dll
acl msn_domains
dstdomain .msn.com .msn.com:443 .hotmail.com .hotmail.com:443 .live.com .live.com:443 .microsoft.com .micro
soft.com:443
## ALCs de SITE ##
acl sites_informatica url_regex -i "/etc/squid/regras/sites_liberados_informatica"
acl sites_administrativo url_regex -i "/etc/squid/regras/sites_liberados_administrativo"
acl sites_diretoria url_regex -i "/etc/squid/regras/sites_liberados_diretoria"
acl sites_financeiro url_regex -i "/etc/squid/regras/sites_liberados_financeiro"
## EXTENCOES BLOQUEADAS ##
acl extencoes urlpath_regex -i "/etc/squid/regras/extencoes"
## Bloqueando navegadores ##
acl firefox browser Firefox
acl chrome browser Chrome
acl opera browser Opera
hosts_file /etc/hosts
## Mailserver ##
acl mailserver url_regex mailserver
always_direct allow mailserver
http_access allow windows_update
http_access allow msn_domains
http_access allow dll2_MSN
http_access allow dll_MSN usuariosMSN
http_access allow MSN
http_access allow ips_sem_senha
hierarchy_stoplist cgi-bin ?
### Tamanho maximo do arquivo que ira ser armazenado em cache ###
maximum_object_size 200000 KB
#Cache windowsupdate
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
debug_options ALL,2
icp_port 3130
coredump_dir /var/spool/squid
Avisos:
• Lembre de alterar o campo 192.168.1.0/255.255.255.0 para o range de ips da sua rede interna
• Lembre de alterar no campo ips_sem_senha para os ips que vc queira que não utilizem proxy
• Lembre de alterar o seu visible_hostname
• Lembre de alterar/incluir/excluir os grupos que quiser
# mkdir /etc/squid/grupos
# mkdir /etc/squid/regras
# cd /etc/squid/grupos
# touch diretoria
# touch informatica
# touch financeiro
# touch administrativo
# joe diretoria
# joe financeiro
# joe administrativo
# joe informatica
# cd /etc/squid/regras
# touch sites_liberados_financeiro
# touch sites_liberados_administrativo
# touch extencoes
Agora incluiremos os sites que desejamos que sejam liberado para os grupos nestes arquivos.
# joe sites_liberados_financeiro
# joe sites_liberados_administrativo
## Neste arquivo ficam os sites que estão liberados para o administrativo ##
terra.com.br
bradesco.com.br
bradesco.com.br:443
bb.com.br
bb.com.br:443
# joe extencoes
## Neste arquivo, ficam as extencoes que os usuarios nao irao poder fazer download
## Exemplo, se voce quiser bloquear download de arquivos .exe
## basta incluir neste arquivo, da seguinte forma
\.exe$
\.bat$
\.avi$
# cd /etc/squid
Esses comandos criarão o arquivo passwd, nele ficarão salvas as senhas dos respectivos usuários.
# squid -z
# /etc/init.d/squid start
Se não houver erro seu squid está no ar! Caso contrário consulte os logs.
Chegou a vez do nosso amigo Sargpara que possamos visualizar os sites acessados/negados e downloads
efetuados em nosso Proxy.
No inicio do artigo iniciamos a instalação do Sarg, então nos resta agora apenas configurá-lo.
# joe /usr/local/etc/sarg.conf
# joe /etc/rc.local
Com isso, quando você reiniciar o seu servidor, tudo iniciará com ele.
Vamos agra configurar para que o Sarg gere relatórios diariamente dos sites acessados.
Vá em:
# cd /etc/cron.daily
# joe sarg
#!/bin/bash
HOJE=$(date --date "1 day ago" +%d/%m/%Y)
Com tudo iniciado, seu servidor reiniciado, você pode visualizar os relatórios acessando:
• http://127.0.0.1/relatorios
Lucas Possamai.