Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
セキュリティ強化ガイド
  1. 前書き
  2. 1 セキュリティと機密保持
  3. 2 コモンクライテリア (Common Criteria)
  4. I 認証
    1. 3 PAM を利用した認証
    2. 4 NIS の使用
    3. 5 YaST を利用した認証クライアントの設定
    4. 6 389 LDAP ディレクトリサービス
    5. 7 Kerberos を利用したネットワーク認証
    6. 8 Active Directory サポート
    7. 9 FreeRADIUS サーバの構築
  5. II ローカルセキュリティ
    1. 10 物理的なセキュリティ
    2. 11 seccheck を利用した自動的なセキュリティチェック
    3. 12 ソフトウエア管理
    4. 13 ファイルの管理
    5. 14 パーティションやファイルの暗号化
    6. 15 cryptctl を利用したアプリケーション向けのストレージ暗号化
    7. 16 ユーザ管理
    8. 17 Spectre/Meltdown チェッカー
    9. 18 YaST を利用したセキュリティの設定
    10. 19 PolKit による認可制御
    11. 20 Linux でのアクセス制御リスト
    12. 21 証明書ストア
    13. 22 AIDE を利用した侵入検知
  6. III ネットワークセキュリティ
    1. 23 X Window System と X 認証
    2. 24 SSH: 機密を保持するネットワーク操作
    3. 25 マスカレードとファイアウオール
    4. 26 VPN サーバの設定
    5. 27 X Window System で動作する PKI マネージャ XCA による管理
  7. IV AppArmor による権限の制限
    1. 28 AppArmor の紹介
    2. 29 入門
    3. 30 プログラムに対する予防接種
    4. 31 プロファイルのコンポーネントと文法
    5. 32 AppArmor のプロファイルリポジトリ
    6. 33 YaST を利用したプロファイルの構築と管理
    7. 34 コマンドラインからのプロファイル構築
    8. 35 チェンジハット機能による Web アプリケーションのプロファイル作成
    9. 36 pam_apparmor によるユーザの制限
    10. 37 プロファイルを作成したアプリケーションの管理
    11. 38 サポート
    12. 39 AppArmor 用語集
  8. V SELinux
    1. 40 SELinux の設定
  9. VI Linux 監査フレームワーク
    1. 41 Linux 監査システムの概要
    2. 42 Linux 監査フレームワークの設定
    3. 43 監査ルールセットの紹介
    4. 44 その他の情報源
  10. A GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.2

23 X Window System と X 認証

本書の冒頭でも記述しているとおり、ネットワークを透過的に扱うことができるというのが Unix システムの特長でもあります。 Unix オペレーティングシステムにおけるウインドウシステムである X も同様に、簡単に扱うことができます。 X ではネットワーク上離れた場所からログインして、グラフィカルなプログラムをネットワーク経由で表示させ、操作することができるようになっています。

X クライアントがネットワーク上離れた場所にある X サーバとの間で通信を行う場合、サーバ側では不正なアクセスを行われないようにするため、保護を行う必要があります。もっとわかりやすい表現をすると、クライアントプログラム側に特定の許可を設定する必要があることになります。 X Window System では、ホストベースのアクセス制御と、 Cookie ベースのアクセス制御の 2 種類が用意されています。前者のアクセス制御は IP アドレスを元にした認証で、特定の IP アドレスのクライアントのみが X サーバにアクセスできるようにする仕組みです。この制御を行う際に使用するプログラムが xhost で、許可する IP アドレスをデータベースで管理することで、 IP アドレスベースのアクセス制御を実現します。ただし、 IP アドレスによる保護だけでは安全とは言えません。たとえば許可されている IP アドレスのクライアント内で、複数のユーザがログインしているような場合、異なるユーザにもアクセスを許可してしまうことになるからです。このようなセキュリティ面の問題から、この認証方法については詳しく説明していません。詳しく知りたい場合は、 man   xhost で表示されるマニュアルページをお読みください。

Cookie ベースのアクセス制御では、 ID カードのように X サーバと正規のユーザの 2 者しか知り得ない文字列 (Cookie) を生成して、アクセスを制御します。 Cookie はホームディレクトリ内の .Xauthority というファイル内に保存され、 X サーバに対してウインドウを表示したい、様々なプログラムから使用することができます。 .Xauthority ファイルは xauth というプログラムを使用することで、さまざまな処理を行うことができます。誤って .Xauthority を削除してしまったり、ファイル名を買えたりしてしまった場合は、新しいウインドウを表示することができなくなります。

SSH (Secure SHell) を使用することで、ネットワーク通信を暗号化して X サーバとの通信を透過的に扱うことができます。これを X Forwarding (転送) と呼びます。 X Forwarding はサーバ側で擬似的な X サーバを動作させ、それにアクセスさせるために DISPLAY 環境変数を設定することによって成り立っています。 SSH に関する詳細な説明については、 第24章 「SSH: 機密を保持するネットワーク操作 をお読みください。

警告
警告: X Forwarding の機密性について

接続先のコンピュータが安全なホストではないとお考えの場合は、 X Forwarding を使用してはなりません。 X Forwarding が有効化されていると、攻撃者は SSH 接続を介して認証を行うことができてしまうためです。これにより、攻撃者はお使いの X サーバを乗っ取ることができてしまうため、たとえばキーボード入力を読み取るなどの行為が実現できてしまいます。

このページを印刷