SQUID em 2 redes - Como habilitar MSN, SSL, POP/SMTP, Socks?
Trabalho numa empresa que possui duas redes:
192.168.0.0 - interna
192.168.1.0 - rede com roteador ADSL (192.168.1.1)
Um computador desta rede, que é o meu, possui duas interfaces (192.168.0.10 e 192.168.1.10) e através dele configurei um proxy/firewall que ditava algumas regras liberando acesso http/https, pop/smtp, socks (MSN e Skype) dentre outros. Mas tudo isso era feito utilizando o programa FreeProxy da HandCraftedSoftware, que roda sob Windows. A configuração nos clientes é simplesmente informando o meu IP e a porta para cada serviço.
Acontece que instalei um novo computador na rede, um SuSE Linux 9.3, também com duas interfaces (192.168.0.11 e 192.168.1.11) com o objetivo de substituir o proxy e firewall do meu computador. Instalei o SQUID e consegui configurá-lo de forma que os computadores clientes já utilizem regras dele para acesso a sites.
Mas não consegui configurar o squid para que os usuários utilizassem os outros recursos, como páginas HTTPS, POP e SMTP, MSN e Skype (que usam SOCKS).
Gostaria de saber o que preciso alterar no SQUID e o que mais precisa ser setado no SuSE para que eu consiga reproduzir no Linux o mesmo ambiente proxy/firewall que eu tinha no meu computador Windows. Detalhe: não conheço IPTABLES. Se for preciso mexer com isso, peço uma orientação básica (também não precisa ser tão infantil, apenas nunca usei e não tenho experiência com isso).
Basicamente, os usuários da rede 192.168.1.0 poderão ter acessos a todos os recursos (MSN, Skype, programas de transmissão da Receita Federal - receitanet, etc.) utilizando o proxy apenas para filtrar alguns sites indesejados pela direção. Já os usuários da rede 192.168.0.0 terão acesso somente a alguns sites (como urls de atualização do windows e anti-vírus). Alguns usuários da rede 192.168.0.0 terão acesso à sites .gov.br e outros sites permitidos para trabalho. E alguns usuários da rede 192.168.0.0 terão acesso a recursos de MSN, Skype, E-mail e Transmissão de Arquivos de Aplicativos da Receita Federal.
Muito obrigado se alguém puder ajudar. Abaixo colo parte do squid.conf que consegui criar para análise, se for útil:
Código :
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 25930 # udp
acl Safe_ports port 80 # http
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 21 # ftp
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1863 # msn
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 CONNECT method CONNECT
acl ftp proto FTP
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
# DEFINICAO DAS REDES
acl rede_interna src 192.168.0.0/255.255.255.0
acl rede_internet src 192.168.1.0/255.255.255.0
# HORARIO DE EXPEDIENTE
acl expediente_manha time MTWHF 8:00-12:00
acl expediente_tarde time MTWHF 13:30-18:00
# DEFINICAO DAS NORMAS DE ACESSO
# LOGIN - SOLICITACAO DE AUTENTICACAO PARA ACESSO A INTERNET
acl todosusuarios proxy_auth REQUIRED
# DEFINICAO DE SITES
acl NOCACHE url_regex -i "/etc/squid/regras/direto.txt"
# sites bloqueados para todos os usuarios
acl sitesbloqueados url_regex -i "/etc/squid/regras/bloqueados.txt"
# sites liberados para todos os usuarios
acl sitesliberados url_regex -i "/etc/squid/regras/liberados.txt"
# sites permitidos para usuarios da rede interna
acl sitespermitidos url_regex -i "/etc/squid/regras/permitidos.txt"
# extensoes de download bloqueados
acl extensoesdownload urlpath_regex -i "/etc/squid/regras/downloads.txt"
# urls para usuarios de MSN
acl urlsmsn url_regex -i "/etc/squid/regras/msn.txt"
# usuarios de msn
acl usuarios_msn proxy_auth_regex -i "/etc/squid/regras/usuarios_msn.txt"
# DEFINICAO DAS REGRAS DE ACESSO
# AS REGRAS FUNCIONAM EM ORDEM DECRESCENTE
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# regras gerais (para rede internet ou interna)
http_access allow sitesliberados
http_access deny extensoesdownload
http_access allow sitesbloqueados !expediente_manha !expediente_tarde rede_internet
http_access deny sitesbloqueados
# regras para rede internet
http_access allow rede_internet
# regras para rede interna
http_access allow todosusuarios rede_interna sitespermitidos
# a regra abaixo libera MSN para todos da rede interna. verificar como liberar para usuarios especificos
http_access allow todosusuarios rede_interna urlsmsn usuarios_msn
#http_access allow todosusuarios rede_interna urlsmsn
http_access deny rede_interna
#http_access allow manager localhost
#http_access deny manager
#http_access deny to_localhost
http_access deny all
http_reply_access allow all
icp_access allow all
miss_access allow rede_internet
miss_access allow rede_interna
miss_access deny !rede_internet !rede_interna
Re: SQUID em 2 redes - Como habilitar MSN, SSL, POP/SMTP, Socks?
Eu não terminei de lançar tudo, mas no wiki, na parte de projetos, tem uma documentação sobre Squid de minha autoria. Ela pode iluminar muito o seu caminho.
Infelizmente, o Squid não suporta SMTP nem POP, por isso tu não vai conseguir fugir do IPTables, mas é uma regra simples.
Abraços!