投稿日:2002年10月24日 作成鷹の巣

No.5995 A、BクラスのプライベートアドレスのIP偽装遮断でサーバー機にアクセス出来なくなった。



A、BクラスのプライベートアドレスのIP偽装遮断でサーバー機にアクセス出来なくなった。

No.5995 投稿時間:2002年10月24日(Thu) 15:07 投稿者名:miwa URL:

こんにちは。

vine2.5でiptables-1.2.6a-0vl0を使用しています。セキュリティの為に

# 外部からプラアドでの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
# 内部からグロアドでの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 eth0 -j DROP

を追加したら名前解決できなくなりました。
10.0.0.0/8、172.16.0.0/12がダメみたいです。これはプライベートアドレスではないのでしょうか?
これは何が間違っているのでしょうか?
(正しいと思うのですが…)


これから見るとPPPが外部でイーサーネットがLANと言うことですが。

No.5996 投稿時間:2002年10月24日(Thu) 19:07 投稿者名:OAK URL:

> # 外部からプラアドでの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
> # 内部からグロアドでの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 eth0 -j DROP

外部(インターネット)との接続は何で行っているのでしょうか。
linux マシンはPPPとイーサーと両方使ってるのですか。
これから見るとPPPが外部でイーサーネットがLANと言うことですが。(自分がルータ)


これは何が間違っているのでしょうか?

No.6006 投稿時間:2002年10月24日(Thu) 23:44 投稿者名:miwa URL:

すいません。下記のような記述したかったのです。誤って編集中の記事が投降されてしまいました。
vine2.5がルータになってまして、外部向けがppp0で、内部向けがeth0です。
下記のようにすると、内部ホスト(Win2k、TurboLinux8Workstation)からvine2.5のFTP・Samba・DNS・NFSサーバにアクセスできなくなってしまいました。
vineからも内部ホスト(Win2k)にsmbmountできなくなりました。
vine2.5から外部へ、また、外部からvine2.5へは特に何も支障はありません。



vine2.5でiptables-1.2.6a-0vl0を使用しています。セキュリティの為に

# 外部からプラアドでの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
# 内部からグロアドでのIP偽称を遮断する
/sbin/iptables -A INPUT -s ! 10.0.0.0/8 -i eth0 -j DROP
/sbin/iptables -A INPUT -s ! 172.16.0.0/12 -i eth0 -j DROP
/sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j DROP

を追加したら名前解決できなくなりました。
10.0.0.0/8、172.16.0.0/12がダメみたいです。これはプライベートアドレスではな
いのでしょうか?
これは何が間違っているのでしょうか?
(正しいと思うのですが…)


この様な設定では?

No.6010 投稿時間:2002年10月25日(Fri) 01:13 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

> vine2.5でiptables-1.2.6a-0vl0を使用しています。セキュリティの為に
>
> # 外部からプラアドでの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
> # 内部からグロアドでのIP偽称を遮断する
> /sbin/iptables -A INPUT -s ! 10.0.0.0/8 -i eth0 -j DROP
> /sbin/iptables -A INPUT -s ! 172.16.0.0/12 -i eth0 -j DROP
> /sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j DROP
>
> を追加したら名前解決できなくなりました。
> 10.0.0.0/8、172.16.0.0/12がダメみたいです。これはプライベートアドレスではな
> いのでしょうか?
> これは何が間違っているのでしょうか?
> (正しいと思うのですが…)

/sbin/iptables -A INPUT -s 10.0.0.0/8 -d 0/0 -i ppp0 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -d 0/0 -i ppp0 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -d 0/0 -i ppp0 -j DROP
/sbin/iptables -A OUTPUT -s 0/0 -d 10.0.0.0/8 -i ppp0 -j DROP
/sbin/iptables -A OUTPUT -s 0/0 -d 172.16.0.0/12 -i ppp0 -j DROP
/sbin/iptables -A OUTPUT -s 0/0 -d 192.168.0.0/16 -i ppp0 -j DROP


どうしてエラーとなるのでしょうか?

No.6021 投稿時間:2002年10月25日(Fri) 15:05 投稿者名:miwa URL:

ご回答ありがとうございます。

> /sbin/iptables -A INPUT -s 10.0.0.0/8 -d 0/0 -i ppp0 -j DROP
> /sbin/iptables -A INPUT -s 172.16.0.0/12 -d 0/0 -i ppp0 -j DROP
> /sbin/iptables -A INPUT -s 192.168.0.0/16 -d 0/0 -i ppp0 -j DROP
> /sbin/iptables -A OUTPUT -s 0/0 -d 10.0.0.0/8 -i ppp0 -j DROP
> /sbin/iptables -A OUTPUT -s 0/0 -d 172.16.0.0/12 -i ppp0 -j DROP
> /sbin/iptables -A OUTPUT -s 0/0 -d 192.168.0.0/16 -i ppp0 -j DROP

