Preciso passar alguns elementos para que possam ter uma nocao real da situação, meu script de firewall esta assim
#!/bin/bash
echo "Carregando o firewall..."
# Definindo as variaveis
REDEINT="10.0.10.0/24"
ENT="eth1"
SAI="eth0"
# carregando os modulos
modprobe iptable_nat # limpando as tabelas
iptables -F
iptables -t nat -F
# Protege contra os "Ping of Death"
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# Protege contra os ataques do tipo "Syn-flood, DoS, etc"
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
# Permitir repassamento (NAT,DNAT,SNAT) de pacotes etabilizados e os relatados ...
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Logar os pacotes mortos por inatividade ...
iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG
# Protege contra port scanners avançados (Ex.: nmap)
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Protege contra pacotes que podem procurar e obter informações da rede interna ...
# iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
# Protege contra todos os pacotes danificados e ou suspeitos ...
iptables -A FORWARD -m unclean -j DROP
# Bloqueando tracertroute
iptables -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP
# Protecoes contra ataques
iptables -A INPUT -m state --state INVALID -j DROP
# Performance - Setando acesso a web com delay minimo
iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A OUTPUT -o $ENT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay
# Deixa passar as portas UDP do servidores DNS, e Rejeitar o restante
#iptables -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
#iptables -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
iptables -A INPUT -i $ENT -p udp -j ACCEPT
#acrescentei aqui
iptables -A INPUT -s $REDEINT -p tcp --dport :32000 -j ACCEPT
# Bloqueia qualquer tentativa de conexao de fora para dentro por TCP
# iptables -A INPUT -i $ENT -p tcp --syn -j DROP
# Mesmo assim fechar todas as portas abaixo de 32000
# iptables -A INPUT -i $ENT -p tcp --dport :32000 -j DROP
# Responde pacotes icmp especificados e rejeita o restante
iptables -A INPUT -i $ENT -p icmp --icmp-type host-unreachable -j ACCEPT
iptables -A INPUT -i $ENT -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -i $ENT -p icmp -j REJECT --reject-with icmp-host-unreachable
# libera acesso interno da rede
iptables -A INPUT -p tcp --syn -s $REDEINT -j ACCEPT
iptables -A OUTPUT -p tcp --syn -s $REDEINT -j ACCEPT
iptables -A FORWARD -p tcp --syn -s $REDEINT -j ACCEPT
# libera o loopback
iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
# libera conexoes de fora pra dentro
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 901 -j ACCEPT
#$iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
#$iptables -A INPUT -p tcp --destination-port 20 -j ACCEPT
#$iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
#$iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
#libera conexoes de dentro pra fora:
iptables -A OUTPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 3306 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 20 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 21 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 86 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 5190 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 901 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 3128 -j ACCEPT
# regras de bloqueio
#iptables -A FORWARD -s $REDEINT -p tcp --dport 1863 -j REJECT
#iptables -A FORWARD -s $REDEINT -p tcp --dport 445 -j REJECT
# compartilha a web na rede interna
iptables -t nat -A POSTROUTING -s $REDEINT -o $SAI -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
#direciona para o squid
iptables -t nat -A PREROUTING -i $ENT -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -s $REDEINT -p tcp --dport 1863 -j REJECT
# bloqueia o resto
iptables -A INPUT -p tcp --syn -j DROP
iptables -A OUTPUT -p tcp --syn -j DROP
iptables -A FORWARD -p tcp --syn -j DROP
# bloqueia ping
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# ----------------------------------------------------------------
echo "Firewall carregado..."
O squid esta fazendo proxy transparente e uma das regras que bloqueia urls esta funcionando corretamente, o meu squid.conf nas regras esta assim :
cl 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
acl to_localhost dst 127.0.0.0/8
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 CONNECT method CONNECT
# ACL que implementei
acl LAN src 10.0.10.0/24
acl MSN_DOM dstdomain loginnet.passport.com
acl MSN_DOM dstdomain webmessenger.msn.com
acl MSN_DLL url_regex -i gateway.dll
acl MSN_REQS req_mime_type -i ^application/x-msn-messenger$
acl MSN_PORT port 1863
acl horaruim time MTWHF 08:00-12:00 14:00-21:00
acl ippermite src 10.0.10.10
acl proibir_sites url_regex -i "/etc/rc.d/sites_proibidos"
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#fiz essas regras
http_access deny MSN_PORT horaruim
http_access deny MSN_DOM horaruim
http_access deny MSN_DLL horaruim
http_access deny MSN_REQS horaruim
http_access deny proibir_sites horaruim
http_access allow LAN
http_access deny all
http_reply_access allow all
icp_access allow all
Se eu abro outro terminal e dou um tail -f access.log e abro o msn vejo aparecer uma serie de linhas como :
1124149043.461 2 10.0.10.10 TCP_DENIED/403 1343 GET http://c.msn.com/c.gif? - NONE/- text/html
1124149044.424 1 10.0.10.10 TCP_DENIED/403 1405 POST http://config.messenger.msn.com/Config/MsgrConfig.asmx - NONE/- text/html
1124149047.418 973 10.0.10.10 TCP_DENIED/403 1405 POST http://config.messenger.msn.com/Config/MsgrConfig.asmx - NONE/- text/html
O que me faz crer que as regras do proxy estejam funcionando, dei um nmap e a porta que o MSN usa nao aparece aberta no firewall. Sera que o Messenger 7.0 se conecta de outro jeito ? Que praga miseravel.
Os colegas poderiam dar uma luz por favor ?
Obrigado