SPH
(usa Debian)
Enviado em 18/05/2011 - 09:00h
Bom Dia Pessoal do VOL.
Estou com uma duvida cruel. Tenho um script de firewall rodando num server Debian aqui, mas tem alguns usuários que estão passando por fora do proxy pelo que verifiquei é um redirecionamento de porta ou algum proxy que tem instalado no micro. Pois sai do micro por uma porta e conecta num ip fora em outra. Vamos a minha duvida.
Outro dia pesquisando pela net achei um script de firewall onde o cara definiu uma política padrão para as cadeias INPUT OUTPUT e FORWARD, tentei adequar isso ao meu script mas quando reiniciei o firewall nao navegou mais. Alguém aí pode me ajudar?
Minha pergunta é se eu colocar isso no topo do script ou no final faz diferença? por exemplo quero negar acesso a qualquer porta em INPUT OUTPUT e FORWARD menos as que eu tratarei no corpo do script nao sei se fui claro. Vou tentar ilustrar:
Inicio do firewall:
#!/bin/sh
iniciar(){
# Inicia Servidor
echo "Iniciando O Firewall...................................................[OK]"
# Define Variaveis
echo "Definindo Variaveis....................................................[OK]"
IPTABLES="/sbin/iptables"
REDEINT="10.1.1.0/255.255.255.0"
IPDNSPROVEDOR="8.8.8.8"
ENT="eth0"
SAI="eth1"
# Modulos
echo "Carregar Modulos.......................................................[OK]"
## /sbin/modprobe depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc
echo "Habilitando IP forwarding..............................................[OK]"
echo 1 > /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv4/ip_forward
# echo "1"> proc/sys/net/ipv4/ip_dynaddr
# Limpar
echo "Limpando Tabelas.......................................................[OK]"
$IPTABLES -F
$IPTABLES -t nat -F
# Direcionar porta Para Proxy
echo "Direcionando porta 80 para 3128.......................................[nao]"
$IPTABLES -t nat -A PREROUTING -i $SAI -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A PREROUTING -i $SAI -p tcp --dport 443 -j REDIRECT --to-port 3128
# Definindo política padrão
$IPTABLES -A INPUT -p tcp --syn -j DROP
$IPTABLES -A OUTPUT -p tcp --syn -j DROP
$IPTABLES -A FORWARD -p tcp --syn -j DROP
#libera conexoes de dentro pra fora:
echo "Abre de dentro da rede para internet...................................[OK]"
$IPTABLES -A OUTPUT -p tcp --destination-port 465 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --destination-port 995 -j ACCEPT
echo "Liberando portas necessarias da internet pra dentro da rede............[OK]"
$IPTABLES -A INPUT -p tcp --destination-port 9090 -j ACCEPT
$IPTABLES -A INPUT -p tcp --destination-port 3770 -j ACCEPT
$IPTABLES -A INPUT -p tcp --destination-port 5222 -j ACCEPT
$IPTABLES -A INPUT -p tcp --destination-port 5223 -j ACCEPT
}
parar(){
iptables -F
echo "Regras de firewall desativadas"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os par�metros start ou stop"
esac
echo "Firewall carregado..."
Final do firewall
Nesse Exemplo quero bloquear tudo menos essas portas tratadas em INPUT e OUTPUT.
Lembrando que peguei só algumas partes do script somente para ilustrar como fiz. Analisem aí e se alguem puder dar uma luz onde esta o erro Agradeço.