こんにちは、松本です。 -------- Original Message -------- Subject: [opensuse-ja] ルーターの設定アドレスへのアクセス規制を行いたい。 From: quantum1 <mb38i-quantum1@yahoo.com> To: opensuse-ja@opensuse.org Date: Tue Mar 30 2010 08:00:00 GMT+0900 (JST)
ルーターのサブネット内に接続しているノートコンピュータが、ルーターの設定 を行うWebサーバにアクセスするのを規制したいと思っています。
例えばルーターのWebサーバのアドレスを192.168.0.1として、そのコンピュータ をnote1とします。note1からルーターの設定をする必要ありません。ですので、 他のWebブラウジングは保持しつつ、全てのアプリケーションから192.168.0.1へ のアクセスを禁止できないでしょうか?そのルータは80以外のポートに変更する ことはできなさそうです。
note1全体としてでも良いのですが、note1の特定のアカウントのみ 192.168.0.1:80へアクセスさせないことができればもっと良いです。しかしそれ をするには、僕のスキルと理解力では無理そうだなあと思っています。
サクッと思いつくソリューションとしては… 1. LAN 内に別途プロキシサーバを立て、そこでフィルタリングを行う 2. 当該クライアント機で iptables を使って OUTPUT チェインを設定するよう なスクリプトを用意し、対象ユーザがログインしたら自動で実行されるよう に設定しておく …というような感じですかね。 ただ、どちらにしても、squid などプロキシサーバの設定や、使うフィルタリン グルールの設定方法、あるいは iptables の原理などをちゃんと理解しておく必 要があるので、けして「お手軽」ではないと思いますし、ML 内で事細かに設定 手順を説明するのはちょっと無理があります。おそらくイメージしているのは 「インストールして GUI を立ち上げ、ちょちょいと設定すれば設定完了」とい うソリューションなんだと思うのですが、私が知る限り無償で使えるようなソ リューションでそこまで簡単に設定できてしまうものはないと思います。 # 商用のものであれば、そういったソリューションもあるのかも…。 古い情報も残ってしまっていますが、参考までに…。 http://linux.softwaresearch.jp/new/class.php?144
この数週間yast2のfirewallやsysconfigeditor-networkについて検索したり、 /usr/share/doc/manual/内を読んで設定に挑戦したりしましたが、未だできま せん。ルーター自体はパスワードをかけてありますから、アドレスにアクセスで きるからといってすぐにルータ設定画面ログインできるわけではありません。
老婆心ながら、ルータにパスワードをかけてあるだけでは足りない、あるいはセ キュリティ的に不安が残るのはどういったケースですか? 要件はきっと「a. ルータの設定管理ができるユーザを特定したい」ということ であって「b. ルータ管理用 Web インターフェイスに接続できるクライアント/ ユーザを特定したい」ということではありませんよね? a. が本来の目的で、b. はそれを実現するためにはどうしたらいいかということ で思いついたソリューションの一つでしかないのに、それを取り違えてしまう と、本末転倒で無駄なことに労力をつぎ込むだけになりかねませんけど…。 こういった場合、クライアント側でなくルータ側でアクセスを制御する方が一般 的な解ではないかと思います。 まず、LAN 内でルータ設定を行うクライアントを特定できるなら、そのクライア ントに固定の IP アドレスを割り当て、ルータ側で管理インターフェイスにアク セスできるホワイトリストにその IP アドレスを登録する、というアプローチです。 # ルータの機種によってはそういった機能がないものもあるかもしれませんが、 # 私が秋葉原のジャンク屋で購入した 980円のルータにもあった設定項目だか # ら、だいたい備わっているんではなかろうかと勝手に推測してます。 それができないという事情がある、あるいは、それは承知のうえで、せっかくだ から openSUSE (or Linux) でどうしたらこういった目的が達せられるのか調べ てみたい (そこに山があるから登りたい…という発想ですね) ということですかね?
以下はこれまで行ったり思ってみたことです。見当外れの可能性が高く、ただ長 くなってしまいそうですが、とりあえず記載します。 ------------- /etc/sysconfig/SuSEfirewall2内のFW_SERVICES_DROP_EXT以下をいろいろ設定し てみましたが、ダメでした。言葉でいうと、note1のアウトバウンド規制になる と思ってるのですが間違っているでしょうか?
ここでいう _EXT の部分は、YaST2 から呼び出せる「ファイアウォールの設定」 の「インターフェイス」で「外部ゾーン」として設定してあるデバイスのこと で、そこに「入ってくる」接続要求のうち何を DROP するか決めるエントリです。 たとえば、YaST2 の /etc/sysconfig エディタから FW_SERVICES_DROP_EXT に "0/0,tcp,80" と書き込んで設定を保存した後、root 権限で # rcSuSEfirewall2 restart してから # iptables -L してみると、 Chain input_ext ルールの中に新たに DROP tcp -- anywhere anywhere tcp dpt:http state NEW …という行が加わっているのが分かると思います。 つまり、_ext に input されるパケットに対するルールとして追加されるわけです。 基本的に SuSEfirewall2 はサーバ、あるいはマスカレードが必要となるファイ アウォールやルータとして使う場合のことを想定しているので、クライアント機 として使い、お望みのような Web フィルタをかける設定をすることはできない のではないかと思います。
また、プロキシを通して規制するのかと思いsquidをインストールして以下の フォーラム記事を参考にしてみたのですが、やはりダメでした。 "Transparent squid proxy and SuSEfirewall2 - openSUSE Forums" ttp://forums.opensuse.org/network-internet/422477-transparent-squid-proxy-susefirewall2.html
試してみた2つは、SUSE boxをルーターやDHCPサーバとして使用するときのもの で、違うところを叩いているのではと思っています。
ご推察の通り、上記フォーラムのスレッドは、NIC 2枚刺しのマシンを squid で 透過プロキシサーバとして動作させるための SuSEfirewall2 の設定が話題と なっていますので、今回やりたいこととは違いますね。 # ちなみに、http を ttp とするのは 2ch あたりではお作法のようになってい # るみたいですが、直リンク禁止と謳われている URL を晒すのではない限り、 # ML 内では特にそういった配慮は必要ないと思いますよ。…ていうか、いちい # ちコピってブラウザのアドレス欄に貼り付け、頭に h を加えないといけない # のは面倒なので…。 # 少なくとも、行き先が *.opensuse.org であるなら、URL そのまま晒しても問 # 題ありません。
このように、したいことははっきりしているのですが、どこから作業をすれば良 いか分からないでいます。
SUSEのyast2のおかげで、なにかしたいことがあると、とりあえず設定できそう な項目とその説明にたどり着ける(CLIだと知っていないとたどり着けない)の で、助かります。
ご教示お願いできますでしょうか?よろしくお願いします。
ずいぶん自分で調べ、勉強されているようですね。:-) 最近は Google vs 中国の問題で一般にも Web フィルタリングのことが知られる ようになり、また、都条例改定にまつわる議論でもコンテンツフィルタについて 話題になるなど、デスクトップクライアントとして Linux を使ううえで今後は 避けて通れない問題だと思うんですが、これまで Linux だとパーソナルファイ アウォールのようなものはあまり必要とされてこなかったこともあり、まだまだ 使いやすい決定版のソリューションというものはないようです。 一発で簡単に解決できるソリューションはないかもしれませんが、上でも書いた ようにいくつか方法は考えられそうです。何はともあれルータ管理インターフェ イスへのアクセスを制御したい、ということならきっと他のアプローチの方がい いと思いますが、勉強がてらどんな方法がありうるのか調べてみたいということ でしたら、まず iptables 関連のドキュメントを基礎的な部分から読んでみてく ださい。 …そのうえで、(open)SUSE 特有の設定に由来して行き詰まった時はまた相談して みてくださいね。:-) -- _/_/ 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