|
forward − 任意のソケットを安全で圧縮された経路にフォワードする |
|
forward |
|
forward はローカルマシンの listen_port で待ち受ける。接続を受信すると、その接続を secure-mcserv(1) デー モンが既に動作しているはずの machine1 ヘとフォワードする。すると secure-mcserv デーモンは machine2 のポート port2 に接続する。そしてすべてのトラフィックは、透過的に listen_port と machine2 の port2 の間をフォワード される。 ローカルマシンの listen_port と machine2 の port2 との間の接続は、 --secure オプションと --gzip オプションで変更できる。このように、 forward はあらゆるサービスに対して、安全性あるいは圧縮を付加できる。 |
|
す べ て の オ プ ションは mirrordir と同様である。詳細は mirrordir(1) を見てほしい。ただし --debug は forward がバックグラウンドのデーモンへフォークするのを妨げる意味しか持たない。 |
|
私はこれらを試していないが、論理的には正しいと思う。どこかでタイプミスをしていたら、私に知らせてほしい。 プリントサーバ A が LAN にある。この LAN にはマスカレードサーバ B があり、 LAN をインターネットにつないでいる。 B はイ ンターネットと A の両方を見ることができる。ある別のサイトで、John は D というマシンを持っており、これはマスカレードサーバ C を通 してインターネットにつながっている。 B と D は、インターネット越しでしかお互いを見ることはできない。 John は lpr を D で起 動し、印刷を A に出力させたい。また B と C の間の経路を圧縮させ、 (1024 ビットの鍵交換で) 暗号化させたい。 手順は以下のようになる (515 はプリンタのポート):
A# lpd &
B# secure-mcserv -d -p 12345
~/.netrc に john の B におけるパスワードのエントリを追加する。そして
C# forward john@B:12345 A:515 515 --secure -K 1024 -z
/etc/printcap に C のプリンタ x のエントリを追加する。そして
D# lpr -Px mydocument
同僚の John が嫌いな Jill が、 X セッションのスクリーンダンプを表示する場合を考える。彼女は安全な X セッションを、サーバ A とメインフレーム B の間に作りたい。 手順は以下のようになる (6010 は display 10.0 に対応する):
A# X &
A# secure-mcserv -d -p 12345
~/.netrc に jill の A におけるパスワードのエントリを追加する。そして
B# forward jill@A:12345 A:6000 6010 --secure -K 1024
B# export DISPLAY=localhost:10.0
B# fvwm &
|
|
telnet ログイン、X セッション、プリンタ (lpr) サービス、 http、pop3 接続はテストされ、動作が確認されている。 ftp はソケットのバインドが妙 (?) なのでフォワードできない。他に動作したものがあったら知らせてほしい。ほとんどのものは動作するはずだが。 |
|
mirrordir(1) の バグ セクションも見てほしい。帯域外データ (recv(2) と send(2) の MSG_OOB) は暗号化 も圧縮もされない。修正されず、プレインテキストで送信される。これをセキュリティ上のリスクだと考える方は、私に知らせてほしい。何らかの対応をした いと思う。 rlogin(1) での画面サイズ変更 (の検知?) は動作しないようだ。しかし telnet(1) では問題ない。これは OOB データが正 しく送られないことと関連しているに違いない。しかし問題点を発 見 す る た め に rlogin, rlogind, forward, secure-mcserv を同時にデバッグするのは、私は気がすすまない。チャレンジしてみたい人は、どうか頑張ってほしい。 |
|
~/.netrc |
|
マシンとそのパスワードのリスト。 |
|
mirrordir は作成者の発明であり、いかなる OS の標準にも従っていない。 |
|
こ の プ ロ グ ラ ム の 最新版は、 ftp://metalab.unc.edu/pub/Linux/system/backup または ftp://lava.obsidian.co.za/pub/linux/mirrordir から入手できる。 |
|
Paul Sheer <psheer@obsidian.co.za> <psheer@icon.co.za> |
|
mirrordir(1), pslogin(1), ssh(1) |