Erro update Windows Squid3 + Iptables

1. Erro update Windows Squid3 + Iptables

jonathan
jnt.santos

(usa Debian)

Enviado em 15/10/2014 - 15:14h

Boa tarde Pessoal
Depois de muito tentar estou com uma tremenda Dificuldade

Tenho um Squid3 configurado aqui com Proxy Autenticado, Eu necessito que os updates do windows sejam fora da Autenticação, mais de jeito nem maneira consigo isso, usei como base esse tutorial alterando para meu cenario.

http://www.vivaolinux.com.br/artigo/Squid-+-Iptables-Combinacao-Infalivel/?pagina=4

A Autenticação está Ok
A Acl administracao esta Ok
Se tirar o Proxy do Navegador Ele Não navega(era isso que queria)Ok --- MAS pela minha configuração era para mesmo sem proxy pegar a Acl Microsoft que esta FORA da autenticação e navegar nos sites que está la, não esta fazendo isso. =/
O Gmail e um CÂO e acessa até sem proxy, capiroto maldito, rsrs.

Será que alguem pode me ajudar.

Meu cenario: Firewal com 1 placa de rede, configuração do IPtables:

################
## Carrega os modulos
# Em alguns casos esses módulos serão úteis, realize uma pesquisa sobre cada um #
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe nf_conntrack_ipv4
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe nf_nat
/sbin/modprobe nf_conntrack
/sbin/modprobe x_tables
/sbin/modprobe nf_nat_pptp

## Limpa a tabela filter
iptables -F
## Limpa a tabela nat
iptables -t nat -F
## Limpa a tabela mangle
iptables -t mangle -F

# Habilita o roteamento no kernel #
echo 1 > /proc/sys/net/ipv4/ip_forward

# Compartilha a internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Ao retirar o Proxy do navegador não acessar
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128

###Bloqueando
iptables -A FORWARD -m string --algo bm --string "mail.google.com" -j REJECT


###############
# REGRAS DE INPUT #
###############

# Libera o squid a partir da rede interna
iptables -A INPUT -p tcp --dport 3128 -s 192.168.10.0/255.255.255.0 -j ACCEPT

# Libera SSH Apenas para a rede interna
iptables -A INPUT -p tcp --dport 22 -s 192.168.10.0/255.255.255.0 -j ACCEPT

################
# REGRAS DE OUTPUT #
################

# Libera as portas 80 e 443 apenas para localhost
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Libera DNS apenas para localhost
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

# Libera FTP para localhost
iptables -A OUTPUT -p tcp -m multiport --dports 20,21 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports 20,21 -j ACCEPT

#################
# REGRAS DE FORWARD #
#################

# Libera o acesso a clientes de email, pop e smtp
iptables -A FORWARD -p tcp -m multiport --dports 25,110,587 -j ACCEPT

# Libera o acesso a clientes de email, pop e smtp
iptables -A FORWARD -p tcp -m multiport --dports 25,110,587 -j ACCEPT


iptables -A INPUT -p tcp --destination-port 22 -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 587 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 137 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 139 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 88 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 53 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 445 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 111 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 548 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 901 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2049 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3000 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3389 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 4900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 23 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2323 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 9100 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1723 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 47 -j ACCEPT

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

#Protecoes contra ataques
#iptables -A INPUT -m state -state INVALID -j DROP

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


###########################################

configuração Squid:
# Porta em que o squid ira "ouvir"
http_port 3128
# Nome visível do servidor
visible_hostname Buzas Proxy

# Programa que sera usado na autenticacao, no caso msnt_auth
#auth_param basic program /usr/lib/squid3/msnt_auth
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd

# Numero de processos filhos usados pelo autenticador, caso seja utilizado em uma rede muito grande
# esse número deve ser aumentado.
auth_param basic children 5

# Mensagem que aparecera na janela de autenticacaocd acls
auth_param basic realm Servidor_Internet_Buzas

#auth_param basic credentialsttl 2 hours

#configuracao de memoria
cache_mem 128 MB
maximum_object_size_in_memory 1024 KB
maximum_object_size 6 MB
minimum_object_size 128 KB
cache_swap_low 90
cache_swap_high 95

# Ajustes do cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320

# Arquivo de log
access_log /var/log/squid3/access.log squid
# Arquivo de cache
cache_log /var/log/squid3/cache.log

###########
## ACLS ###
##########

# ACLS que nao vao passar pela autenticacao
# Insira aqui as acls que voce nao quer que passe pela autenticacao
# Nesta artigo nao darei exemplos, porem voce pode usar para uma atualizacao de antivírus
# Ou qualquer outra aplicacao que nao necessite de autenticacao

# Insira dentro do arquivo citado abaixo os ips usados pelo seu antivírus, Ips inseridos aqui não passaram pelos filtros
acl antivirus dst "/etc/squid3/acls/antivirus"
# Windows Update
acl microsoft url_regex "/etc/squid3/acls/ms-update"
acl domain_watson dstdomain windows.microsoft.com
acl ips_update src 192.168.0/24
http_access allow ips_update microsoft
#http_access allow microsoft
http_access allow domain_watson