これで上手くいきました。でも
/sbin/iptables -A INPUT -s ! 10.0.0.0/8 -i eth0 -j DROP
/sbin/iptables -A INPUT -s ! 172.16.0.0/12 -i eth0 -j DROP
がエラーとなるのでしょうか?
(何がおかしいのでしょうか?)


Netfilterは先頭から処理されるからです。

No.6026 投稿時間:2002年10月25日(Fri) 20:52 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

> > /sbin/iptables -A INPUT -s 10.0.0.0/8 -d 0/0 -i ppp0 -j DROP
> > /sbin/iptables -A INPUT -s 172.16.0.0/12 -d 0/0 -i ppp0 -j DROP
> > /sbin/iptables -A INPUT -s 192.168.0.0/16 -d 0/0 -i ppp0 -j DROP
> > /sbin/iptables -A OUTPUT -s 0/0 -d 10.0.0.0/8 -i ppp0 -j DROP
> > /sbin/iptables -A OUTPUT -s 0/0 -d 172.16.0.0/12 -i ppp0 -j DROP
> > /sbin/iptables -A OUTPUT -s 0/0 -d 192.168.0.0/16 -i ppp0 -j DROP
>
> これで上手くいきました。でも
> /sbin/iptables -A INPUT -s ! 10.0.0.0/8 -i eth0 -j DROP
> /sbin/iptables -A INPUT -s ! 172.16.0.0/12 -i eth0 -j DROP
> がエラーとなるのでしょうか?
> (何がおかしいのでしょうか?)

Netfilterは、というよりルータのフィルタもそうですが、優先度の高い順番
(ipchainの場合は先頭行から)に処理されますので、通らなくなって当然です。

1. /sbin/iptables -A INPUT -s ! 10.0.0.0/8 -i eth0 -j DROP
2. /sbin/iptables -A INPUT -s ! 172.16.0.0/12 -i eth0 -j DROP
3. /sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j DROP

1番のフィルタの意味をよく考えてみれば、判ると思いますが、これは、

hth0から、つまり家庭内から、10.0.0.0/8以外のソースアドレスのパケット
流入したら廃棄するという設定ですから、家庭内がクラスA(10.0.0.0/8)なら、
このフィルタには引っかかりません。しかし、それ以外は全て廃棄されてしまい
ますので、家庭内がクラスC(192.168.0.0/16)なら当然廃棄されてしまい、通過
しません。
借りに、家庭内がクラスAでこのフィルタを通過しても、2番目で引っかかって
しまいます。つまりmiwaさんのこのフィルタは家庭内からは一切外へ出られない
フィルタになっているということです。1と2を消せば、3はクラスC以外は廃棄
という設定ですので、うまく動いて当然です。
そういう視点で、おやじのフィルタを見てもらえば素直に書いてあると思いますが。
おやじは、ipchainは使っていませんが、このフィルタはTE4121Cのフィルタその
ものです。
上3つは、PPPからプライベートアドレスをソースとするパケットが流入したら
ディストネーションによらず、廃棄する。下3つは、PPPへプライベートアドレス
をディストネーションとするパケットを送信しようとしたら、ソースによらず廃棄
するとしたものです。
ちなみにこのIPアドレス偽装フィルタは、必ず先頭に記述することです。通常、
このほかにポートフィルタでサーバポート等を開けると思いますが、これより後に
記述すると、アドレス偽装されていても、許容されているポートだったらそのフ
ィルタにマッチした時点で通過してしまうからです。


どうもありがとうこざいました。

No.6055 投稿時間:2002年10月27日(Sun) 14:01 投稿者名:miwa URL:

> Netfilterは、というよりルータのフィルタもそうですが、優先度の高い順番
> (ipchainの場合は先頭行から)に処理されますので、通らなくなって当然です。
> 1. /sbin/iptables -A INPUT -s ! 10.0.0.0/8 -i eth0 -j DROP
> 2. /sbin/iptables -A INPUT -s ! 172.16.0.0/12 -i eth0 -j DROP
> 3. /sbin/iptables -A INPUT -s ! 192.168.0.0/16 -i eth0 -j DROP
> 1番のフィルタの意味をよく考えてみれば、判ると思いますが、これは、
> hth0から、つまり家庭内から、10.0.0.0/8以外のソースアドレスのパケット
> 流入したら廃棄するという設定ですから、家庭内がクラスA(10.0.0.0/8)なら、
> このフィルタには引っかかりません。しかし、それ以外は全て廃棄されてしまい
> ますので、家庭内がクラスC(192.168.0.0/16)なら当然廃棄されてしまい、通過
> しません。
唖然。。。!
そうですね。全く勘違いしてました。

> ちなみにこのIPアドレス偽装フィルタは、必ず先頭に記述することです。通常、
> このほかにポートフィルタでサーバポート等を開けると思いますが、これより後に
> 記述すると、アドレス偽装されていても、許容されているポートだったらそのフ
> ィルタにマッチした時点で通過してしまうからです。
そうですね。そのようにしたいと思います。


どうもありがとうこざいました。


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