5. ホスト認証

X のセキュリティ強化のために最も広く使われている仕組みはもちろん xhost プログラムです。簡単に使える反面、 xhost はやや柔軟性にかけます。

5.1. xhost の使い方

xhost プログラムの使い方は複雑ではありませ ん。それぞれの X サーバはアクセスを許可もしくは拒否するホストの 一覧を管理します。xhost プログラムはその一 覧を修正するために使われます。コマンドラインの構文を次に示します。

引き数が無い場合、xhost は アクセス制御を有 効にしているかどうかと、どのマシンにアクセスを許しているか戻しま す。これはリモートから実行できる xhost の唯 一の用法で、たとえそのリモートマシンがアクセスリスト上にあったと してもこれしかできません。認められていないホストのユーザが接続を 試みるために xhost を利用すると、次に示す応 答が表示されるでしょう。
          Xlib: connection to "display:0.0" refused by server
          Xlib: Client is not authorized to connect to Server
          

コネクションが張られた後、そのホストアクセスを無効にしても既存の コネクションには影響しないことに注意してください。確立 (establish) されたコネクションを切るには、そのサーバをリセットし なければなりません。

しかし実のところ、これは便利な機能でもあります。 xhost を使うスマートな方法は、あるホスト上 のクライアントを起動する間だけそのホストのアクセスを許すことです。 そして、アクセスを無効にします。そのクライアントは動きつづけます が、ホストのアクセスは再び無効になります。

5.2. 長所:

xhost のアクセス制御の仕組みはもちろん使い やすいことです。単純な構文のプログラムが一つ必要なだけです。

5.3. 短所:

xhost の簡素さは長所と短所をあわせもちます。 あるホストからのすべてのコネクションはすべて受け入れられるか、す べて切断されるかのどちらかで、user-by-user, program-by-program, connection-by-connection を基準にしたものではありません。多くの 環境では、無数のユーザが特定のホストへのアクセスを許可されている ため、これでは解決法としては不十分です。そしてもちろん、X サーバ を実行しているほとんどのコンピュータは複数のユーザアカウントを持 ち、コンピュータにログインできるユーザは localhost の X サーバと して、完全に xhost のアクセス制御を迂回して X サーバにアクセスできます。

残念ながら、NCD サーバ、SGI システム、Macintosh 用 Mac X といっ た多くの X サーバは、初期設定で、アクセス制御が無効になっていま す。X サーバの脆弱さについてよく分かっていないユーザたちにとって、 これは深刻なセキュリティ上の問題を生じさせるかもしれないものです。

Xhost はトークン認証に優先します。特別な権 限やシステム管理者からの援助なしに、ユーザはあるシステムを xhost のアクセスリストに追加できます。