投稿日:2004年03月05日 作成鷹の巣

No.15031 続き。IP偽造対策のフィルタリングを掛けると外部にpingが飛ばなくなったりしてしまいました。



続き。IP偽造対策のフィルタリングを掛けると外部にpingが飛ばなくなったりしてしまいました。

No.15031 投稿時間:2004年03月05日(Fri) 14:34 投稿者名:bind8 URL:

過去ログ
http://sakaguch.com/PastBBS/0028/B0014602.html#No14699
の続きです。

遅くなりまして申し訳有りません。

> /sbin/iptables -N ip-spoofing
> /sbin/iptables -A ip-spoofing -j LOG --log-level info --log-prefix "iptables
> ip-spoofing:"
> /sbin/iptables -A ip-spoofing -j DROP
>
> /sbin/iptables -A INPUT -s 10.0.0.0/8 -i ppp0 -j ip-spoofing
> /sbin/iptables -A INPUT -s 127.0.0.0/8 -i ppp0 -j ip-spoofing
> /sbin/iptables -A INPUT -s 172.16.0.0/12 -i ppp0 -j ip-spoofing
> /sbin/iptables -A INPUT -s 169.254.0.0/16 -i ppp0 -j ip-spoofing
> /sbin/iptables -A INPUT -s 192.168.0.0/16 -i ppp0 -j ip-spoofing
>
> のようにすればmessagesにログとして残ります
> 何かとは断定できませんが、ipスプーフィングに限定しない方が良いと思う
ありがとうございます。早速、
/sbin/iptables -A INPUT -s 10.0.0.0/8 -i ppp0 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i ppp0 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -i ppp0 -j DROP
/sbin/iptables -A OUTPUT -d 10.0.0.0/8 -o ppp0 -j DROP
/sbin/iptables -A OUTPUT -d 172.16.0.0/12 -o ppp0 -j DROP
/sbin/iptables -A OUTPUT -d 192.168.0.0/16 -o ppp0 -j DROP
から上記のルールに書換えました。

このフィルタリングを掛けると
www.yahoo.co.jpやwww.yahoo.co.jpにpingが飛ばなくなったりしてしまいました!
(このフィルタリングを掛ける前には正常にpingが飛んでました)
詳細には

/sbin/iptables -F INPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F OUTPUT
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT

を実行して、pingが通る状態にしてから再度
/sbin/iptables -N ip-spoofing
/sbin/iptables -A ip-spoofing -j LOG --log-level info --log-
prefix "iptables ip-spoofing:"
/sbin/iptables -A ip-spoofing -j DROP
/sbin/iptables -A INPUT -s 10.0.0.0/8 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 127.0.0.0/8 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 169.254.0.0/16 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 192.168.0.0/16 -i ppp0 -j ip-spoofing
/sbin/iptables -A ip-spoofing -p icmp -j ACCEPT

を実行すると暫らくはpingが通ります
(「/sbin/iptables -A ip-spoofing -p icmp -j ACCEPT」が効いているからなのか分かりませんが)
がまた不通になってしまいます。

やはり、ip-spoofingが影響しているのでしょうか?


私のところでは 全てDROPからはじめていますが PINGは通ります。

No.15034 投稿時間:2004年03月05日(Fri) 17:43 投稿者名:stranger URL:

> 過去ログ
> http://sakaguch.com/PastBBS/0028/B0014602.html#No14699
> の続きです。
> > 遅くなりまして申し訳有りません。。
> > やはり、ip-spoofingが影響しているのでしょうか?

他の所ではpingがとうりますか ppp0と設定しているので プロバイダはyahooではないと思いますが
自分のプロバイダにpingしてみる
/var/log/messagesにログがでていませんか?

iptables -P INPUT ACCEPT だけなら全て許可しているので yahooからのリターンがip-spoofingにかかるのですかね
私のところでは 全てDROPからはじめていますが PINGはとうります


自プロバイダには通りました。

No.15054 投稿時間:2004年03月06日(Sat) 16:38 投稿者名:bind8 URL:

> 他の所ではpingがとうりますか ppp0と設定しているので プロバイダはyahooではな
> いと思いますが
> 自分のプロバイダにpingしてみる
自プロバイダには通りました。
www.yahoo.co.jpやwww.msn.co.jpには通りませんでした。

でも元に戻すと通るようになります。具体的には


/sbin/iptables -A INPUT -s 10.0.0.0/8 -i ppp0 -j LOG --log-prefix "ppp0FalseIpDropA"
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i ppp0 -j LOG --log-prefix "ppp0FalseIpDropB"
/sbin/iptables -A INPUT -s 192.168.0.0/16 -i ppp0 -j LOG --log-prefix "ppp0FalseIpDropC"
/sbin/iptables -A INPUT -s 10.0.0.0/8 -i ppp0 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i ppp0 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -i ppp0 -j DROP
/sbin/iptables -A OUTPUT -d 10.0.0.0/8 -o ppp0 -j DROP
/sbin/iptables -A OUTPUT -d 172.16.0.0/12 -o ppp0 -j DROP
/sbin/iptables -A OUTPUT -d 192.168.0.0/16 -o ppp0 -j DROP

/sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j LOG --log-prefix "eth0FalseIpDropC"
/sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j DROP
/sbin/iptables -A INPUT -i ppp0 -m state --state INVALID -j LOG --log-prefix "ppp0InputInvalidDrop"
/sbin/iptables -A FORWARD -i ppp0 -m state --state INVALID -j LOG --log-prefix "ppp0ForwardInvalidDrop"
/sbin/iptables -A INPUT -i ppp0 -m state --state INVALID -j DROP
/sbin/iptables -A FORWARD -i ppp0 -m state --state INVALID -j DROP
/sbin/iptables -A INPUT -p icmp --icmp-type 11 -j DROP
/sbin/iptables -A INPUT -p icmp --icmp-type 0 -m limit --limit 60/m --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 3 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 4 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 60/m --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 12 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -j LOG --log-prefix "RuleLettingIcmpThrough"
/sbin/iptables -A OUTPUT -p icmp --icmp-type 8 -d $ANY -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type 0 -d $ANY -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type 8 -d $DNS0 -o ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type 0 -d $DNS0 -o ppp0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --syn -j LOG --log-prefix "SynOnlyPacketLogging"
/sbin/iptables -A INPUT -p tcp --syn -j DROP


ではwww.yahoo.co.jpやwww.msn.co.jpにも通りますが


/sbin/iptables -N ip-spoofing
/sbin/iptables -A ip-spoofing -j LOG --log-level info --log-prefix "iptables ip-spoofing:"
/sbin/iptables -A ip-spoofing -j DROP
/sbin/iptables -A INPUT -s 10.0.0.0/8 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 127.0.0.0/8 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 169.254.0.0/16 -i ppp0 -j ip-spoofing
/sbin/iptables -A INPUT -s 192.168.0.0/16 -i ppp0 -j ip-spoofing
/sbin/iptables -A ip-spoofing -p icmp -j ACCEPT

/sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j LOG --log-prefix "eth0FalseIpDropC"
/sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j DROP
/sbin/iptables -A INPUT -i ppp0 -m state --state INVALID -j LOG --log-prefix "ppp0InputInvalidDrop"
/sbin/iptables -A FORWARD -i ppp0 -m state --state INVALID -j LOG --log-prefix "ppp0ForwardInvalidDrop"
/sbin/iptables -A INPUT -i ppp0 -m state --state INVALID -j DROP
/sbin/iptables -A FORWARD -i ppp0 -m state --state INVALID -j DROP
/sbin/iptables -A INPUT -p icmp --icmp-type 11 -j DROP
/sbin/iptables -A INPUT -p icmp --icmp-type 0 -m limit --limit 60/m --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 3 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 4 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 60/m --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type 12 -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -j LOG --log-prefix "RuleLettingIcmpThrough"
/sbin/iptables -A OUTPUT -p icmp --icmp-type 8 -d $ANY -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type 0 -d $ANY -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type 8 -d $DNS0 -o ppp0 -j ACCEPT
/sbin/iptables -A OUTPUT -p icmp --icmp-type 0 -d $DNS0 -o ppp0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --syn -j LOG --log-prefix "SynOnlyPacketLogging"
/sbin/iptables -A INPUT -p tcp --syn -j DROP


だと自プロバイダ以外には通らなくなります(違いは前半部分のみ)。


> /var/log/messagesにログがでていませんか?
# ping -c3 www.yahoo.co.jp
PING www.yahoo.co.jp (202.229.199.136) 56(84) bytes of data.
--- www.yahoo.co.jp ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2012ms


としても何も出ませんね(ip-spoofingメッセージが出るのではと期待してみましたが…)。


私のpingに相当する部分のiptablesの設定を公開します。

No.15056 投稿時間:2004年03月06日(Sat) 18:41 投稿者名:stranger URL:

私のpingに相当する部分のiptablesの設定を公開します
ソースはnetfilter.orgの iptables-1.2.9-20040304(snapshot)を昨日入れ直しました
fedora core 1
kernel-2.4.26-pre1
rp-pppoe-3.5
ppp-2.4.2(kernelモード)で動作させ
rp-pppoe-3.5のfirewall-masqでiptablesを設定しています
固定IP 自前DNS

IPTABLES='/usr/local/sbin/iptables'
WAN_IF=ppp0

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

$IPTABLES -N ping-death
$IPTABLES -A ping-death -m limit --limit 1/s -j RETURN
$IPTABLES -A ping-death -j LOG --log-level info --log-prefix "iptables ping-death:"
$IPTABLES -A ping-death -j DROP

$IPTABLES -N ip-spoofing
$IPTABLES -A ip-spoofing -j LOG --log-level info --log-prefix "iptables ip-spoofing:"
$IPTABLES -A ip-spoofing -j DROP

$IPTABLES -N datain
$IPTABLES -A INPUT -j datain -i $WAN_IF
$IPTABLES -N dataout
$IPTABLES -A OUTPUT -j dataout -o $WAN_IF

$IPTABLES -A datain -p icmp --icmp-type echo-request -j ping-death
$IPTABLES -A datain -p icmp --icmp-type echo-reply -j ping-death
$IPTABLES -A datain -p icmp --icmp-type destination-unreachable -j ping-death
$IPTABLES -A datain -s 10.0.0.0/8 -j ip-spoofing
$IPTABLES -A datain -s 127.0.0.0/8 -j ip-spoofing
$IPTABLES -A datain -s 172.16.0.0/12 -j ip-spoofing
$IPTABLES -A datain -s 169.254.0.0/16 -j ip-spoofing
$IPTABLES -A datain -s 192.168.0.0/16 -j ip-spoofing

$IPTABLES -A datain -p icmp --icmp-type echo-request -j ACCEPT
$IPTABLES -A dataout -p icmp --icmp-type echo-reply -j ACCEPT
$IPTABLES -A dataout -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPTABLES -A dataout -p icmp --icmp-type echo-request -j ACCEPT
$IPTABLES -A datain -p icmp --icmp-type echo-reply -j ACCEPT
$IPTABLES -A datain -p icmp --icmp-type destination-unreachable -j ACCEPT

他人にたいしてpingをうつ手前自分の所も許可しています
ただし、pingのオーバーリミットしたものはログにとってDROPし、その他はRETURNしてACCEPTします
これ以上返答できません


|目次|掲示板|過去ログ目次|▲頁先頭|