forward -
任意のソケットを安全で圧縮された経路にフォワードする
forward
[
-h,
--help]
[
-v,
--verbose]
[
-V,
--version]
[
-p,
--password password]
[
--netrc]
[
--no-netrc]
[
--secure]
[
-z,
--gzip]
[
-K,
--key-size bits]
[
user@]
machine1[
:port1]
machine2:port2
listen_port
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 <
[email protected]> <
[email protected]>
mirrordir(1),
pslogin(1),
ssh(1)