Extend. Manage. Secure. More than 30 years in the business. Over 65,000 customers.
ホーム » 製品 » PC X サーバ » 安全な X11 通信の実現
お問い合わせ先
03-5206-9500

安全な X11 通信の実現

Attachmate 技術サポートエンジニア、Andrew Taylor

セキュリティがさらに重要視される昨今では、X11 プロトコルを安全にする方法を見つけることは、極めて重要な課題となっています。Reflection X は、ネットワークやインターネット上でホストシステムと通信する際に、豊富な機能を提供し、利便性や効率化を促進する強力なツールですが、つい最近まで解決が困難とされていたセキュリティ上の問題を起こす恐れもありました。幸い、Reflection X と SSH を組み合わせて使うことで、強力な PC X サーバを利用すると同時に、ユーザ、 IT、システム管理者が長年捜し求めていた、高度なセキュリティも享受できるようになりました。

問題

Reflection X は、サーバであることと、別の UNIX ホスト上で実行している X11 クライアントアプリケーションが接続できるように待機させておく必要があるため、その安全性を確保することは大変困難です。このため、Windows やネットワークファイアウォールで、X11 プロトコル標準の TCP ポート 6000 や、例えばReflection X で複数 X ディスプレイ機能を使う場合に、その他のポートも開いたままの状態にしておく必要があります。この場合、承認された X11 クライアントのみにアクセスを許可するには一体どうすればよいでしょうか?今までは、このような問題を、「ホスト定義のセキュリティ」、「ユーザ定義のセキュリティ」、「XDM-Authorization-1」といったセキュリティ設定で対処してきましたが、どれも安全面で完璧ではありませんでした。なぜなら、X11 プロトコルがそのまま外部から見える形で送信されていたからです。そのため、不適切もしくは許可していないユーザが、適当な追跡ツールを使ってパケットを盗んでしまう危険性すらありました。

解決策

SSH (Secure Shell) を使えば、今まで説明したセキュリティ問題を解決できるだけでなく、別の利点も利用可能になりました。

セキュリティの利点:
  • Windows ワークステーションやネットワークファイアウォールで、TCP のポート 6000 やその他の X11 関連のポートを開いたままにする必要がなくなりました。
    ※注: SSH サーバが使用するように構成されるポート、通常 TCP ポート 22 は、SSH クライアントや Reflection X が起動している Windows ワークステーション上から SSH サーバや X11 クライアントアプリケーションが起動しているホストまでの通路で開いている必要があります。

  • すべての X11 プロトコルが暗号化されます。

  • 暗号化のレベルは必要に応じて設定できます。

  • ユーザ認証が暗号化されます。

  • ユーザ名とパスワード、公開鍵 (鍵の長さと種類は必要に応じて設定可能)、キーボードインタラクティブ、Kerberos など複数の認証方法に対応します。

  • Reflection X で、すべてのリモート TCP/IP 接続を拒否するように設定することもできます。これは、構成ミスのあるファイアウォールを援護したり、ファイアウォールが存在しない場合の主な防衛手段になります。

  • ホスト定義のセキュリティを SSH と組み合わせて使うこともできます。
その他の利点:
  • 圧縮機能を低帯域幅の通信環境に使用することができます。

  • ポート転送機能を利用して、X11 以外の様々なプロトコルを暗号化された SSH トンネルに通して送ることができます。

  • X11 プロトコルと併用できるように SSH サーバのディスプレイ変数を設定できます。これは、複数のファイアウォールや NAT が使われている場合や、SSH 接続が Reflection X から開始されていない場合に役立ちます。

利点はたくさんありますが、短所が 1 つあります。SSH は UDP パケット転送に対応していないため、XDMCP (X Display Manager Control Protocol) で UNIX デスクトップ全体を描画することができません。SSH のこの制限に対する回避策は、技術ノート 1818 (英語) で説明されています。

Reflection X と SSH を併用する場合

Reflection X と SSH を併用する場合、SSH のクライアントとサーバのどちらも、SSH トンネル経由のポート転送を許可するよう構成されていなくてはなりません。Reflection X と一緒に使う場合、SSH クライアントのポート転送設定は、既定で「使用可能」に設定されていますが、SSH サーバ側では既定で「使用不可」に設定されていますので、それを「使用可能」に変更する必要があります。この設定変更の方法については、技術ノート 1814 (英語) を参照してください。

Reflection for UNIX and OpenVMS や F-Secure SSH Windows クライアントなどを使って、リモートエミュレーションセッションを主に使う方は、それらのアプリケーションで作成された SSH トンネルを使って、どんな X11 プロトコルでも Reflection X に送ることができることを覚えておいてください。このような場合、X11 プロトコルのトンネルは既定で使用不可になっていますが、設定ダイアログボックスで簡単に使用可能に設定変更できます。


最後に

SSH で X11 接続の安全を図ることは、典型的なセキュリティ問題を有効に解決する方法です。Reflection X と SSH のこれらの長所をご利用になりたい場合はぜひお試しください。問題やご質問がございましたら、技術サポートまでご連絡ください。