C'est un script simple, que j'ai pu faire grâce à pas mal de docs sur le net, et qui pourra, je pense, servir de base à tous les newbies d'iptables, qui, comme moi, on galeré au début. Donc, voilà:
#!/bin/sh
#Clean des règles de filtrage
iptables -F
iptables -X
#Connexions entrantes ignorées
iptables -P INPUT DROP
#Forward ignoré
iptables -P FORWARD DROP
#Connexions sortantes ignorées
iptables -P OUTPUT DROP
#Tout accepter en local
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#Accepter le DNS
iptables -A INPUT -i ppp0 --protocol udp -s 195.170.0.2 --source-port 53 -j ACCEPT
iptables -A INPUT -i ppp0 --protocol udp -s 195.170.2.1 --source-port 53 -j ACCEPT
iptables -A OUTPUT -o ppp0 --protocol udp -d 195.170.0.2 --destination-port 53 -j ACCEPT
iptables -A OUTPUT -o ppp0 --protocol udp -d 195.170.2.1 --destination-port 53 -j ACCEPT
#Accepter le protocole ICMP
iptables -N ICMP
iptables -A ICMP -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A ICMP -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A ICMP -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT
iptables -A ICMP -p icmp --icmp-type echo-reply -m limit --limit 1/second -j ACCEPT
#Virer le reste
iptables -A ICMP -j DROP
iptables -A INPUT -p icmp -j ICMP
#Mais accepter le ping sortant
iptables -A OUTPUT -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
#Ignorer le protocole IGMP
iptables -A INPUT -p igmp -j DROP
#Ignorer le protocole PIM
iptables -A INPUT -p pim -j DROP
#Scan furtif
iptables -A INPUT -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/second -j ACCEPT
#msn
iptables -A OUTPUT --protocol tcp --dport 1863 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 1863 -m state --state ESTABLISHED -j ACCEPT
#jabber
iptables -A OUTPUT --protocol tcp --dport 5222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 5222 -m state --state ESTABLISHED -j ACCEPT
#icq
iptables -A OUTPUT --protocol tcp --dport 5190 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 5190 -m state --state ESTABLISHED -j ACCEPT
#irc
iptables -A OUTPUT --protocol tcp --dport 6667 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT --protocol tcp --sport 6667 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
#http
iptables -A INPUT --protocol tcp -m multiport --sports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#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
#Mode passif
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Mail
iptables -A OUTPUT -o ppp0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 110 -m state --state ESTABLISHED -j ACCEPT
#Log des paquets refusés
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES:tout:IGNORE] : '
iptables -A LOG_DROP -j DROP
iptables -A INPUT -p tcp -j LOG_DROP
iptables -A OUTPUT -p tcp -j LOG_DROP
Noter, qu'il faut quand même mettre ses propres serveurs dns, pas les miens... lol, et qu'il y a trois rêgles un peu trop permissives, pour l'irc/dcc et le ftp, donc, perso, je conseille de les commenter quand on n'utilise pas ces types de connexions. Voilà, tout conseil ou commentaire est le bienvenu, bien entendu . :)