松本です。
-------- Original Message --------
Subject: Re: [opensuse-ja] ルーターの設定アドレスへのアクセス規制を行い
たい。
From: quantum1
全体として、したいことを行うには、ルーターで行う方が良くて、ルーター以外 で規制するとしたら、ルーターとnote1の間にもう1台必要だということですね。 提示していただいたソリューションの2「当該クライアント機で iptables を 使って OUTPUT チェインを...」も1の「別途プロキシサーバを立てて」があっ ての話だと理解しました。ルーターのホワイトリストのことは知りませんでした。
2 の方は、note1 の方(中)で出て行くパケットをブロックしてしまおう…という ことなので、特にプロキシサーバは必要ありません。 先のメールでも例に挙げましたが、再度 # iptables -L してみてください。 (root 権限で。以下、コマンドを # から始めている場合は同) すると、 Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED [snip] というブロックがあると思います。これはつまり OUTPUT (出て行くパケット) は全て ACCEPT (素通し) という設定になっていることを意味しています。 ここの頭に、例えば target prot opt source destination DROP tcp -- anywhere 192.168.0.1 tcp dpt:http というような設定を加えることができれば「宛先が 192.168.0.1 の http ポー ト (80) となっている、出て行くパケットがあったら捨てる」ことができるはず です。 ただし、今井さんも指摘している通り、こういった設定をしたとしてもそれを迂 回する方法はいくつか思い浮かぶ(これは、ルータ側でブロックするような設定 にしたところで同じことが言えます)ので、そういう迂回方法についても対処し ておかないと意味がないんじゃないか、ということになってしまいます。でも、 そこまでがんじがらめにしなければいけないほど「脅威」を想定しなければいけ ないの? コスト(手間暇)をかける必要があるの?ということを考えた方がいい でしょう。 # ご家族の方が今井さんレベルの知識を身につける(^ ^;)、あるいは外から侵入 # (ネットワーク越しに、ということではなく、実際に家の中に入ってくる、と # 言う意味で)してきた攻撃者が今井さんレベルの知識を持っている(^ ^;)とい # うリスクが、現実的に考えてどれだけ起こり得ると見積もるの? 被害を受け # たときの損失と秤にかけて、手間暇かけるだけの価値はあるの?ということに # なりますね。 ということで、
老婆心ながら、ルータにパスワードをかけてあるだけでは足りない、あるい はセキュリティ的に不安が残るのはどういったケースですか?
という質問につながるわけです。
彼ら(ご家族)がルーターの設定をすることはありませんが、最悪アカウントが 乗っ取られた場合を想定していました。
ということですが、具体的に、誰にアカウントを乗っ取られることを想定してい るのでしょう? その場合はルータにパスワードをかけておいても無意味だと考 えているようですが、それはどうして? 外部からルータ(あるいは LAN)に入って来られることを心配するなら、まずはそ の経路をちゃんと潰すことを考えるべきでしょう。note1 からの接続を制限する 云々は、ずっと低い優先度になると思います。 あるいは、いつの間にか設定してあるパスワードがご家族に漏れ、いたずら半分 でいじられてしまうことを心配していますか? だとすれば、いかにパスワード が漏れないようにするかを考える方が先決でしょう。 また、外部から誰かが家に入ってきて、ルータの設定をいじるようなケースを想 定してたりしますか? ならば、その侵入者が必ず note1 を使ってルータに入ろ うとする、という根拠は? # というか、そもそも住居不法侵入という犯罪を犯してまで他人の家のルータの # 設定を変えようとする奇特な奴がいるとは想像できませんが(笑)。 …かように、ざっと考えただけで「もっと他に考えなければいけないことがある のに、なんで note1 からのアクセス制御にそれほどこだわるんだろうか? どう してパスワードだけでは足りないと考えてしまうの?」ということになるわけです。 で、繰り返しになりますが、それは承知のうえで、(open)SUSE (Linux) ではど うすればやりたいことができるのか…を調べてみたり、試してみたりすることは 全く否定していません。
/etc/sysconfig/SuSEfirewall2の設定も、ルーターとnote1の間にたてたコン ピュータでパケットフィルタを行うもので、note1が自身でプロキシサーバと なって、かつnote1自身のパケットもフィルタするものではないということが理 解できました。
大筋はそうです。厳密に言えば、1台のマシンの中で全部やってしまうことも可 能なんですが、今それを説明しようと思うと長くなるし、混乱させてしまうだけ だと思うので、一旦そう理解しておいてください。
FW_SERVICES_DROP_INTに"0/0,tcp,80"をいれてみたり、0/0に"localhost"とか "127.0.0.1"とかいろいろ入れてもダメだったんですね。 0/0の意味と使い方がいまひとつ分からないのですが、こういったことは iptablesの使い方から勉強をすれば良いのですね。
0/0 は、先ほどの iptables の例で言えば anywhere にあたります。このへん は、iptables の、と言うよりネットワークの説明で良く出てくる記述です。
FW_SERVICES_DROP_INTに"0/0,tcp,80"を入れてみる
ということの意味を分解しますと、 _INT (内部ゾーンとして設定してあるデバイス) に入ってくる、発信元 0/0 (= どこからのものであっても) で tcp 80 番ポート宛のパケットを DROP する …ということになります。この際の _EXT (外部ゾーン) _INT (内部ゾーン) とい うのは、NIC が複数刺さっているマシンをルータ的に使っている場合、それぞれ 外部ネットワークにつながっている方のカード (平たく言えば WAN 側)、内部 ネットワークにつながっている方のカード (平たく言えば LAN 側) を指してい るものと理解してください。
僕は自分でiptablesの設定をしたことがないのですが、SUSEに関連することでひ とつ先に教えてもらって良いでしょうか?SUSEのFirewallとsysconifg-network の設定は、iptablesに対してのコマンドということで良いのでしょうか?少し iptablesで検索したことがあるのですが、スクリプトなどを書いてiptablesを設 定した場合、SuSEfirewall2などが動かなくなることはないですか?注意点など を教えていただければ幸です。
大まかな理解としては、SuSEfirewall2 は iptables をいじるもの -- つまりパ ケットの出入りを制御するためのツールですが、/etc/sysconfig/network 以下 のファイルはネットワークの設定に関するファイル (固定 IP アドレスなのか、 DHCP で取得するアドレスなのか、ネットマスクは何ビットか、デフォルトゲー トウェイはどこなのか…といったこと) なので、そこらへんはごっちゃにしない でくださいね。 他のディストリビューションを使ったことのある人が (open)SUSE を使うことに なったときにハマりやすいというか、戸惑いやすいことの一つですが、手書きで 設定ファイルを編集し、保存しても、YaST2 からの設定 (YaST2 の /etc/sysconfig エディタで設定できるパラメータなど) がそれを上書きしてし まう、ということが起こります。ですから、(open)SUSE を使う場合には、YaST で設定できることは基本的に YaST 経由で設定しておいた方がいい、ということ を憶えておくといいでしょう。 また、他のディストリビューションを例にした iptables 関連の解説ドキュメン トを参考にすると、例えば「/etc/sysconfig/iptables ファイルを直接編集す る」といった方法が紹介されているのを見ることがあるでしょう。ところ が、(open)SUSE を覗いてみると、/etc/sysconfig/iptables というファイルは ないということが分かると思います。そういったことがいくつかあるので、一般 的な説明で基本的なことを押さえたら、(open)SUSE のドキュメントにも目を通 しておくと better ですね。 (open)SUSE は、100% とは言えないまでも、かなりの部分「Linux やその上で動 くアプリケーションについて深く知っていない人でも使える」ように細かい配慮 がなされているディストリビューションだと思います。 ただ、自分で一から設定を決められる、あるいは決めたいというような人、お仕 着せの仕様は要らないというような人にとっては、その「親切さ」が逆に「余計 なお世話」と感じられてしまうこともあるでしょう。誰にとっても使い易い…と いうのは目標として持ち続けていたいですが、openSUSE の特質やクセなどを理 解してもらったうえで、気に入っていただけるとありがたいです。
要件はきっと「a. ルータの設定管理ができるユーザを特定したい」という ことであって「b. ルータ管理用 Web インターフェイスに接続できるクラ イアント/ユーザを特定したい」ということではありませんよね?[snip]
僕にaとbの違いがはっきりと分からないのが問題です。
[snip]
bを行ってもaを満たしたことにはならない(今井さんがおっしゃっているのは これでしょうか)と教えてくださっているのでしたらご質問の意味を理解して いないことになります。
これは、リスクアセスメントとかリスクマネジメントに関わる問題です。ぶっ ちゃけて言うならば、一番の大切なことは「自分だけがルータの設定をいじれる ようにしたい」ということですよね? それが要件なのです。この目的を達成す るための方法として… ・ルータにアクセスする際のパスワードを設定し、他の人に知られないようにす る(1) ・ルータの管理画面インターフェイスを開けるクライアントを、自分しかログイ ンできないものに限定する(2) …といったことが想定されるわけですね。で、(1)で要件が満たせるのであれば、 別に(2)は必要ないわけです。もし(1)では足りないと判断するなら、(2)はさら にブレイクダウン可能で… ・自分しかログインできないクライアントからの接続のみを許可する(2-1) ・自分以外の者がログインする可能性のあるクライアントからの接続を拒否する (2-2) となります。論理的には同じことなんですが、実装する際の方法論が違ってくる ことは分かりますよね? # 実際にはここからさらに「(2-1)の場合、自分しかログインできないことを担 # 保するためにはどうしておかなければいけないか」といったようなことにブレ # イクダウンできます。 「b. ルータ管理用 Web インターフェイスに接続できるクライアント/ユーザを 特定したい」というのは、これでいう(2-2)に当たり、あくまで一つの「方法」 です。「a. ルータの設定管理ができるユーザを特定したい」(= 「自分だけが ルータの設定をいじれるようにしたい」)という「目的」とはレイヤーが違いま すね、というお話です。方法についてはいろいろ選択肢があるのに、どうして一 つの方法にこだわる必要があるのか?ということです。 今井さんが指摘されていることの要旨は『「b. ルータ管理用 Web インターフェ イスに接続できるクライアント/ユーザを特定したい」場合、note1 からの接続 要求をハネるだけでは十分ではなく、もっといろいろな可能性を考えなければい けなくなり、そこまでちゃんと設定しようとすると手間もかかるし利便性が犠牲 になることもある』ということになると思います。 # 勝手に要約してすいません。m(_'_)m > 今井さん
常識的な事といえば、そもそも今までコンピュータは市販ソフトを使うだけ だった自分が家庭内にあるWindowsをLinuxにかえる事自体が良くないことな のかとも少し思っています。
まだ世の中には「Windows でないとできないこと」もたくさん残っていますか ら、あまり無理/無茶はなさらないように。:-) どちらの方が優れているか…じゃなく、それぞれの利点/欠点を知り、結果として quantum1 さん及びご家族の皆さんが「やっぱり Linux の方がいいね」となって くれることを願ってます。 -- _/_/ Satoru Matsumoto - openSUSE Member - Japan _/_/ _/_/ Marketing/Weekly News/openFATE Screening Team _/_/ _/_/ mail: helios_reds_at_gmx.net / irc: HeliosReds _/_/ _/_/ http://blog.geeko.jp/author/heliosreds _/_/ -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-ja+help@opensuse.org