という話はよく聞くのですが、具体的にどんな脅威があるのでしょうか?
「GUIにはセキュリティホールが多いので、そこからアタックされるかもしれない」(アタッカーにつけこむスキをできるだけ与えない)
という意味なのでしょうか?
セキュリティホール以外にも何か脅威があるとしたら、どのようなものになるのでしょうか?
できれば、
「GUIを動かしている場合、○○したら、××されてしまう」
というカンジでお答えいただけるとうれしいです。
よろしくお願いします。
セキュリティホールと言っても深刻さはいろいろあって、
動作がのろくなったり止まるだけのものもありますし、
ファイルをひとつ消せるだけだったり、
ひとつの一般ユーザ権限しか取れなかったりするものから、
root 権限で OS の機能すべてを取得できるものもあります。
通常、root 権限が取れてしまうのが最悪の状況なのですが、
(そして実際そうなのですが)、root といえども動作中は
OS の範囲内に縛られているわけです。
しかし X は OS そのものと同じ (つまり制限のほとんどない)
権限を持つ ring 0 というモードで動作するため、
X を乗っ取ることができれば、カーネルメモリを触ったり
ハードウェアを壊すことさえ可能になるということです。
他の回答で指摘されていることが基本なのですが、
「GUI を使っている場合、X を攻略されると最悪よりも悪い状況になりうる」
という感じです。
Linuxはインストールする時にちょっと油断していると(笑)すぐに色々なプログラムが入ってしまいます。
X Windowだからということはありませんが、サーバー用マシンに不要なプログラムはインストールしない、動作させない、というのがセキュリティ的な観点で必要な事です。その不要なプログラムの代表格がX windowということだと思います。
ありがとうございます。
>> Linuxはインストールする時にちょっと油断していると(笑)すぐに色々なプログラムが入ってしまいます。
確かに、自動的に(勝手に?)いつの間にか入っていた、と言うことがよくありますね。
やはり、その程度の意味なのですかね……。
質問後、調べてみたのですが、
「Xプロトコルという、画面表示や入出力時に利用されるプロトコルがネットワーク透過である」(Wikipedia 「X Window System」より)
の辺りで何か問題があるのかな~、と感じたのですがいまいちピンと来ません……。
GUIに限らずサーバでは不要なサービスの稼動は避けるのが原則ですが、中でもGUIというものは、そのサーバを操作する目的のものだから問題視されるものと思われます。
いわゆるセキュリティホールの問題もありますが、それ以上に通常の侵入による問題が重要です。パスワード攻撃や漏洩などで侵入されるという状態は常にありえる話であり、これはパッチなどで解決できる問題ではありません。そして万一侵入されると、GUIのようなサーバ管理が可能なサービスの場合なんでも出来てしまうことになります。このため、GUIサービスやtelnetのような管理操作が可能なサービスは、その起動を慎重にする必要があるのです。
また、プロトコル解析の問題もあります。X接続に使われるXDMCPプロトコルは暗号化されていますが、絶対に解析されない保障はもちろんありません。もし万一解析されたら、管理操作が丸見えになってしまったり乗っ取られたりということも有り得ます。これはさほど心配する必要もないとは思いますが、無用な危険は避けるべきでしょう。
ありがとうございます。
アタックされ攻略されたときの危険性という点で他の機能とは一線を画すのがGUIなのですね。
確かに、Apacheとかであれば、かなりディープな攻撃を仕掛けられない限りは
Webページの改ざん・削除程度で済みますが、GUIが攻略されてしまったらやり放題ですね。
アタッカーにつけいるスキを与えない、というよりは、システムへのアクセスルートを制限して信頼性を高めると言う意味なのですね。
「Xプロトコルという、画面表示や入出力時に利用されるプロトコルがネットワーク透過である」(Wikipedia 「X Window System」より)
の辺りで何か問題があるのかな~、と感じたのですがいまいちピンと来ません……。
X自身は基本的にはサーバークライアントシステムです。
つまりサーバーに別のサーバーを同居させるということになります。
http://www.wdic.org/w/TECH/X%20Window%20System
特徴
クライアント/サーバモデル
単なるGUIというわけでも無いのがXの特徴で、Xプロトコルと呼ばれるプロトコルを用いてプログラム間で通信を行なう、クライアント/サーバ型のシステムとして機能する。
なお、普通のクライアントサーバの場合はユーザから近い方がクライアント、遠い方がサーバだが、Xの場合ユーザに近い方(キーボードやマウス)がサーバで、ユーザから遠い方(Xアプリケーション)がクライアントというのがややこしい点である。
画面描画
例えば画面描画の機能などがサーバであり、クライアントはサーバに対して描画の要求を出したり、サーバからの命令を受けて処理をする。
更に、クライアントはネットワークに接続されてさえいれば全く別の場所にあってもよく、これがWindowsなどの他のGUIシステムと大きく趣を異にする点である。
大抵の場合はたまたま同じPC内部同士でXプロトコルを使用して通信しているだけなのですが、本来その通信はPC同士の通信として使ってもいいわけです。つまり、Xを使えば他のPCからでも画面を描かせることもできるし逆のことも可能なわけです。
サーバーのセキュリティを高めるためには出来る限り不要な通信経路を塞ぎ、出来る限り不要なプログラムを走らせない、ということが重要です。
また、サーバーは他のPCから遠隔操作でいじり、サーバーに接続されたモニターとキーボードは緊急時以外は使わないですのであまりX Window Systemを入れておく必然性は薄く、むしろ不要なサーバーが動いている状態はセキュリティ的には避けるべきだという主旨だと思います。
ありがとうございます。
遠隔でX Window Systemを動作させることができるのですね。
この辺りをもう少し調べてみます。
セキュリティホールと言っても深刻さはいろいろあって、
動作がのろくなったり止まるだけのものもありますし、
ファイルをひとつ消せるだけだったり、
ひとつの一般ユーザ権限しか取れなかったりするものから、
root 権限で OS の機能すべてを取得できるものもあります。
通常、root 権限が取れてしまうのが最悪の状況なのですが、
(そして実際そうなのですが)、root といえども動作中は
OS の範囲内に縛られているわけです。
しかし X は OS そのものと同じ (つまり制限のほとんどない)
権限を持つ ring 0 というモードで動作するため、
X を乗っ取ることができれば、カーネルメモリを触ったり
ハードウェアを壊すことさえ可能になるということです。
他の回答で指摘されていることが基本なのですが、
「GUI を使っている場合、X を攻略されると最悪よりも悪い状況になりうる」
という感じです。
ありがとうございます。
リングプロテクションというヤツでしたっけ???
GUIはrootとかのユーザ情報よりも深くシステムに食い込んでるのですね。
>> X を攻略されると最悪よりも悪い状況になりうる
というのがよくわかりました。
ありがとうございます。
リングプロテクションというヤツでしたっけ???
GUIはrootとかのユーザ情報よりも深くシステムに食い込んでるのですね。
>> X を攻略されると最悪よりも悪い状況になりうる
というのがよくわかりました。