#### Torna obrigatorio o uso de autenticacao (O que for feito desta linha para baixo) ####
acl internal_lan proxy_auth REQUIRED

# GRUPOS #

#Liberado
acl liberado proxy_auth "/etc/squid3/grupos/liberado

# Restrito
acl restrito proxy_auth "/etc/squid3/grupos/restrito"

#Administracao
acl administracao proxy_auth "/etc/squid3/grupos/administracao"

# Arquivos com bloqueios #

# Acl do tipo url_regex (regex de expressao regular - Regular Expression)
# Isira no arquivo as palavras proibidas como sexo, orkut, etc, conforme visto anteriormente,
# (Ponto) antes do site e o (Asterisco) ao final sao expressoes regulares, que indicam que devem liberar todo os subdiretórios do site e tudo o que tiver antes do ponto
# Sao usadas junto a url _ regex

acl palavras_proibidas url_regex "/etc/squid3/acls/palavras_proibidas"
acl sites_permitidos dstdomain "/etc/squid3/acls/sites_permitidos"
acl sites_bloqueados_todos url_regex "/etc/squid3/acls/sites_bloqueados_all"
acl sites_bloqueados_restritos url_regex "/etc/squid3/acls/sites_bloqueados_restrito"
acl download url_regex "/etc/squid3/acls/download"

# Acl do tipo url_regex (regex de expressao regular - Regular Expression)
# Insira aqui os sites que devem ser liberados para cada grupo ex .buzas.com*
acl sites_rh url_regex "/etc/squid3/acls/rh"
acl sites_administracao url_regex "/etc/squid3/acls/administracao"

# Colocar no arquivo /etc/squid3/acls/sites_restritos
# links de sites que sao proibidos
# Exemplo: O site uol.com.br esta liberado, porem o usuario nao consegue acessar a parte do site sexo.uol.com.br
# Portanto adicione no arquivo as sessoes dos sites que voce nao quer que o usuario acesse.
#acl sites_restritos dstdomain "/etc/squid3/acls/sites_restritos"

#Recommended minimum configuration:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl rede_interna src 192.168.10.0/24

# Acls padroes do SQUID (Aqui ele faz liberacoes de algumas portas)
acl SSL_ports port 443
acl SSL_ports port 2095
acl SSL_ports port 2082
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 445
acl CONNECT method CONNECT

# MANAGER ACLS #

# Acls padroes do SQUID
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


# PERSONAL MANAGER #

# Insira aqui as regras de liberacoes para o que nao vai passar pela autenticacao

# Libera os ips contídos na acl antivirus
#http_access allow antivirus
##

# Aesso total
http_access allow liberado !sites_bloqueados_todos

#Acesso restrito
http_access allow liberado !sites_bloqueados_restritos !download


# Administracao (Acesso apenas ao que estiver listado em administracao)
#http_access deny administracao !sites_administracao
http_access allow administracao sites_administracao


# Nega palavras proibidas exceto o que estiver em palavras_permitidas
http_access deny palavras_proibidas !sites_permitidos

# Libera rede interna, Localhost e nega tudo o que nao se enquadrou em nenhuma regra
http_access allow localhost
http_access allow internal_lan
http_access deny all

icp_access deny all
htcp_access deny all

hierarchy_stoplist cgi-bin \?
# Overwrite cache
cache_replacement_policy lru
memory_replacement_policy lru
#Default:
# cache_dir ufs /var/spool/squid3 100 16 256

icp_port 3130

# Coloca as paginas de erro em portugues
error_directory /usr/share/squid3/errors/Portuguese

coredump_dir /var/spool/squid3

##############################

log de acesso

ao tentar update da microsoft:
1413391097.581 0 192.168.10.189 NONE/400 3986 NONE error:invalid-request - NONE/- text/html
1413391098.711 0 192.168.10.189 NONE/400 3556 GET /content/catalogs/others/index-windows-1.sucatalog - NONE/- text/html
1413391116.662 0 192.168.10.189 NONE/400 301 HEAD /v11/2/windowsupdate/redir/v6-win7sp1-wuredir.cab?1410151638 - NONE/- text/html
1413391116.695 0 192.168.10.189 NONE/400 3576 GET /v11/2/windowsupdate/redir/v6-win7sp1-wuredir.cab?1410151638 - NONE/- text/html
1413391116.739 0 192.168.10.189 NONE/400 301 HEAD /v11/2/windowsupdate/redir/v6-win7sp1-wuredir.cab?1410151638 - NONE/- text/html
1413391116.774 0 192.168.10.189 NONE/400 3576 GET /v11/2/windowsupdate/redir/v6-win7sp1-wuredir.cab?1410151638 - NONE/- text/html
1413391116.818 0 192.168.10.189 NONE/400 301 HEAD /v11/2/windowsupdate/redir/v6-win7sp1-wuredir.cab?1410151638 - NONE/- text/html
1413391116.849 0 192.168.10.189 NONE/400 3576 GET /v11/2/windowsupdate/redir/v6-win7sp1-wuredir.cab?1410151638 - NONE/- text/html
141339111




  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts