Oracle Solaris Trusted Extensions 管理の手順

第 8 章 Trusted Extensions での遠隔管理 (手順)

この章では、Trusted Extensions の管理ツールを使用して遠隔システムを管理する方法について説明します。

Trusted Extensions でのセキュリティー保護された遠隔管理

デフォルトでは、Trusted Extensions では遠隔管理が許可されていません。Trusted Extensions が設定されたシステムを、信頼できない遠隔システムで管理できるとしたら、遠隔管理によって重大なセキュリティーリスクが発生します。そのため、システムは遠隔で管理されているオプションなしで最初にインストールされます。

ネットワークが構成されるまで、すべての遠隔ホストには admin_low のセキュリティーテンプレートが割り当てられます。したがって、どの接続でも CIPSO プロトコルは使用されず、受け付けられません。この初期状態の間、システムは複数のメカニズムによって遠隔攻撃から保護されています。このメカニズムには、netservices 設定、デフォルトログインポリシー、PAM ポリシーなどがあります。

遠隔ログイン機能を有効にするには、両方のシステムでその接続先を CIPSO セキュリティーテンプレートに割り当てる必要があります。この方法が現実的でない場合は、pam.conf ファイルで allow_unlabeled オプションを指定して、ネットワークプロトコルポリシーを引き下げることができます。これらのポリシーのいずれかを引き下げた場合、任意のマシンが大域ゾーンにアクセスできないようにデフォルトのネットワークテンプレートを変更する必要があります。admin_low テンプレートは慎重に使用し、tnrhdb データベースを修正して、ワイルドカードアドレス 0.0.0.0ADMIN_LOW ラベルのデフォルトにならないようにしてください。詳細は、「Trusted Extensions の遠隔管理 (作業マップ)」および「トラステッドネットワーク上で接続できるホストを制限する」を参照してください。

Trusted Extensions での遠隔システムの管理方式

通常、管理者はrlogin および ssh コマンドを使用して、コマンド行から遠隔システムを管理します。Solaris 管理コンソールも使用できます。Trusted CDE では、dtappsession プログラムで遠隔から Trusted CDE アクションを起動できます。Solaris 10 5/09 リリースから、仮想ネットワークコンピュータ (virtual networking computer、VNC) を使用してマルチレベルデスクトップを遠隔表示できるようになります。

Trusted Extensions では、次の遠隔管理方式が可能です。

Trusted Extensions での役割による遠隔ログイン

Solaris OS の場合と同じように、遠隔ログインを許可するには、各ホスト上の /etc/default/login ファイルの設定を変更する必要があります。また、場合によっては pam.conf ファイルを変更する必要もあります。Trusted Extensions では、セキュリティー管理者が変更を行います。手順については、『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions での root による遠隔ログインを有効にする」および『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions での役割による遠隔ログインを有効にする」を参照してください。

Trusted Extensions と Solaris のどちらのホストでも、遠隔ログインには承認が必要な場合と不要な場合があります。承認が必要なログインの条件とタイプについては、「Trusted Extensions での遠隔ログイン管理」で説明しています。デフォルトで、役割には「リモートログイン」承認が与えられています。

ラベルなしホストからの役割ベースの遠隔管理

Trusted Extensions で、ユーザーはトラステッドパスメニューから役割になります。その結果、役割がトラステッドワークスペースで機能するようになります。デフォルトでは、トラステッドパス以外から役割になることはできません。サイトポリシーで許可される場合、セキュリティー管理者はこのデフォルトポリシーを変更できます。これで、Solaris 管理コンソール 2.1 クライアントソフトウェアを実行しているラベルなしホストの管理者は、トラステッドホストを管理できるようになります。

このポリシー変更は、遠隔のラベルなしシステム上のユーザーが Trusted Extensions ホストにユーザーアカウントを持っている場合にのみ適用されます。Trusted Extensions のユーザーは、管理者役割になれる必要があります。管理者役割は、Solaris 管理コンソールを使用して遠隔システムを管理できます。


注意 – 注意 –

Trusted Extensions 以外のホストからの遠隔管理が有効な場合、管理環境は Trusted Extensions の管理ワークスペースより安全性が低くなります。パスワードやほかのセキュリティーデータを入力するときは注意してください。予防策として、信頼できないアプリケーションはすべて、Solaris 管理コンソールを起動する前に停止してください。


Trusted Extensions での遠隔ログイン管理

2 つの Trusted Extensions ホスト間の遠隔ログインは、現在のログインセッションの延長とみなされます。

rlogin コマンドがパスワードを要求しない場合、承認は必要ありません。遠隔ホスト上のユーザーのホームディレクトリにある /etc/hosts.equiv または .rhosts ファイルに、遠隔ログインを試行しているユーザー名またはホストがリストされている場合、パスワードは必要ありません。詳細は、rhosts(4) および rlogin(1) のマニュアルページを参照してください。

ほかのすべての遠隔ログインの場合、ftp コマンドを使用したログインの場合も含めて、「リモートログイン」承認が必要です。

「リモートログイン」承認を含む権利プロファイルの作成については、「Solaris 管理コンソールでのユーザーと権利の管理 (作業マップ)」を参照してください。

Trusted Extensions の遠隔管理 (作業マップ)

次の作業マップでは、遠隔の Trusted Extensions システムを管理するためのタスクについて説明します。

作業 

説明 

参照先 

root が Trusted Extensions システムに遠隔でログインできるようにします。

root ユーザーがラベル付きシステムから遠隔で作業できるようにします。

『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions での root による遠隔ログインを有効にする」

役割が Trusted Extensions システムに遠隔でログインできるようにします。 

役割がラベル付きシステムから遠隔で作業できるようにします。 

『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions での役割による遠隔ログインを有効にする」

ラベルなしシステムから Trusted Extensions システムへの遠隔ログインを有効にします。 

任意のユーザーや役割がラベルなしシステムから遠隔で作業できるようにします。 

『Oracle Solaris Trusted Extensions 構成ガイド』「ラベルなしシステムからの遠隔ログインを有効にする」

Trusted Extensions システムに遠隔でログインします。 

役割として Trusted Extensions システムにログインします。 

「Trusted Extensions でコマンド行から遠隔でログインする」

システムを遠隔で管理します。 

dtappsession コマンドを使用して、Trusted_Extensions アクションで遠隔システムを管理します。

dtappsession で Trusted Extensions を遠隔管理する」

Trusted Extensions システムから、Solaris 管理コンソールを使用して遠隔ホストを管理します。 

「Trusted Extensions システムから Solaris 管理コンソールを使ってシステムを遠隔管理する」

ラベルなしシステムから、Solaris 管理コンソールを使用して遠隔の Trusted Extensions ホストを管理します。 

「ラベルなしシステムから Solaris 管理コンソールを使ってシステムを遠隔管理する」

遠隔システムを管理および使用する 

任意のクライアントから、遠隔の Trusted Extensions で Xvnc サーバーを使用して、クライアントにマルチレベルセッションを表示します。 

「Xvnc を使用して Trusted Extensions システムに遠隔アクセスする」

特定ユーザーが大域ゾーンにログインできるようにします。 

Solaris 管理コンソールのユーザーツールやネットワークツールを使用して、特定ユーザーが大域ゾーンにアクセスできるようにします。 

「特定のユーザーが Trusted Extensions の大域ゾーンに遠隔でログインできるようにする」

ProcedureTrusted Extensions でコマンド行から遠隔でログインする


注 –

telnet コマンドは基本および役割のアイデンティティーを pam_roles モジュールに渡すことができないため、このコマンドを使用して遠隔の役割になることはできません。


始める前に

ユーザーと役割は、ローカルシステムと遠隔システムで同一に定義されている必要があります。

役割は、「リモートログイン」承認を持っている必要があります。デフォルトでは、この承認は Remote Administration 、Maintenance、および Repair 権利プロファイルにあります。

セキュリティー管理者は、遠隔で管理できるすべてのシステム上で『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions での役割による遠隔ログインを有効にする」の手順を完了しておきます。システムをラベルなしシステムから管理できる場合は、『Oracle Solaris Trusted Extensions 構成ガイド』「ラベルなしシステムからの遠隔ログインを有効にする」の手順も完了しておいてください。

  1. 役割を引き受けることができるユーザーのワークスペースから、遠隔ホストにログインします。

    rlogin コマンド、ssh コマンド、または ftp コマンドを使用します。

    • rlogin -l または ssh コマンドを使用してログインする場合は、役割の権利プロファイルにあるすべてのコマンドを使用できます。

    • ftp コマンドを使用する場合は、ftp(1) のマニュアルページで使用可能なコマンドを参照してください。

Proceduredtappsession で Trusted Extensions を遠隔管理する

dtappsession プログラムを使用すると、管理者は CDE を実行している遠隔システムを管理することができます。

dtappsession は、遠隔システムにモニターがないときに役立ちます。たとえば、大規模サーバーでドメインを管理するとき、dtappsession がしばしば使用されます。詳細は、dtappsession(1) のマニュアルページを参照してください。

始める前に

ラベル付きシステムでは、大域ゾーンの管理役割である必要があります。ラベルなしシステムでは、遠隔システムで定義されている役割である必要があります。役割のプロファイルシェルから、遠隔ログインを実行します。

  1. (省略可能) 遠隔セッション専用のワークスペースを作成します。

    遠隔の CDE アプリケーションとローカルアプリケーションとの混同を避けるために、この手順専用の管理役割ワークスペースを作成します。詳細は、『Oracle Solaris Trusted Extensions ユーザーズガイド』「特定のラベルのワークスペースを追加する」を参照してください。

  2. 遠隔ホストにログインします。

    rlogin コマンドまたは ssh コマンドを使用することができます。


    $ ssh remote-host
    
  3. 遠隔の管理を開始します。

    端末ウィンドウで、dtappsession コマンドに続いてローカルホストの名前を入力します。


    $ /usr/dt/bin/dtappsession local-host
    

    遠隔ホスト上で実行されているアプリケーションマネージャーが、ローカルホスト上で表示されます。「終了」ダイアログボックスも表示されます。

  4. 遠隔ホストを管理します。

    Trusted CDE から遠隔セッションを起動した場合、Trusted_Extensions フォルダのアクションを使用することができます。

  5. 終了したら、「終了」ボタンをクリックします。

    遠隔ホストの名前と「終了」ボタンを示すダイアログボックス
    注意 – 注意 –

    アプリケーションマネージャーを閉じてもログインセッションは終了しないため、これはお勧めできません。


  6. 端末ウィンドウで、遠隔のログインセッションを終了します。

    hostname コマンドを使用して、ローカルホスト上にいることを確認します。


    $ exit
    $ hostname
    local-host
    

ProcedureTrusted Extensions システムから Solaris 管理コンソールを使ってシステムを遠隔管理する

Solaris 管理コンソールは、ユーザー、権利、役割、およびネットワークを管理するための遠隔管理インタフェースを提供します。コンソールを使用する役割になります。この手順では、コンソールをローカルシステムで実行し、遠隔システムをサーバーとして指定します。

始める前に

次の手順を完了しておきます。

  1. ローカルシステムで、遠隔システム上で同一に定義されているユーザーとしてログインします。

  2. システムの管理に使用する役割になります。

  3. その役割で、Solaris 管理コンソールを起動します。

    詳細は、『Oracle Solaris Trusted Extensions 構成ガイド』「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」を参照してください。

    1. 「サーバー」ダイアログボックスで、遠隔サーバーの名前を入力します。

      • LDAP をネームサービスとして使用している場合、LDAP サーバーの名前を入力します。

        次に、次のスコープのいずれかを選択します。

        • ネームサービスのデータベースを管理するには、Scope=LDAP ツールボックスを選択します。


          このコンピュータ (ldap-server: Scope=LDAP, Policy=TSOL)
        • LDAP サーバーのローカルファイルを管理するには、Scope=Files ツールボックスを選択します。


          このコンピュータ (ldap-server: Scope=Files, Policy=TSOL)
      • LDAP をネームサービスとして使用していない場合、管理する遠隔システムの名前を入力します。

        次に、Scope=Files ツールボックスを選択します。


        このコンピュータ (remote-system: Scope=Files, Policy=TSOL)
  4. 「システムの構成」でツールを選択します。

    「ユーザー」などのツールを選択すると、ダイアログボックスに Solaris 管理コンソールのサーバー名、ユーザー名、役割名、および役割のパスワードを入力する場所が表示されます。それらのエントリが正しいことを確認します。

  5. ローカルシステムと遠隔システムで同一に定義されている役割で、Solaris 管理コンソールサーバーにログインします。

    役割のパスワードを入力し、役割として「ログイン」を押します。これで、Solaris 管理コンソールを使ってシステムを管理できます。


    注 –

    Solaris 管理コンソールを使って dtappsession を実行することもできますが、dtappsession のもっとも簡単な使用方法については、dtappsession で Trusted Extensions を遠隔管理する」に説明されています。


Procedureラベルなしシステムから Solaris 管理コンソールを使ってシステムを遠隔管理する

