iptables

Reset default to ACCEPT and flush

1
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

99% des mails sortent par 89.89.89.89
1% des mails sortent via 31.31.31.31

1
iptables -t nat -I POSTROUTING 1 -m state --state NEW --source 10.0.0.4 -p tcp --dport 25 ! -d 10.0.0.0/24 -o eth0 -m statistic --mode random --probability .99 -j SNAT --to-source 89.89.89.89

iptables -t nat -I POSTROUTING 1 -m state --state NEW --source 10.0.0.4 -p tcp --dport 25 ! -d 10.0.0.0/24 -o eth0 -j SNAT --to-source 31.31.31.31

Anti flood

1
iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 10 -j DROP


iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 -j DROP

Drop by pattern

1
iptables -I INPUT -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /toto.php' -j DROP

Log

1
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP