Politica FORWARD DROP, Não Consiguo liberar portas

1. Politica FORWARD DROP, Não Consiguo liberar portas

Marcos Vinícius da Silva Gabriel
marcosviniciusi

(usa CentOS)

Enviado em 03/08/2008 - 22:33h

O problema é o Seguinte
olhei um script de firewall de um companheiro do forum e quando coloco a politica forward em DROP, mesmo liberando acesso das portas, como por ex o MSN ( 1863) e tento também acesso a um servidor exchange internamente na rede e também tenho 2 redes, qual a rede 172.16 nao pode se comunicar com a 192.168 ( somente ao contrário poderá) se eu deixo em forward accept, tudo funciona normalmente e não consiguo bloquear nada tbm. a config do firewall é essa
ainda esta em modificação mas precisaria resolver esse problema antes de terminar esse firewall.
Também se alguem pudesse ajudar, qual solução que faria que a REDE1 não comunique com a REDE2

Obrigado,

#!/bin/sh
#Declaração de variaveis
PATH=/sbin:/bin:/usr/sbin:/usr/bin
IPTABLES="/sbin/iptables"
MACLIST="/etc/firewall/maclib" # Mac Liberados pelo Firewall
PROGRAMA="/etc/init.d/firewall"

#Portas a Liberar
PORTSLIBWAN1="/etc/firewall/portslibwan1" # Portas Liberadas WAN1
PORTSLIBWAN2="/etc/firewall/portslibwan2" # Portas Liberadas WAN2
#portas Fechadas
PORTSBLOWAN1="/etc/firewall/portsblowan1" # Portas Bloqueadas WAN1
PORTSBLOWAN2="/etc/firewall/portsblowan2" # Portas Bloqueadas WAN2

#Interfaces de Rede
LAN1=eth2
LAN2=eth0
WAN1=eth1
WAN2=eth0
REDE1="172.16.1.0/24"
REDE2="192.168.16.0/24"

#Sites Negados
SITESNEGADOS1=/etc/firewall/sitesnegados1
SITESNEGADOS2=/etc/firewall/sitesnegados2

#Redirecionamento Portas
REDILISTWAN1="/etc/firewall/redwan1"
REDILISTWAN2="/etc/firewall/redwan2"


modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK

case "$1" in
start)

$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
#$IPTABLES -t mangle -F
$IPTABLES -t nat -F
#$IPTABLES -X


$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# ativar o redirecionamento no arquivo ip_forward
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "ativado o redirecionamento no arquivo ip_forward"


#habilitando o fluxo interno entre os processos
$IPTABLES -I INPUT -i lo -j ACCEPT
$IPTABLES -I OUTPUT -o lo -j ACCEPT
echo "ativado o fluxo interno entre os processos"


### Aqui estaa regra de direcionamento, eu ja analisei e ja verifiquei e esta tudo oks, porem não funciona o redirecionamento quando a politica FORWARD DROP esta ativada.
#liberar as portas principais do servidor para o WAN1
for i in `cat $PORTSLIBWAN1`; do
$IPTABLES -A INPUT -p tcp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $i -j ACCEPT
$IPTABLES -A INPUT -p udp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p udp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p udp --sport $i -j ACCEPT
done


$IPTABLES -I INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -I INPUT -m state --state RELATED -j ACCEPT
$IPTABLES -I OUTPUT -p icmp -o $WAN1 -j ACCEPT
$IPTABLES -I INPUT -p icmp -j ACCEPT
echo "ativado as portas abertas para estabelecer conexões"


#liberar as portas principais do servidor para o WAN2
for i in `cat $PORTSLIBWAN2`; do
$IPTABLES -A INPUT -p tcp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $i -j ACCEPT
done
$IPTABLES -I INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -I INPUT -m state --state RELATED -j ACCEPT
$IPTABLES -I OUTPUT -p icmp -o $WAN2 -j ACCEPT
$IPTABLES -I INPUT -p icmp -j ACCEPT
echo "ativado as portas abertas para estabelecer conexões"

#Redirecionamento de portas WAN1 ( Aqui também o direcionamento de porta, quando esta em ACCEPT, tudo funciona normalmente.
for i in `cat $REDILISTWAN1`; do

REDIPROTO=`echo $i | cut -d ';' -f 1` #recebe o protocolo a ser redirecionado
REDIPORTA=`echo $i | cut -d ';' -f 2` #recebe a porta a ser redirecionado
REDIP=`echo $i | cut -d ';' -f 3` #recebe o ip a ser redirecionado
REDISERVICO=`echo $i | cut -d ';' -f 4` #recebe o nome do serviço
REDIHOST=`echo $i | cut -d ';' -f 5` #recebe o nome do host
$IPTABLES -A FORWARD -p $REDIPROTO --dport $REDIPORTA -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p $REDIPROTO -i $WAN1 --dport $REDIPORTA -j DNAT --to $REDIP
done



#Redirecionamento de Porta WAN2
for i in `cat $REDILISTWAN2`; do

REDIPROTO=`echo $i | cut -d ';' -f 1` #recebe o protocolo a ser redirecionado
REDIPORTA=`echo $i | cut -d ';' -f 2` #recebe a porta a ser redirecionado
REDIP=`echo $i | cut -d ';' -f 3` #recebe o ip a ser redirecionado
REDISERVICO=`echo $i | cut -d ';' -f 4` #recebe o nome do serviço
REDIHOST=`echo $i | cut -d ';' -f 5` #recebe o nome do host
$IPTABLES -A FORWARD -p $REDIPROTO --dport $REDIPORTA -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p $REDIPROTO -i $WAN2 --dport $REDIPORTA -j DNAT --to $REDIP
done

