n4t4n
(usa Arch Linux)
Enviado em 15/08/2014 - 18:00h
Várias coisas podem estar acontecendo. Verifique cada uma delas.
1 - Quando você pára o Firewall você não está limpando todas as tabelas, inclusive a NAT que é a que faz o redirecionamento para o SQUID.
2 - Você pode ter configurado seu proxy manualmente nos PC's. Nesse caso nem precisa da regra para redirecionamento (Se realmente não for usar proxy transparente)
3 - Ao iniciar o firewall todas as portas especificadas são redirecionadas para o Squid, porém o mesmo não está em modo transparente, nem configurado para tratar DNS, FTP, etc.
Fiz algumas mudanças que julguei necessárias. Analise como ficou.
#!/bin/sh
#ip-guardian
echo ""
uname -s -r -m -o
echo ""
echo " FIREWALL RAFITEC -- Firewall Iptables"
echo ""
firewall_start(){
echo ""
echo " Iniciando as Regras do Firewall .............................................."
echo ""
echo " Ativando o IP forward ................................................. [ OK ]"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo " Protegendo contra Pings ( ignorando ) ................................. [ OK ]"
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo " Protegendo contra IP spoofing ......................................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo " Protegendo contra diversos ataques .................................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo " Protegendo contra bogus responses ..................................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo " Protegendo contra IP synflood ......................................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo " Protegendo contra ICMP Broadcasting ................................... [ OK ]"
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo " Protegendo contra alteracao de rota ................................... [ OK ]"
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo " Protegendo contra Pings da Morte ...................................... [ OK ]"
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
echo " Definindo Politica Padrao ...................................................."
echo ""
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
echo " Limpando Regras Anteriores ............................................ [ OK ]"
echo ""
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
echo " Redirecionando portas para o SQUID (Proxy Transparente) ............... [ OK ]"
iptables -t nat -A PREROUTING -i eth1 -m multiport -p tcp --dports 21,80,443,53 -j REDIRECT --to-port 3128
echo " Compartilhando a internet via IPTABLES .................................[ OK ]"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo " Liberando acesso FTP, HTTP, HTTPS, DNS, através do SQUID ........... [ OK ]"
iptables -A INPUT -p tcp -i eth1 -m multiport --dports 21,80,443,53 -j ACCEPT
# Lembre de configurar o FTP e especificar os endereços DNS dentro do
squid.conf
echo " Liberando acesso NTP ............................................... [ OK ]"
iptables -A FORWARD -p tcp -i eth1 --dport 123 -j ACCEPT
echo " Liberando acesso a E-MAIL ............................................. [ OK ]"
iptables -A FORWARD -p tcp -i eth1 -m multiport --dports 25,110,143,465,587,993,995 -j ACCEPT
# Veja as portas de E-mail em
http://scuderiaserver.com.br/2012/05/configurando-programas-de-email/
echo " Protegendo contra traceroute .......................................... [ OK ]"
iptables -A INPUT -p udp --dport 33435:33525 -j LOG --log-prefix "_BLOCKED_: "
iptables -A INPUT -p udp --dport 33435:33525 -j DROP
echo " Protegendo contra portscanners, ping of death, ataques DoS, etc. ...... [ OK ]"
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "_BLOCKED_: "
iptables -A INPUT -m state --state INVALID -j DROP
echo " Liberando conexao SSH ..................................................[ OK ]"
iptables -A INPUT -p tcp -m tcp --dport 22 -i eth0 -j ACCEPT
echo " Fechando portas UDP 1:1024 ............................................ [ OK ]"
iptables -A INPUT -p udp --dport 1:1024 -j LOG --log-prefix "_BLOCKED_UDP_: "
iptables -A INPUT -p udp --dport 1:1024 -j DROP
echo " Permitindo respostas a conexoes iniciadas pela maquina ................ [ OK ]"
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo " Permitindo respostas a conexoes iniciadas pela rede ................ [ OK ]"
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
echo " Liberando a interface de loopback ..................................... [ OK ]"
iptables -A INPUT -i lo -j ACCEPT
echo " Bloqueando qualquer conexao que nao tenha sido permitida acima ........ [ OK ]"
iptables -A INPUT -p tcp --syn -j LOG --log-prefix "_BLOCKED_: "
iptables -A INPUT -p tcp --syn -j DROP
echo " Firewall em operacao .................................................. [ OK ]"
sleep 1
}
firewall_stop(){
iptables -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
}
case "$1" in
"start")
firewall_start
;;
"stop")
firewall_stop
echo " Desativando todas as Regras do Firewall ................................ [ OK ]"
echo " firewall disabled "
sleep 1
;;
status)
echo -e " ============================== Table Filter ============================ ";
iptables -t filter
-vnL
echo -e " ============================== Table Nat ============================= ";
iptables -t nat
-vnL
echo -e " ============================== Table Mangle =========================== ";
iptables -t mangle
-vnL
echo -e " ============================== Table Raw ============================ ";
iptables -t raw
-vnL
;;
"restart")
echo " Reativando todas as Regras do Firewall ................................ [ OK ]"
sleep 1
firewall_stop; firewall_start
;;
*)
iptables
-vnL