この手順では、Solaris 管理コンソールのクライアントとサーバーを遠隔システムで実行し、ローカルシステムでコンソールを表示します。

始める前に

Trusted Extensions システムによってラベル ADMIN_LOW がローカルシステムに割り当てられている必要があります。


注 –

Trusted Solaris システムなど、CIPSO プロトコルを実行していないシステムは、Trusted Extensions システムの観点からラベルなしシステムとみなされます。


遠隔システムの Solaris 管理コンソールサーバーは、遠隔接続を受け入れるように構成する必要があります。手順については、『Oracle Solaris Trusted Extensions 構成ガイド』「Solaris 管理コンソール でのネットワーク接続の受け付けを有効にする」を参照してください。

どちらのシステムにも、Solaris 管理コンソールを使用できる同じ役割が割り当てられている同じユーザーが必要です。ユーザーは通常のユーザーのラベル範囲で構いませんが、役割の範囲は ADMIN_LOWADMIN_HIGH である必要があります。

大域ゾーンで、管理者役割になっている必要があります。

  1. ローカルの X サーバーを有効にして遠隔の Solaris 管理コンソールを表示します。


    # xhost + TX-SMC-Server
    # echo $DISPLAY
    :n.n
    
  2. ローカルシステムで、Solaris 管理コンソールの役割を引き受けることができるユーザーになります。


    # su - same-username-on-both-systems
    
  3. そのユーザーで、遠隔サーバーに役割としてログインします。


    $ rlogin -l same-rolename-on-both-systems TX-SMC-Server
    
  4. Solaris 管理コンソールが使用する環境変数に正しい値が設定されていることを確認します。

    1. DISPLAY 変数の値を設定します。


      $ DISPLAY=local:n.n
      $ export DISPLAY=local:n.n
      
    2. LOGNAME 変数の値をユーザー名に設定します。


      $ LOGNAME=same-username-on-both-systems
      $ export LOGNAME=same-username-on-both-systems
      
    3. USER 変数の値を役割名に設定します。


      $ USER=same-rolename-on-both-systems
      $ export USER=same-rolename-on-both-systems
      
  5. その役割で、コマンド行から Solaris 管理コンソールを起動します。


    $ /usr/sbin/smc &
    
  6. 「システムの構成」でツールを選択します。

    「ユーザー」などのツールを選択すると、ダイアログボックスに Solaris 管理コンソールのサーバー名、ユーザー名、役割名、および役割のパスワードを入力する場所が表示されます。それらのエントリが正しいことを確認します。

  7. その役割として、サーバーにログインします。

    役割のパスワードを入力し、役割として「ログイン」を押します。これで、Solaris 管理コンソールを使ってシステムを管理できます。


    注 –

    LDAP サーバーではないシステムからネットワークデータベース情報にアクセスしようとしても、処理に失敗します。コンソールを使用すると、遠隔ホストにログインしてツールボックスを開くことができます。ただし、情報にアクセスしたり情報を変更したりしようとした場合、LDAP サーバーではないシステム上で Scope=LDAP を選択したことを示す、次のエラーメッセージが表示されます。


    Management server cannot perform the operation requested.
    ...
    Error extracting the value-from-tool.
    The keys received from the client were machine, domain, Scope.
    Problem with Scope.

Procedure特定のユーザーが Trusted Extensions の大域ゾーンに遠隔でログインできるようにする

役割がない状態で遠隔ログインできるようにするには、ユーザーのデフォルトのラベル範囲とゾーンのデフォルト動作を変更します。この手順は、ラベル付きシステムを遠隔で使用しているテスターに対して実行する場合があります。セキュリティーのため、テスターのシステムはほかのユーザーと無関係のラベルで実行されている必要があります。

始める前に

このユーザーが大域ゾーンにログインする正当な理由が必要です。

大域ゾーンでセキュリティー管理者役割になります。

  1. 特定のユーザーが大域ゾーンにログインできるようにするためには、そのユーザーに管理ラベルの範囲を割り当てます。

    Solaris 管理コンソールを使用して、ADMIN_HIGH の認可上限と、ADMIN_LOW の最小ラベルを各ユーザーに割り当てます。詳細は、「Solaris 管理コンソールでユーザーのラベル範囲を修正する」を参照してください。

    ユーザーのラベル付きゾーンもログインを許可する必要があります。

  2. ラベル付きゾーンから大域ゾーンに遠隔ログインできるようにするには、次のようにします。

    1. 遠隔ログイン用マルチレベルポートを大域ゾーンに追加します。

      Solaris 管理コンソールを使用します。TCP プロトコル上のポート 513 で遠隔ログインが可能です。例については、「ゾーンにマルチレベルポートを作成する」を参照してください。

    2. tnzonecfg の変更をカーネルに読み込みます。


      # tnctl -fz /etc/security/tsol/tnzonecfg
      
    3. 遠隔ログインサービスを再起動します。


      # svcadm restart svc:/network/login:rlogin
      