#bloquear acesso de sites negados a REDE1
for i in `cat $SITESNEGADOS1`; do
$IPTABLES -t filter -A FORWARD -s $REDE1 -d $i -j DROP
$IPTABLES -t filter -A FORWARD -s $i -d $REDE -j DROP
$IPTABLES -t filter -A INPUT -s $i -j DROP
$IPTABLES -t filter -A OUTPUT -d $i -j DROP
done

echo "ativado o bloqueio de envio de pacotes com origem aos sites negados"

#bloquear acesso de sites negados a REDE2
for i in `cat $SITESNEGADOS2`; do
$IPTABLES -t filter -A FORWARD -s $REDE2 -d $i -j DROP
$IPTABLES -t filter -A FORWARD -s $i -d $REDE -j DROP
$IPTABLES -t filter -A INPUT -s $i -j DROP
$IPTABLES -t filter -A OUTPUT -d $i -j DROP
done
echo "ativado o bloqueio de envio de pacotes com origem aos sites negados"

#Bloqueio ping da morte
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
$IPTABLES -N PING-MORTE
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j PING-MORTE
$IPTABLES -A PING-MORTE -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A PING-MORTE -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo ping da morte"

#bloquear ataque do tipo SYN-FLOOD WAN1
echo "0" > /proc/sys/net/ipv4/tcp_syncookies
$IPTABLES -N syn-flood
$IPTABLES -A INPUT -i $WAN1 -p tcp --syn -j syn-flood
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A syn-flood -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SYN-FLOOD"

#bloquear ataque do tipo SYN-FLOOD WAN2
echo "0" > /proc/sys/net/ipv4/tcp_syncookies
#$IPTABLES -N syn-flood
#$IPTABLES -A INPUT -i $WAN2 -p tcp --syn -j syn-flood
#$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
#$IPTABLES -A syn-flood -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SYN-FLOOD"

#Bloqueio de ataque ssh de força bruta WAN1
$IPTABLES -N SSH-BRUT-FORCE
$IPTABLES -A INPUT -i $WAN1 -p tcp --dport 22 -j SSH-BRUT-FORCE
$IPTABLES -A SSH-BRUT-FORCE -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A SSH-BRUT-FORCE -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SSH-BRUT-FORCE"

#$IPTABLES -A INPUT -i $WAN2 -p tcp --dport 22 -j SSH-BRUT-FORCE



#Bloqueio de portas WAN2
for i in `cat $PORTSBLOWAN1`; do
$IPTABLES -A INPUT -p tcp -i $WAN1 --dport $i -j DROP
$IPTABLES -A INPUT -p udp -i $WAN1 --dport $i -j DROP
$IPTABLES -A FORWARD -p tcp --dport $i -j DROP
$IPTABLES -A FORWARD -p udp --dport $i -j DROP
$IPTABLES -A OUTPUT -p tcp --dport $i -j DROP
$IPTABLES -A OUTPUT -p udp --dport $i -j DROP
done

#Bloqueio de portas WAN2
for i in `cat $PORTSBLOWAN2`; do
$IPTABLES -A INPUT -p tcp -i $WAN2 --dport $i -j DROP
$IPTABLES -A INPUT -p udp -i $WAN2 --dport $i -j DROP
$IPTABLES -A FORWARD -p tcp --dport $i -j DROP
$IPTABLES -A FORWARD -p udp --dport $i -j DROP
$IPTABLES -A OUTPUT -p tcp --dport $i -j DROP
$IPTABLES -A OUTPUT -p udp --dport $i -j DROP
done

#bloqueio Anti-Spoofings WAN1
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $WAN1 -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -i $WAN1 -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $WAN1 -j DROP
$IPTABLES -A INPUT -s 192.168.1.0/16 -i $WAN1 -j DROP
echo "ativado o bloqueio de tentativa de ataque do tipo Anti-spoofings WAN1"

#bloqueio Anti-Spoofings WAN2
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $WAN2 -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -i $WAN2 -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $WAN2 -j DROP
$IPTABLES -A INPUT -s 192.168.1.0/16 -i $WAN2 -j DROP
echo "ativado o bloqueio de tentativa de ataque do tipo Anti-spoofings WAN2"

#Bloqueio de scanners ocultos (Shealt Scan)
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK, FIN, -m limit --limit 1/s -j ACCEPT
echo "bloqueado scanners ocultos"


#Passe Livre REDE1
#$IPTABLES -t nat -A PREROUTING -s 192.168.16.0/24 -j ACCEPT

#proxy transparente
$IPTABLES -t nat -A PREROUTING -i $LAN2 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Proxy Transparente ativado"

# ativar o mascaramento WAN1
$IPTABLES -t nat -A POSTROUTING -o $WAN1 -j MASQUERADE

# ativar o mascaramento WAN2
#$IPTABLES -t nat -A POSTROUTING -o $WAN2 -j MASQUERADE

# ativar o mascaramento LAN1
#$IPTABLES -t nat -A POSTROUTING -o $LAN1 -j MASQUERADE



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts