このセクションでは、いくつかの TERM のセキュリティの外観について指摘してお きます。問題が説明され、セキュリティを向上させる方法が書かれています。
trsh はリモートシステムからローカルの Linux box にアクセスするために使われ ると危険です。TERM とそのクライアントの問題は、TERM コネクションの所有者に加 えて 'root' もコネクションを通じて TERM 対応プログラムを実行できるということ です。
このことは、リモートシステムの 'root' が trsh を実行して TERM コネクション の所有者のログインに入ることがわめて簡単にできるということです。
この問題の解決法は簡単です:ローカルマシンの termrc ファイルに次のような行 を入れるだけです:
denyrsh on |
これを 'termrc' ファイルにセットすることにより、リモートサイトにいる誰もが trsh を使ってあなたのマシンにアクセスできなくなります。TERM コネクションを通 してあなたのローカル Linux box にアクセスしたいのであれば、telnet やリダイレ クトされたポートは使うことができます。
txconn は恐ろしく安全ではありません;誰でもが TERM を通じてあなたのローカル サーバにあらゆるいたずらを仕掛けることができます。この種のことで心配するのな ら、コネクションを認証するために xauth を使うことを考えるのがいいアイデアにな るでしょう。xauth を使ってコネクションを安全にする方法については次のセクショ ンを見てください。
sxpc は 'xhost +' と共に使うと、xauth を使わない限り非常に危険です。
sxpc を使うにあたって、xauth を使うことはセキュリティを確保する上で非常に重 要なことです。sxpc を使うとき xauth を使わないなら、'xhost +' を使うのと同じ 全ての危険が生じます。これらの危険が含まれますがこれに限りません:
あなたのスクリーンに何が表示されているのかを見る
何をタイプしているのかを見る
誰かがあなたのウィンドウでタイプする(例えば、あなたの全てのファイルを削除す る :-(
xauth は X リリース R4 から利用可能になっています。ここでは xauth の基礎的 な使い方のセットアップについて述べます。この設定はネットワークを動き回るには 無防備ですが、それでよければうまく動くでしょう。
注意:xauth を使うときには $DISPLAY 変数をローカルホストにセットしては「いけ ません」(または、localhost:何とか)。$DISPLAY 変数がローカルホストを使うように なっていると、クライアントは適切な認証情報を見つけることができなくなります。 本当のホスト名をつけてやればよいのです。README に従ってコンパイルするなら、 -DNOGETHOSTNAME なしでコンパイルすればうまくいくでしょう。
クライアントを走らそうとするマシンを C と、また表示したいマシンを D としま す。
最初に、最大 16 の 16 進数の数字の組を鍵として選びます(0-9 と a-f からなる 偶数個の数字ということになります)。この鍵を以下の例に示す <key> の場所に置か なくてはなりません。
C で:
% xauth xauth: creating new authority file $HOME/.Xauthority Using authority file $HOME/.Xauthority xauth> add Chostname:8 MIT-MAGIC-COOKIE-1 <key> xauth> exit |
D で:
% xauth xauth: creating new authority file $HOME/.Xauthority Using authority file $HOME/.Xauthority xauth> add Dhostname/unix:0 MIT-MAGIC-COOKIE-1 <key> xauth> add Dhostname:0 MIT-MAGIC-COOKIE-1 <key> xauth> exit |
D で X サーバをスタートするときに、フラグ -auth $HOME/.Xauthority をつけな ければなりません。X サーバがどのようにスタートするか、'$HOME/xserverrc' を編 集あるいは作成する必要があります。例えば:
#!/bin/sh exec X -auth $HOME/.Xauthority $* |
'.Xauthority' ファイルが C においても D においてもあなただけが読めるように しておいてください。