11.3. クライアント鍵の管理

11.3.1. 鍵フィンガープリント
11.3.2. 未確認鍵を持つクライアントへのアクセスを拒否する方法
11.3.3. 特定のクライアント鍵を確認する方法
11.3.4. すべての未確認クライアント鍵を確認する方法
11.3.5. Sun Ray クライアントからクライアントのフィンガープリント鍵を表示する方法
11.3.6. すべてのクライアント鍵を表示する方法
11.3.7. 特定のクライアントのすべての鍵を表示する方法
11.3.8. 特定のクライアント鍵を削除する方法
11.3.9. 特定のクライアントのすべてのクライアント鍵を削除する方法

クライアント認証をサポートするクライアント (Sun Ray クライアントまたは Oracle Virtual Desktop Client) は、クライアント認証用の公開 - 非公開鍵ペアを持っています。クライアント用の鍵ペアは、クライアントが適切なファームウェアで最初にブートするときに生成されます。

注記

古いバージョンのファームウェアまたは工場から出荷された Sun Ray クライアントに事前インストールされたファームウェアは、鍵を生成せず、クライアント認証をサポートしません。インストール済みファームウェアを識別するには、インストール済みファームウェアのバージョンが MfgPkg で始まることに注目してください。鍵が生成されるには、Sun Ray クライアントのファームウェアを更新する必要があります。

クライアントがサーバーに接続されていて、クライアント認証が有効になっているときは、クライアントはその公開鍵とクライアント識別子をサーバーに送信します。Sun Ray クライアントの場合、クライアント識別子は MAC アドレスです。サーバーが最初に確認できるのはクライアントが送信された鍵の所有者であることだけで、クライアントが送信されたクライアント ID を正規に使用しているかどうかは確認できません。

Sun Ray サーバーは、既知のクライアントとそれらの公開鍵のリストを Sun Ray データストアに格納します。格納された鍵は、特定のクライアントの鍵の真正性が人間の介入によって確認されたことを示すために、確認済みとマークできます。確認済みとマークされたクライアントの鍵がない場合には、クライアント認証機能が保証できるのは、クライアント識別子が異なる鍵を持つ複数の異なるクライアントによって使用されていないことだけです。鍵が確認されて確認済みとしてマークされたときにのみ、クライアント認証は実際にクライアントの識別情報を認証できます。

注記

Oracle Virtual Desktop Client 用の鍵は、データストアに格納されず、utkeyadm コマンドまたは管理 GUI では表示されません。Oracle Virtual Desktop Client は代わりにその鍵フィンガープリントをクライアント識別子として使用することで、特定の ID の鍵の真正性が自動的に確立されます。詳細については、「鍵フィンガープリント」を参照してください。

デフォルトでは、確認されていない鍵を持つクライアントは、クライアントの識別情報が異なる鍵で使用されていない限り、セッションが付与されます。クライアントに送信された複数の鍵がこのクライアントのセッションでの攻撃を示している場合があり、その場合このクライアントのセッションアクセスは拒否されます。ユーザーがクライアントへのアクセスを再度有効にするには、いずれかの鍵が真正であることを明示的に確認する必要があります。

認証済みクライアント識別情報を要求し、utpolicy コマンドまたは管理 GUI を使用して鍵が検証および確認されていないクライアントへのアクセスを拒否するという、より厳格なポリシーを選択できます。このポリシーを使用することを選択した場合、新しいクライアントを使用する前にそれぞれのクライアントの鍵を「確認済み」として明示的にマークする必要があります。このポリシーを十分に活用するために、セキュリティー構成内でクライアント認証モードを「ハード」に設定することもお勧めします。

クライアント識別情報とそれらに関連付けられた鍵を管理するために、utkeyadm コマンドを使用できます。クライアントに使用されるすべての鍵は、鍵管理ツールで一覧表示されます。

utkeyadm コマンドで、次の操作を実行できます。

クライアントの管理 GUI の「デスクトッププロパティー」ページで、クライアントに関連付けられている鍵を表示、確認、または削除することもできます。

11.3.1. 鍵フィンガープリント

鍵フィンガープリントは鍵の名前で、ユーザーが見ることができるものです。鍵フィンガープリントは、MD5 ハッシュによって公開鍵データに基づいて生成されます。

鍵パネルに、クライアントの鍵フィンガープリントを表示できます。鍵パネルを表示するには、Oracle キーボードで Stop-K を押すか、Oracle 以外のキーボードで Ctrl-Pause-K を押します。クライアント鍵の真正性を確認するために、クライアントの鍵パネルに表示される鍵フィンガープリントと、同じクライアントの utkeyadm コマンドで表示される鍵フィンガープリントを比較できます。

11.3.2. 未確認鍵を持つクライアントへのアクセスを拒否する方法

Sun Ray クライアント鍵は、最初は未確認とみなされ、人間の介入によって特定のクライアントに対して真正として確認済みにする必要があります。Oracle Virtual Desktop Client 鍵は、Desktop Access Client が識別される ID がその鍵から一意に派生されるため、常に自動的に確認済み (自動確認) とみなされます。

次の手順は、クライアントへのアクセスが許可される前に確認済み鍵が必要というポリシーを設定します。より強力なポリシーを設定するには、「すべてのクライアントからクライアント認証を強制する方法」で説明しているように、すべてのクライアントからクライアント認証を要求するセキュリティーポリシーを設定することをお勧めします。

コマンド行での手順

  1. 現在のポリシーを表示します。

    # utpolicy
    Current Policy:
    -a -g -z both -k pseudo -u pseudo
  2. -c オプションでクライアント認証ポリシーを設定します。

    # utpolicy -a -g -z both -k pseudo -u pseudo -c
  3. Sun Ray サービスを再起動します。

    # utstart

管理 GUI での手順

  1. 「詳細」 > 「システムポリシー」タブページで、「クライアント認証」セクションの「クライアント鍵確認が必要」オプションを選択します。

  2. サーバーグループ内のすべてのサーバーを再起動します。

11.3.3. 特定のクライアント鍵を確認する方法

この手順は、競合しているまたは未確認の鍵が原因で、クライアントが鍵エラー (49) またはセッション拒否 (50) アイコンを受信した場合に必要です。鍵が確認されたあとに変更後のセッションにアクセスするには、リブートするかまたはスマートカードを挿入して取り出すことで、クライアントを切断する必要があります。

始める前に

  • すべてのまたは特定のクライアントの未確認鍵 (鍵フィンガープリント) を表示します。

  • 未確認クライアント鍵がそのクライアントに実際に属しているかどうかを確認するために、Stop-K を押すことでクライアントの鍵フィンガープリントを表示してください。

コマンド行での手順

# utkeyadm -a -c IEEE802.000000ee0d6b
1 key confirmed .
# utkeyadm -a -c IEEE802.00000f85f52f -k 1c:d4:b9:31:9d:f0:00:ba:db:ad:65:6c:8e:80:4d:b3
1 key confirmed .

管理 GUI での手順

  1. 単一クライアントの「デスクトップユニットプロパティー」ページに移動します。

  2. クライアント鍵の表で、単一鍵を選択して「確認」をクリックします。

11.3.4. すべての未確認クライアント鍵を確認する方法

鍵確認を必要とするすべてのクライアントがサーバーグループに接続されていることを確認し (それらの本物の鍵がサーバーに格納されている)、不要なクライアントがサーバー上に格納された鍵を持っていないことを確認した場合は、すべての既知の未確認鍵を簡単に確認できます。競合している鍵がクライアントに存在する場合、そのクライアントはスキップされます。

  1. すべてのクライアント鍵を表示します。

    # utkeyadm -l -H

    たとえば:

    # utkeyadm -l -H
    CID TYPE KEY-FINGERPRINT STATUS
    IEEE802.00000adc1a7a DSA* 4f:98:25:60:3b:fe:00:ba:db:ad:56:32:c3:e2:8b:3e confirmed
    IEEE802.00000f85f52f DSA* 1c:d4:b9:31:9d:f0:00:ba:db:ad:65:6c:8e:80:4d:b3 unconfirmed
    IEEE802.00000f85f52f DSA* 4f:98:25:60:3b:fe:00:ba:db:ad:56:32:c3:e2:8b:3e unconfirmed
    IEEE802.00000fe4d445 DSA* 13:d0:d4:47:aa:7f:00:ba:db:ad:26:3a:17:25:11:24 unconfirmed
    IEEE802.000000ee0d6b DSA* d0:d7:d0:57:12:18:00:ba:db:ad:b7:0f:5a:c0:8b:13 unconfirmed
  2. すべての未確認クライアント鍵を確認します。

    # utkeyadm -a -U
    Skipping cid=IEEE802.00000f85f52f: Multiple (2) keys found.
    2 keys confirmed.

    前の例を使用すると、IEEE802.00000fe4d445 および IEEE802.000000ee0d6b の未確認クライアント鍵が確認されます。

