X11がサーバーのセキュリティリスクなのはなぜですか?


11

X11はセキュリティ上のリスクがあるため、サーバーにはGUIがないことを読んだことを覚えています。どうして?

回答:


8

Ubuntuのコミュニティドキュメントでは、実稼働サーバーシステムでGUIを実行することが推奨されない本当の理由を説明しています。

ほとんどのUbuntu Server開発者、サーバーにXをインストールすることをお勧めしません。GUIをインストールしない理由はいくつかあります。

GUIをインストールしない理由には次のものがあります。

  1. セキュリティの脆弱性の対象となるコード、更新が必要なパッケージ、サーバーのダウンタイムが増加します。
  2. X11およびデスクトップパッケージは、LTSサーバーリリースの5年間のライフサイクル全体ではサポートされていません。
  3. リソース(メモリ、ハードディスク容量、CPUなど)がGUIによって消費されるため、パフォーマンスが低下する可能性があります。
  4. 実稼働サーバーに必要なソフトウェアのみをインストールすることをお勧めします。
  5. GUIには、サーバーには不適切な他のネットワークサービスが含まれる場合があります。
    1. Ubuntu Desktop Editionの目標の1つは、ユーザーがLinuxを使いやすくすることです。一部のデスクトップ環境をインストールすると、特に必要のないサービスがインストールされます。たとえば、ネットワークの構成に役立つavahi-daemonは、別の開いているポートを追加し、.localドメインとの不要なDNS競合を引き起こす可能性があります。

したがって、最も安全なサーバーでは、GUIをインストールしないことが最善です。

「Ubuntuドキュメンテーションwikiへの貢献者」による「ServerGUI」。CC -BY- SA3.0で許可されているようにここ再現されています。

多少一般的な誤解とは異なり、X11がサーバーであることは、実稼働サーバーでGUIを実行することがセキュリティの観点から理想的ではないと見なされる理由とはまったく関係ありません。X11は、デフォルトでは、どのオペレーティングシステムでも、ネットワークを介してアクセスできるように設定されることほとんどありません。Ubuntuのどのバージョンも、X11がデフォルト構成でネットワークアクセス可能なサーバーを実行したことはありません。(TCP経由でUbuntuのX11にアクセスするには、SSHを使用して転送するか、サーバーを手動で再構成する必要があります。)

さらに、X11がネットワークアクセス可能なサーバーを実行したとしても、実稼働サーバーシステムにインストールしない理由はありません。本番サーバーを実行している人は誰でも、必要に応じて構成し、監査して望ましくないサービスが実行されていないことを確認することができます。(彼らは、することができない場合、それは GUIがインストールされたことにより、作成されるよりも、セキュリティにはるかに大きな脅威を与えるでしょう。)X11があっても持っていた(物理ネットワークインタフェース上のポートのリスニングを持っている場合ではないとする)、ポートを(またはのような上位レベルのフロントエンド)netfilterを使用してビルトインを再設定することで簡単にブロックできます。iptablesufw

対照的に、上記の問題は、再構成によって簡単に克服することはできません。


1
10.04では、サーバーとデスクトップのサポートライフタイムが異なりましたが、12.04以降ではサポートされていません。また、アイドル状態のGUIはCPUを消費せず、使用するRAMは交換されます。
psusi

@psusiサポートライフサイクルの変更に関するポイントは良いものです。CPUとRAMの問題については、(1)アイドル状態のGUIがCPUを消費しないという経験に同意しません。(2)GUIが実行されている場合、誰かがローカルマシンで作業しているときに、おそらくそれを使用しています彼らは望むかどうか、そしてそれはより多くのCPUとメモリリソースを消費させるでしょう。ただし、ポイント1、4、および5は、実稼働サーバーでGUIを実行しないことを考慮する最も重要な理由であり(おそらく常にそうでした)、サポートライフサイクルまたはリソース使用率の問題とは無関係です。
エリアケイガン14年

Xorgもデフォルトでrootとして実行されることを追加できますか。
ワディM.

5

実行中のプロセスはすべてセキュリティリスクです。特に、ネットワークポートでリッスンするもの(X11はそうします)。

一般的に良い方法は、絶対にそこにある必要のないサーバー上で何も実行しないことです。X11は確かに、SSHに接続するサーバー上にある必要はありません。

あなたが読んだ記事がX11の特定の脆弱性について語っていたのではないか(もしそうなら、脆弱性は修正されずに長い間放置されない傾向があります)、むしろ単に一般的な良い実践です。


2
ほとんどの最新のLinuxディストリビューション(Ubuntuなど)では、Xサーバーはデフォルトでネットワークポートをリッスンせず、ドメインソケットを介したローカル接続のみを受け入れます。
フロリアンディーシュ

@FlorianDieschでもサーバーからの未設定のものですか?
アミスKK

X11がネットワークサーバーであることに言及した場合の大きな+1。
ステファノパラッツォ

2
アミス:はい。xinit / startxは-nolisten tcpデフォルトで使用します
Florian Diesch

5

これは、X Window Systemが適切に保護されていない場合、深刻なセキュリティリスクが生じるためです。X11「ディスプレイ」は、デスクトップで実行されているX11サーバーであり、画面、キーボード、およびマウスが含まれます。X11ディスプレイが安全でない場合、インターネット上の任意の場所で実行されているプログラムがX11ディスプレイに接続できるようになり、接続が完全に見えなくなる可能性があります。接続すると、そのプログラムはディスプレイに完全にアクセスできます。つまり、次のことが可能です。

  • 標準のX11ユーティリティプログラムを使用して、画面のコンテンツを表示およびコピーします。
  • キーストロークを監視します。
  • デスクトップ上のNetscapeブラウザーおよびForgeキーストロークを、自分で入力するかのようにリモートで制御します(ただし、すべてのX11アプリケーションがこの影響を受けやすいわけではありません)。

経験則は使用すべきではありませんxhost +-ディスプレイのセキュリティを完全に無効にします。

良い方法は、Xを転送することです ssh


から取得http : //www2.slac.stanford.edu/computing/security/xwindow/


1
この記事は10年ほど前のものです。情報はまだ有効ですか?
ステファノパラッツォ

1
主に、はい...知っているので、私たちはxhost +コマンドを持っているので
Amith KK

xhost +-nolisten tcpただし、オーバーライドすることはできません。ローカルホストからの接続を開くだけです。
アランク

これらの問題は、アプリケーションごとにxserverを個別に起動することで解決されますか?
phil294

-6

本当の理由は、管理者がコマンドラインから何かを実行することで自分自身を超スマートだと考えることができるからです。UbuntuサーバーでGUIを実行してもセキュリティ上のリスクはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.