クライアント認証をサポートするクライアント (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 コマンドで、次の操作を実行できます。
既知のクライアントおよびそのステータスに関連付けられている鍵を一覧表示する
クライアント鍵の真正性を検証したあとに確認する複数の未確認の鍵がクライアントに格納されている場合、いずれかが真正であると確認されるとほかのすべての鍵は削除されます。
無効なまたは古い鍵エントリを削除する
すべてのまたは選択されたクライアント識別情報の鍵データを、バックアップのためまたはほかの Sun Ray サーバーインスタンスに転送するためにエクスポートする
このまたは別の Sun Ray サーバーインスタンスでエクスポートされた鍵データをインポートする
クライアントの管理 GUI の「デスクトッププロパティー」ページで、クライアントに関連付けられている鍵を表示、確認、または削除することもできます。
鍵フィンガープリントは鍵の名前で、ユーザーが見ることができるものです。鍵フィンガープリントは、MD5 ハッシュによって公開鍵データに基づいて生成されます。
鍵パネルに、クライアントの鍵フィンガープリントを表示できます。鍵パネルを表示するには、Oracle キーボードで Stop-K を押すか、Oracle 以外のキーボードで Ctrl-Pause-K を押します。クライアント鍵の真正性を確認するために、クライアントの鍵パネルに表示される鍵フィンガープリントと、同じクライアントの utkeyadm コマンドで表示される鍵フィンガープリントを比較できます。
Sun Ray クライアント鍵は、最初は未確認とみなされ、人間の介入によって特定のクライアントに対して真正として確認済みにする必要があります。Oracle Virtual Desktop Client 鍵は、Desktop Access Client が識別される ID がその鍵から一意に派生されるため、常に自動的に確認済み (自動確認) とみなされます。
次の手順は、クライアントへのアクセスが許可される前に確認済み鍵が必要というポリシーを設定します。より強力なポリシーを設定するには、「すべてのクライアントからクライアント認証を強制する方法」で説明しているように、すべてのクライアントからクライアント認証を要求するセキュリティーポリシーを設定することをお勧めします。
現在のポリシーを表示します。
# utpolicy Current Policy: -a -g -z both -k pseudo -u pseudo
-c
オプションでクライアント認証ポリシーを設定します。
# utpolicy -a -g -z both -k pseudo -u pseudo -c
Sun Ray サービスを再起動します。
# utstart
「詳細」 > 「システムポリシー」
タブページで、「クライアント認証」セクションの「クライアント鍵確認が必要」オプションを選択します。
サーバーグループ内のすべてのサーバーを再起動します。
この手順は、競合しているまたは未確認の鍵が原因で、クライアントが鍵エラー (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 .
単一クライアントの「デスクトップユニットプロパティー」ページに移動します。
クライアント鍵の表で、単一鍵を選択して「確認」をクリックします。
鍵確認を必要とするすべてのクライアントがサーバーグループに接続されていることを確認し (それらの本物の鍵がサーバーに格納されている)、不要なクライアントがサーバー上に格納された鍵を持っていないことを確認した場合は、すべての既知の未確認鍵を簡単に確認できます。競合している鍵がクライアントに存在する場合、そのクライアントはスキップされます。
すべてのクライアント鍵を表示します。
# 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
すべての未確認クライアント鍵を確認します。
# utkeyadm -a -U Skipping cid=IEEE802.00000f85f52f: Multiple (2) keys found. 2 keys confirmed.
前の例を使用すると、IEEE802.00000fe4d445
および IEEE802.000000ee0d6b
の未確認クライアント鍵が確認されます。
クライアントの鍵フィンガープリントを表示するには、Oracle キーボードで Stop-K キーの組み合わせを押すか、Oracle 以外のキーボードで Ctrl-Pause-K を押します。
鍵パネルが表示されない場合は、クライアント認証をサポートしない古いファームウェアがクライアントにインストールされている可能性があります。
メッセージ「利用できる鍵がありません
」が表示される場合は、クライアントにまだ MfgPkg
が事前インストールされているか、バグが存在します。
次の手順は、データストア内のクライアント鍵を表示する方法を示します。クライアント鍵を表示するための追加オプションについては、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
複数のクライアントの場合は、「デスクトップユニット」タブをクリックします。
「クライアント鍵ステータス」列には、クライアント鍵のステータスが確認済みまたは未確認か、クライアントの複数の未確認鍵が競合しているかどうか、またはクライアントに鍵が存在するかどうかが示されます。「クライアント鍵ステータス」に表示される可能性のある値は、「なし」、「未確認」、「確認済み」、「競合」、「自動」、または「無効」です。
次の手順は、データストア内のクライアント鍵を表示する方法を示します。クライアント鍵を表示するための追加オプションについては、utkeyadm
のマニュアルページを参照してください。
utkeyadm コマンドを使用します。
# utkeyadm [-l|-L] -c cid
-H
ここで、
はクライアントのデスクトップ ID で、cid
-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 -
単一クライアントの場合は、「デスクトップユニットプロパティー」ページに移動します。
「クライアント鍵」に、クライアントの既知の鍵とそれらのステータスが表示されます。
特定のクライアント鍵を削除するには、次のコマンドを使用します。
# utkeyadm -d -ccid
-kkey-id
ここで、
は鍵が属しているデスクトップのデスクトップ ID、cid
は鍵フィンガープリントです。
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 .