11.3.5. Sun Ray クライアントからクライアントのフィンガープリント鍵を表示する方法

クライアントの鍵フィンガープリントを表示するには、Oracle キーボードで Stop-K キーの組み合わせを押すか、Oracle 以外のキーボードで Ctrl-Pause-K を押します。

鍵パネルが表示されない場合は、クライアント認証をサポートしない古いファームウェアがクライアントにインストールされている可能性があります。

メッセージ「利用できる鍵がありません」が表示される場合は、クライアントにまだ MfgPkg が事前インストールされているか、バグが存在します。

11.3.6. すべてのクライアント鍵を表示する方法

次の手順は、データストア内のクライアント鍵を表示する方法を示します。クライアント鍵を表示するための追加オプションについては、utkeyadm のマニュアルページを参照してください。

コマンド行での手順

  • utkeyadm コマンドを使用します。

    # utkeyadm -l -H

    たとえば:

    # utkeyadm -l -H
    CID TYPE KEY-FINGERPRINT STATUS
    IEEE802.00000adc1a7a DSA* 4f:98:25:60:3b:fe:00:ba:db:ad:56:32:c3:e2:8b:3e confirmed
    IEEE802.00000f85f52f DSA* 1c:d4:b9:31:9d:f0:00:ba:db:ad:65:6c:8e:80:4d:b3 unconfirmed
    IEEE802.00000f85f52f DSA* 4f:98:25:60:3b:fe:00:ba:db:ad:56:32:c3:e2:8b:3e unconfirmed
    IEEE802.00000fe4d445 DSA* 13:d0:d4:47:aa:7f:00:ba:db:ad:26:3a:17:25:11:24 unconfirmed
    IEEE802.000000ee0d6b DSA* d0:d7:d0:57:12:18:00:ba:db:ad:b7:0f:5a:c0:8b:13 unconfirmed

管理 GUI での手順

  • 複数のクライアントの場合は、「デスクトップユニット」タブをクリックします。

    「クライアント鍵ステータス」列には、クライアント鍵のステータスが確認済みまたは未確認か、クライアントの複数の未確認鍵が競合しているかどうか、またはクライアントに鍵が存在するかどうかが示されます。「クライアント鍵ステータス」に表示される可能性のある値は、「なし」、「未確認」、「確認済み」、「競合」、「自動」、または「無効」です。

11.3.7. 特定のクライアントのすべての鍵を表示する方法

次の手順は、データストア内のクライアント鍵を表示する方法を示します。クライアント鍵を表示するための追加オプションについては、utkeyadm のマニュアルページを参照してください。

コマンド行での手順

  • utkeyadm コマンドを使用します。

    # utkeyadm [-l|-L] -c cid -H
    

    ここで、cid はクライアントのデスクトップ ID で、-L は追加監査情報を表示します。

次の例は、IEEE802.0003ba0d93af クライアントのすべての鍵を追加監査情報と一緒に表示しています。

# utkeyadm -L -c IEEE802.0003ba0d93af -H
CID TYPE KEY-FINGERPRINT STATUS CREATED CONFIRMED CONFIRMED BY
IEEE802.0003ba0d93af DSA* 4f:98:25:60:3b:fe:d6:f8:fb:38:56:32:c3:e2:8b:3e unconfirmed 
2009-06-01 05:08:50 UTC -

管理 GUI での手順

  • 単一クライアントの場合は、「デスクトップユニットプロパティー」ページに移動します。

    「クライアント鍵」に、クライアントの既知の鍵とそれらのステータスが表示されます。

11.3.8. 特定のクライアント鍵を削除する方法

  • 特定のクライアント鍵を削除するには、次のコマンドを使用します。

    # utkeyadm -d -c cid -k key-id
    

    ここで、cid は鍵が属しているデスクトップのデスクトップ ID、key-id は鍵フィンガープリントです。

    たとえば:

    # utkeyadm -d -c IEEE802.00000f85f52f -k 1c:d4:b9:31:9d:f0:00:ba:db:ad:65:6c:8e:80:4d:b3
    1 key deleted .

11.3.9. 特定のクライアントのすべてのクライアント鍵を削除する方法

  • 特定のクライアントのすべてのクライアント鍵を削除するには、次のコマンドを入力します。

    # utkeyadm -d -c cid
    

    cid は、鍵が属しているデスクトップのデスクトップ ID です。

    たとえば:

    # utkeyadm -d -c IEEE802.00000f85f52f
    2 keys deleted.