2005年1月 5日

[linux-users:104209] Re: vncサーバをxinetd経由で起動させるには?

畠山です。年末年始で間が空いてしまいましたが、

On Tue, Dec 28, 2004 at 12:48:51PM +0900, MATSUDA Yoh-ichi / 松田陽一 wrote:
> ざっと斜め読みですが拝見させて戴きました。
>
> 内容を読みますと、元々
>
> - vnc クライアントが接続を行う前に vnc サーバが起動されている必要がある
> - vnc クライアントが接続を行う前に vnc サーバが指定したディスプレイ番号
> を知っている必要がある

>
> という前提条件があり、これに対し、「接続の際に生じるこれら面倒な手間を
> 省略したい」=「X サーバもどきの使用感覚を得たい」為に、これら設定を行
> うものと理解しました。

こちらについてはその通りです。

> 一方、 inetd / xinetd は tcp サーバと呼ばれる、クライアントの接続要求
> に対し、 IP アドレス乃至は FQDN 毎に対応するサーバの起動の可否を制御す
> るものと理解しています。

こちらはちょっと違います。inetdは、本来は、標準入出力ベースの
(簡単に作成できる)プログラムをネットワークサービスとして
使用可能にするためのものでした。起動の可否の制御、はかなり後になって
追加された機能です。

> 以上を踏まえまして、質問の一点目。
>
> 複雑且つ面倒な設定をしなくても、 IP アドレス毎の接続制御を行いたいなら
> ば、 ssh でポートフォワーディングすれば良いのではないか、という疑問が
> 生じます。
> 通常はこのような運用形態で十分ではないかと思うのですが、如何でしょうか。

何を以って「通常」というかは意見の分かれるところかと思いますが、
たしかに (xinetdならともかく) inetd + tcpd を使うよりは
ssh + port forwarding の方が簡単ですし、特に外部のネットワークを
通す場合には、こちらの方が安全ですね。この点については下記の
ように基本的にはローカルネットワーク専用で作成されたものだと
思います。

> 質問のもう一点目。
>
> vnc は、元々 inetd /xinetd 等の、 tcp サーバを経由して起動されることは
> 設計の前提として考えられていないのではないでしょうか。

少なくとも 3.x 系列はその通りです。最初は外部ユーザ作成のパッチでしたから。

> ユーザ認証機構が備わっていること、接続の際に予めディスプレイ番号を知っ
> ておく必要があること、等を考慮すると、極めてローカルな接続環境の上に成
> り立つことを前提としているのではないかと思ってしまいます。

このあたりについてはVNCの以前(ORL時代)のものには由来説明みたいな
ものがありまして、元々は高速回線(ATMだったようですが)を使った
THIN CLIENTモデルの研究みたいなものがベースになっているそうで、
専用の高速回線、あるいはクローズなネットワークを想定していた
のは確かだと思います。

ただ、実際に使われるようになると、セキュリティ上の対策が
要望されていたようですね。以前のFAQなんかでは、アプリケーション
レベルで対策すべきか、ノード、あるいはサイト単位で対策すべきか、
といった話が出ていて、その時点ではノード/サイト単位で対処すべき
問題であって、個別アプリケーションで対応すべきではない、という
スタンスだったようです。しかし、最近のものでは(特にエンタープライズ版)
アプリケーションレベルで対処、に移ってきているようです。

--
Akira Hatakeyama E-Mail: akira@xxxxx
http://www.sra.co.jp/people/akira/index.html
chigasaki-minami, tsuzuki ward, yokohama, japan


投稿者 xml-rpc : 2005年1月 5日 14:39
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/9423
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。