Xウィンドウ表示保護

Xウィンドウ表示保護

私が担当するシステムにXをインストールしたいです。たとえば、ローカル接続のみを使用して実行する予定ですstartx -- -nolisten tcp(現在はこれがデフォルト値であることがわかっています)。

比較的古いセキュリティノートX Windowsセキュリティ集中コース、これはディスプレイが本質的に安全ではないことを意味します。

ディスプレイを実行するために「xhost -」を使用してアクセス制御を有効にすると、XOpenDisplayはポート番号6000を介した試行を防ぐことができます。ただし、盗聴者がこの保護をバイパスする方法があります。彼があなたのホストにログインできる場合、彼はローカルホストのディスプレイに接続できます。 ...もちろん、侵入者はシステムにアカウントを持っている必要があり、特定のXサーバーを実行しているホストにログインできる必要があります。多数のX端末があるサイトでは、Xディスプレイがアクセス権を持つ人から安全ではないという意味です。ホストシステムでプロセスを実行できる場合は、対応するXディスプレイに接続できます。

ここで意味するのは、ネイティブXディスプレイに基本的なセキュリティさえ提供する方法がないということです。

本当に?そうでない場合、このようなことが起こらないように考慮する必要がある構成設定はありますか?

ベストアンサー1

あなたが読んでいる文書は前世紀の文書です。私は今世紀にクッキーを使用していないシステムを使用したことを覚えていません(文書のセクション8に記載されています)。 Cookieの場合、Xサーバーに接続するときにアプリケーションが最初にすべきことは、「Cookie」を提供することです。このCookieは、サーバーの起動時にランダムに生成され、ユーザーだけが読み取ることができるファイルに保存されるパスワードです。アプリケーションはクッキーファイルの場所を知っています。これは、環境変数の値(XAUTHORITYデフォルトは)であるためです~/.Xauthority。プロセスがCookieを読み取ることができる場合、これはそのプロセスがアカウントの個人ファイルにアクセスできることを意味するため、Xサーバーのセキュリティは次のとおりです。議論の余地がある問題です。

これがデフォルト設定なので、Xサーバーを保護するために明示的な手順を実行する必要はありません。

次のようないくつかの行動は控えなければなりません。

  • 明らかにクッキーファイルの内容を公開しないでください。
  • 盗聴者がいないと確信している信頼できるネットワークにない限り、Xサーバーに接続するためにTCPを使用しないでください。 (ループバックインターフェイスは素晴らしいです。)誰かがTCP接続をスヌーピングすると、クッキーが表示されます。代わりにSSHを使用し、X11接続を転送するように指示します(ForwardX11 yes設定ファイルのssh -Xコマンドラインから)。
  • コンピュータA(Xサーバーの実行)からコンピュータBにSSHを実行しているときにX11転送が有効になっていると、リモートコンピュータからユーザーアカウントで実行されているアプリケーションはローカルXサーバーにアクセスできます。 Xサーバーは、アプリケーションが実行されているシステムに基づいて分離を実行しません。これは、リモート管理者を信頼する必要があることを意味します。

アプリケーションがXサーバーにアクセスできる場合は、アカウントにアクセスできると見なされます。一部のアプリでは、最も確実なキー入力の監視と挿入機能を無効にしますが、一部の機能は無効にすることはできません。 Xは、スクリーンショットアプリ、キーボードマクロアプリ、信頼できないランダムアプリを区別しません。信頼できないGUIアプリケーションを実行するには、仮想マシンで実行するか(VMに表示)、別のアカウントで実行して別のXサーバーに表示するようにします。Xネスト

おすすめ記事