#6:iptables -A INPUT -p tcp --syn --dport 25 -j ACCEPT
これはSYNフラッド攻撃からマシンを守る際の基本となるルールである。ここで指定しているルールの例は、メールサーバ用のポートに対するDoS攻撃をブロックするためのものである(使用しているメールサーバに合わせて指定を変更することもできる)。このルールセットには他にも3つの指定方法がある。まず1つ目は、同じルールであるものの、ポート番号を、オープンしている任意のポートを使用したサービスに対するものに変更したルールを追加するというものである。2つ目は「iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j ACCEPT」という指定であり、SYNフラッド攻撃から実際にマシンを守るものである。3つ目は、「iptables -A INPUT -p tcp --syn -j DROP」という指定であり、これによってSYNフラッド攻撃のパケットがすべてドロップされるようになる。
#7:iptables -A INPUT -p tcp -m tcp -s MALICIOUS_ADDRESS -j DROP
この指定は、あるIPアドレスから悪意ある攻撃を受けている場合の対策として使用できるものである。この指定を正しく動作させるには、迷惑行為元であるIPアドレス、つまりブロックしたいソースIPアドレスが判っていなければならない。ただし、この指定における大きな問題として、そのアドレスは詐称されている可能性もあるということがある。こういった場合、あなたのネットワークに対する正規のトラフィックをブロックしてしまうことになるのだ。このため、アドレスについてはしっかりと調査しておく必要がある。
#8:iptables -N port-scan
この指定は、ステルススキャンを抑止する際の基本となるルールである。ステルススキャンとは、完全なTCP接続を行うことなく、オープンされているポートを検出するスキャンのことである。このルールを指定するには、以下の2行の指定を追加する必要がある。
iptables -A port-scan -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j RETURN iptables -A port-scan -j DROP
上記のルールセットでは「port-scan」という新たなチェインを作成している点に注意されたい。こういった名前を付ける必要はないものの、ものごとを整理しておいた方が管理しやすくなるのだ。また上記のルールセットにタイムアウト時間を追加しておくこともできる。
iptables -A specific-rule-set -p tcp --syn -j syn-flood iptables -A specific-rule-set -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j port-scan