tu peux aussi rajouté ceci ( vu sur le forum il y a quelques temps ) :
#regle qui verifie que les paquets sont bien valides
$IPTABLES -N CHECK_VALID
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL FIN,PSH,URG -j LOG --log-level 6 --log-prefix '[IPTABLES X-max Packet] '
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL FIN,PSH,URG -j DROP
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL NONE -j LOG --log-level 6 --log-prefix '[IPTABLES NULL scan Packet] '
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL NONE -j DROP
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL SYN,FIN -j LOG --log-level 6 --log-prefix '[IPTABLES Syn-Fin Packet] '
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID --tcp-flags ALL SYN,FIN -j DROP
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,RELATED ! --syn -j LOG --log-level 6 --log-prefix '[IPTABLES ACK Packet] '
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,RELATED ! --syn -j REJECT
$IPTABLES -A CHECK_VALID -p tcp -m state --state ESTABLISHED --syn -j LOG --log-level 6 --log-prefix '[IPTABLES SYN Packet] '
$IPTABLES -A CHECK_VALID -p tcp -m state --state ESTABLISHED --syn -j REJECT
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID,RELATED --tcp-flags ALL FIN -j LOG --log-level 6 --log-prefix '[IPTABLES FIN Packet] '
$IPTABLES -A CHECK_VALID -p tcp -m state --state NEW,INVALID,RELATED --tcp-flags ALL FIN -j REJECT
$IPTABLES -A CHECK_VALID -i $INET_IFACE -m state --state INVALID -j LOG --log-level 6 --log-prefix '[IPTABLES Packet invalid] '
$IPTABLES -A CHECK_VALID -i $INET_IFACE -m state --state INVALID -j DROP
#on fait passer tous les paquets par cette regle
$IPTABLES -A INPUT -i $INET_IFACE -j CHECK_VALID
$IPTABLES -A FORWARD -o $LAN_IFACE -j CHECK_VALID
A+