ok... mais c'est plus par curiosité que par réel soucis de sécurité( ôtez moi d'un doute, ça risque pas grand chose d'avoir un port visible
? )...
#!/bin/sh
#
#UN SCRIPT POUR IPTABLES
#
#
################
# TABLE FILTER #
################
#SUPPRESSION DES CHAINES EXISTANTES ( "filter" est en fait inutile )
#les chaînes prédéfinies
iptables -t filter -F
#les chaînes utilisateur
iptables -t filter -X
#POLITIQUES PAR DEFAUT ( tout fermer )
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
#AUTORISER LE RESEAU VIRTUEL LOCALHOST
#sortantes de lo vers lo
iptables -t filter -A OUTPUT -o lo -s xxxxxxxx -d xxxxxxxx -j ACCEPT
#entrantes de lo vers lo
iptables -t filter -A INPUT -i lo -s xxxxxxxx -d xxxxxxxx -j ACCEPT
#ACTIVER LES DNS ( pour faire des requêtes avec des noms et non avec des adresses IP )
iptables -A INPUT -i ppp0 --protocol udp --source-port 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 --protocol udp --destination-port 53 -m state --state ! INVALID -j ACCEPT
iptables -A INPUT -i ppp0 --protocol tcp --source-port 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 --protocol tcp --destination-port 53 -m state --state ! INVALID -j ACCEPT
#OUVRIR LES PORTS VOULUS ( n'autoriser que les connexions initialisées par localhost )
#http
iptables -t filter -A OUTPUT -o ppp0 -s xxxxxxxx -p tcp --dport 80 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -d xxxxxxxx -p tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT
#https
iptables -t filter -A OUTPUT -o ppp0 -s xxxxxxxx -p tcp --dport 443 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -d xxxxxxxx -p tcp --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT
#pop3
iptables -t filter -A OUTPUT -o ppp0 -s xxxxxxxx -p tcp --dport 110 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -d xxxxxxxx -p tcp --sport 110 -m state --state RELATED,ESTABLISHED -j ACCEPT
#smtp
iptables -t filter -A OUTPUT -o ppp0 -s xxxxxxxx -p tcp --dport 25 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -d xxxxxxxx -p tcp --sport 25 -m state --state RELATED,ESTABLISHED -j ACCEPT
#amsn
iptables -t filter -A OUTPUT -o ppp0 -s xxxxxxxx -p tcp --dport 1863 -m state --state ! INVALID -j ACCEPT
iptables -t filter -A INPUT -i ppp0 -d xxxxxxxx -p tcp --sport 1863 -m state --state RELATED,ESTABLISHED -j ACCEPT
#ftp
modprobe ip_conntrack_ftp
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
modprobe ip_conntrack_ftp
#icmp ( ping et traceroute )
iptables -A OUTPUT -o ppp0 -p icmp -m state --state ! INVALID -j ACCEPT
iptables -A INPUT -i ppp0 -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT
#GARDER TRACE DES REJETS EN INPUT ( sauf ports tcp 135 et 445 ) ET EN OUTPUT
iptables -t filter -A INPUT -p tcp --dport :134 -j ULOG --ulog-prefix= "FWT !"
iptables -t filter -A INPUT -p tcp --dport 136:444 -j ULOG --ulog-prefix="FWT !"
iptables -t filter -A INPUT -p tcp --dport 446: -j ULOG --ulog-prefix="FWT !"
iptables -t filter -A INPUT -p udp -j ULOG --ulog-prefix="FWU !"
iptables -t filter -A INPUT -p icmp -j ULOG --ulog-prefix="FWI !"
iptables -t filter -A OUTPUT -p all -j ULOG --ulog-prefix="!![OUT!]FW !!!"
#Ajouter les port 135 et 445 aux logs
#iptables -t filter -A INPUT -p tcp --dport 135 -j ULOG --ulog-prefix="FWT135 !"
#iptables -t filter -A INPUT -p tcp --dport 445 -j ULOG --ulog-prefix="FWT445 !"
#############
# TABLE NAT #
#############
#SUPPRESSION DES CHAINES EXISTANTES
iptables -t nat -F
iptables -t nat -X
#POLITIQUES PAR DEFAUT ( le "FORWARD DROP" de filter ferme déjà tout, on peut donc tout accepter )
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
################
# TABLE MANGLE #
################
#SUPPRESSION DES CHAINES EXISTANTES
iptables -t mangle -F
iptables -t mangle -X
#POLITIQUES PAR DEFAUT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P FORWARD ACCEPT
#### SAUVEGARDE DES REGLES ( MDK uniquement ) ###
/etc/rc.d/init.d/iptables save
P-S: si vous avez des critiques sur mon script, étant loin d'être un spécialiste d'iptables, je suis tout ouïe...