2010年9月25日土曜日

iptables IP spoofing 対抗ルール

さて、Cです。

IP spoofing attack。
送信元IPアドレスを偽装するということ。
送信元IPアドレスを攻撃ターゲット目標に偽装し、
世界のいろんなIPアドレスにパケットを送信することにより、
世界各地から攻撃ターゲットへ向けてパケットの雨が降り注ぐ攻撃など
さまざまな攻撃に使われる。
他にも、フィルタリングで許可されているであろう、プライベートアドレスに
送信元IPアドレスを偽装することによって、内部に到達させちゃおうって攻撃にも使う。。

・外部側のインターフェイスへ送信元IPがプライベートなものが到着したら、
ログに出力して、破棄する。

・受信パケットの送信元IPアドレスが自分のIPアドレスだった場合破棄。

このルールを書く。

内部アドレスは192.168.0.0/24を使っていると仮定。外部IFはeth0。
#$IPTABLES -N ANTISPOOF
#$IPTABLES -A ANTISPOOF -i eth0 -s 127.0.0.0/8 -j LOG --log-prefix "iptables:Spoofed source IP!"
#$IPTABLES -A ANTISPOOF -i eth0 -s 127.0.0.0/8 -j DROP
#$IPTABLES -A ANTISPOOF -i eth0 -s 10.0.0.0/8 -j -j LOG --log-prefix "iptables:Spoofed source IP!"
#$IPTABLES -A ANTISPOOF -i eth0 -s 10.0.0.0/8 -j DROP
#$IPTABLES -A ANTISPOOF -i eth0 -s 172.16.0.0/12 -j LOG --log-prefix "iptables:Spoofed source IP!"
#$IPTABLES -A ANTISPOOF -i eth0 -s 172.16.0.0/12 -j DROP
#$IPTABLES -A ANTISPOOF -i eth0 -s 192.168.0.0/16 -j LOG --log-prefix "iptables:Spoofed source IP!"
#$IPTABLES -A ANTISPOOF -i eth0 -s 192.168.0.0/16 -j DROP
#$IPTABLES -A ANTISPOOF -i eth0 -s 192.168.0.0/24 -j LOG --log-prefix "iptables:Spoofed source IP!"
#$IPTABLES -A ANTISPOOF -i eth0 -s 192.168.0.0/24 -j DROP
#$IPTABLES -A ANTISPOOF -i eth0 -s 自分のIPアドレス -j LOG --log-prefix "iptables:Spoofed source IP!"
#$IPTABLES -A ANTISPOOF -i eth0 -s 自分のIPアドレス -j DROP
#$IPTABLES -I INPUT 1 -j ANTISPOOF
#$IPTABLES -I FORWARD 1 -j ANTISPOOF

ちょっと粋な書き方をしてみた。
最初にANTISPOOFというオリジナルチェインを作成する。
そこへ、各プライベートIPへのLOGを吐き出すルールとDROPルールを記述する。
最後に、作成したANTISPOOFチェインをINPUTとFORWARDの1行目へINSERTする。

パケット転送を有効にしているlinuxであればFORWARDにも追記しておくべきだと思うので
こんな書き方にした。

0 件のコメント:

コメントを投稿