i=`which iptables`
# Zabezpieczenie przed powodzia pakietow SYN (ang. Syn-flood)
$i -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Obrona przed skanerami portow szybko przemiatajacymi siec
$i -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ochrona przed roznymi atakami (nie loguje z powodu malego dysku)
$i -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "firewall: New not syn: "
$i -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$i -A INPUT -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "firewall: Stealth scan: "
$i -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$i -A INPUT -p tcp --tcp-flags ALL ALL -j LOG --log-prefix "firewall: Stealth scan: "
$i -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$i -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "firewall: Stealth scan: "
$i -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$i -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "firewall: Stealth scan: "
$i -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
$i -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "firewall: Stealth scan: "
$i -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$i -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "firewall: Stealth scan: "
$i -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# Blokowanie polaczen NEW z flaga inna niz syn (link 4)
$i -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$i -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
# Odrzucanie pakietow pofragmentowanych (link 4)
$i -A INPUT -f -j DROP
$i -A FORWARD -f -j DROP
# Odrzucanie polaczen w stanie INVALID (link 4)
$i -A INPUT -m state --state INVALID -j DROP
$i -A FORWARD -m state --state INVALID -j DROP
# Automatyczne rozpoznawanie MTU (link 4)
# $i -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# $i -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#Blokuje porty "wirusow" dla tabeli FORWARD ( ochrona bałwan jestem sieci ). Gdzieś kiedyś taki spis w sieci znalazłem
#U mnie nie szkodzi jak ktoś korzysta z tych portów to trzeba usunąć
#FPORTS="37 111 113 135 137 138 139 445 578 1025 1136 1214 1237 1396 1450 2282 2032 2164 2724 2745 2823 2838 2862 2954 3012 3112 3127 3259 3309 3766 3981 4751 5000 6129 6346 6667 ";
#for i in $FPORTS
#do
#iptables -A FORWARD -p tcp --dport $i -j DROP
#iptables -A FORWARD -p udp --dport $i -j DROP
#done
# Blokuje to samo korzystajac z mport
$i -A FORWARD -p tcp -m mport --ports 37,111,113,135,137,138,139,445,578,1025 -j DROP
$i -A FORWARD -p tcp -m mport --ports 1136,1214,1237,1396,1450,2282,2032,2164,2724,2745 -j DROP
$i -A FORWARD -p tcp -m mport --ports 2823,2838,2862,2954,3012,3112,3127,3259,3309,3766 -j DROP
$i -A FORWARD -p tcp -m mport --ports 3981,4751,5000,6129,6346,6667 -j DROP
#Blokuje skanery portow"
echo "Blocking port scaners"
# Podobno ma w czyms chronic (nie pisalem tego). U mnie nie szkodzi, ale
# w razie problemow to tu szukac przyczyny po pierwsze. 2 z tej serii juz wywalilem bo byly klopoty
$i -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP
$i -A INPUT -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
$i -A INPUT -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
# latka Port Scan Detection
$i -A INPUT -m psd -j DROP
#Blokuje Ping of Death"
echo "Starting ping filtering ( Ping of Death protection ) "
#Odrzucam pingi dłuzsze niż 128 bitów
$i -A INPUT -p icmp --icmp-type echo-request -m length --length 128:0xffff -j REJECT --reject-with icmp-host-unreachable
#Przepuszczamy tylko 1 ping na sekunde
$i -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#Albo Sprawiamy wrażenie ze mamy poważne problemy z internetem
$i -A INPUT -p icmp --icmp-type echo-request -m random --average 65 -j ACCEPT
#Albo dopuszczamy co drugi ping
$i -A INPUT -p icmp --icmp-type echo-request -m nth --every 2 -j ACCEPT
# Reszte pingow odrzucamy
$i -A INPUT -p icmp --icmp-type echo-request -j REJECT --reject-with icmp-host-unreachable
# blokowanie pingow
$i -A INPUT -p icmp --icmp-type echo-request -j DROP
#####################################################################################
_________________ 
|