ProcedureXvnc を使用して Trusted Extensions システムに遠隔アクセスする

仮想ネットワークコンピューティング (Virtual Network Computing、VNC) テクノロジは、クライアントを遠隔サーバーに接続し、クライアントのウィンドウに遠隔サーバーのデスクトップを表示します。Xvnc は UNIX バージョンの VNC であり、標準 X サーバーをベースにしています。Trusted Extensions では、どのプラットフォーム上のクライアントでも、Trusted Extensions ソフトウェアが実行されている Xvnc に接続して、Xvnc サーバーにログインし、マルチレベルデスクトップ上で表示して作業できます。

始める前に

Xvnc サーバーとして使用するシステムに Trusted Extensions ソフトウェアをインストールして設定しておきます。また、ラベル付きゾーンを作成してブートしておきます。Xvnc サーバーはホスト名または IP アドレスによって VNC クライアントを認識します。

Xvnc サーバーとして使用するシステムの大域ゾーンのスーパーユーザーになります。

  1. Xvnc サーバーを構成します。

    詳細は、Xvnc(1) および vncconfig(1) のマニュアルページを参照してください。


    注意 – 注意 –

    Solaris 10 10/08 または Solaris 10 5/08 リリースを実行している場合、サーバーを構成する前にシステムにパッチを適用してください。SPARC システムでは、パッチ 125719 の最新バージョンをインストールします。x86 システムでは、パッチ 125720 の最新バージョンをインストールします。


    1. X サーバーの構成ディレクトリを作成します。


      # mkdir -p /etc/dt/config
      
    2. /usr/dt/config/Xservers ファイルを /etc/dt/config ディレクトリにコピーします。


      # cp /usr/dt/config/Xservers /etc/dt/config/Xservers
      
    3. /etc/dt/config/Xservers ファイルを編集して、X サーバーや Xorg ではなく Xvnc プログラムを起動します。

      次の例では、パスワードなしでサーバーにログインするようにエントリが構成されています。デスクトップに正常にログインするには、ローカル UID は console ではなく none にします。

      例では表示の便宜上、エントリが分割されています。実際には、エントリは 1 行で入力してください。


      #   :0  Local local_uid@console root /usr/X11/bin/Xserver :0 -nobanner
        :0  Local local_uid@none root /usr/X11/bin/Xvnc :0 -nobanner 
        -AlwaysShared -SecurityTypes None -geometry 1024x768x24 -depth 24

      注 –

      構成の安全性を高めるには、-SecurityTypes VncAuth パラメータを使用してパスワードを要求します。パスワードの要件については、Xvnc(1) のマニュアルページで説明しています。


    4. サーバーを再起動するか、Xvnc サーバーを起動します。


      # reboot
      

      再起動後、Xvnc プログラムが実行されていることを確認します。


      # ps -ef | grep Xvnc
        root  2145  932  0  Jan 18 ?  6:15 /usr/X11/bin/Xvnc :0 -nobanner 
        -AlwaysShared -SecurityTypes None -geometry 1024
  2. Trusted Extensions の Xvnc サーバーの VNC クライアントすべてに対して、VNC クライアントソフトウェアをインストールします。

    クライアントシステムでは、ソフトウェアを選択できます。次の例では、Sun の VNC ソフトウェアを使用します。


    # cd SUNW-pkg-directory
    # pkgadd -d . SUNWvncviewer
    
  3. VNC クライアントの端末ウィンドウで、サーバーに接続します。


    % /usr/bin/vncviewer Xvnc-server-hostname
    
  4. 表示されるウィンドウで、名前とパスワードを入力します。

    ログイン手順に進みます。残りの手順については、『Oracle Solaris Trusted Extensions ユーザーズガイド』「Trusted Extensions へのログイン」を参照してください。

    スーパーユーザーとしてサーバーにログインした場合は、サーバーをすぐに管理できます。一般ユーザーとしてサーバーにログインした場合は、システムを管理する役割になってください。