Secure Global Desktop 4.40 管理者ガイド
> セキュリティー
> SGD セキュリティーサービスと X.509 証明書
X.509 証明書は、エンコードされたファイルであり、Web サーバーなどのセキュアサービスがクライアントにそのサービス自体を特定するのに使用されます。また、セキュリティーサービスを使用可能な SGD サーバーも、同じ方法で証明書を要求します。
X.509 証明書は、認証局 (CA) により生成されます。CA は、特定のサーバー用の証明書を発行する信頼できるサードパーティーです。サーバー用の証明書を取得するには、証明書発行要求 (CSR) を CA に送信します。CA は CSR を受信すると、要求の有効性を検証して、X.509 証明書を返送します。次に、SGD が証明書を使用できるように、X.509 証明書をインストールします。
このページで説明する内容は、次のとおりです。
SGD セキュリティーサービスは、Base 64 エンコードの PEM 形式 X.509 証明書をサポートします。このような証明書は、次のような構造になっています。
-----BEGIN CERTIFICATE----- ... certificate ... -----END CERTIFICATE-----
SGD は、次の認証局 (CA) 証明書 (ルート証明書) を使って署名された X.509 証明書をサポートします。
ほかの CA から取得した X.509 を使用することもできます。ただし、このような証明書は SGD により有効性が検証されていないので、デフォルトでは、すべてのユーザーが証明書を承認するか拒否するかの確認を要求されます。詳細は、「ユーザーへの確認要求と X.509 証明書」を参照してください。追加の設定を行うことにより、新しい CA のサポートを追加したり、中間 CA が X.509 証明書に署名している場合のサポートを追加したりして、ユーザーが確認を要求されずに、証明書の有効性が検証されるようにできます。
次に示す手順を実行して、SGD セキュリティーサービスで使用する X.509 証明書を取得して、インストールします。Web サーバーなど、他のアプリケーション用の X.509 証明書がすでにある場合、その証明書を SGD サーバーと共有することができます。
SGD サーバーで複数の外部 DNS 名機能を使用している場合は、SGD サーバーで使用するすべての DNS 名のリストを所有している必要があります。SGD では、X.509 証明書のサブジェクト代替名 (subjectAlternativeName
) 拡張をサポートしています。したがって、複数の DNS 名を X.509 証明書に関連付けることができます。
tarantella security certrequest
を使って CSR を生成します。次に例を示します。
# tarantella security certrequest \ --country US \ --state Massachusetts \ --orgname "Indigo Insurance"
次のメッセージが表示されます。
The host name to be used in the certificate request is boston.indigo-insurance.com. Do you want to use this hostname? [yes]
注 SGD サーバーが複数の外部 DNS 名で設定されている場合、リスト内の最初の DNS 名がデフォルトで使用されます。
デフォルトのホスト名をそのまま使用する場合、y
と入力します。
デフォルトのホスト名を変更する場合、n
と入力します。
Do you want to use this hostname? [yes] n Enter the fully qualified hostname [boston.indigo-insurance.com] www.indigo-insurance.com
次のメッセージが表示されます。
Do you want to add any additional hostnames? [no]
CSR に別のホスト名を追加しない場合は、Return キーを押します。
y
と入力し、証明書のサブジェクト代替名を入力します。
名前を入力するたびに、Return キーを押します。
別のホスト名の入力を終了するには、Return キーを 2 回押します。
Do you want to add any additional hostnames? [no] y Type in the subject alternative names for the certificate, one per line. Enter a blank line to finish. subjectAltName: boston.indigo-insurance.com subjectAltName:
証明書をテンポラリファイルに保存します (例: /tmp/cert
)。
次のコマンドを実行して、証明書をインストールします。
# tarantella security certuse < /tmp/cert
tarantella security start
コマンドを使用します。
元々、別の製品 (Web サーバーなど) 用として取得した X.509 証明書を SGD で使うには、その証明書の非公開キーにアクセスする必要があります。非公開キーの当初の暗号化に、SSLeay または OpenSSL 証明書ライブラリを使用する製品が利用されている場合は、この暗号化を解除することで非公開キーを入手できます。
非公開キーにアクセスできない場合、またはそのキーが SSLeay または OpenSSL 証明書ライブラリを使用する製品によって暗号化されていない場合は、サーバーごとに異なる X.509 証明書を取得してインストールする必要があります。
非公開キーを暗号化して X.509 証明書をインストールするには、次の手順を実行します。
次に例を示します。
# cp /usr/local/apache/certs/boston.indigo-insurance.com.pem /opt/tarantella/var/tsp/ # cp /usr/local/apache/certs/boston.indigo-insurance.com.key.pem /opt/tarantella/var/tsp/
tarantella security decryptkey
を使用します。次に例を示します。
# tarantella security decryptkey \ --enckey /opt/tarantella/var/tsp/boston.indigo-insurance.com.key.pem \ --deckey /opt/tarantella/var/tsp/boston.indigo-insurance.com.key.out \ --format PEM
tarantella security certuse
コマンドを使って、復号化したキーファイルを使用して X.509 証明書をインストールします。たとえば、次のようにします。
# tarantella security certuse --certfile /opt/tarantella/var/tsp/boston.indigo-insurance.com.pem --keyfile /opt/tarantella/var/tsp/boston.indigo-insurance.com.key.out
tarantella security start
コマンドを使用します。
X.509 証明書は、各 SGD サーバーの /opt/tarantella/var/tsp
ディレクトリに格納されます。
デフォルトでは、SGD は、いくつかの認証局をサポートしています。仕様外の設定が含まれていない場合、サポートしていない認証局 (CA) からの Base 64 でエンコードされた PEM 形式の X.509 証明書を使用できますが、その証明書の有効性は検証されず、ユーザーは証明書を承認するか拒否するかの確認を要求されます。これは、セキュリティーに対する潜在的な危険です。
追加の CA をサポートし、証明書を検証できるようにするには、その CA の証明書 (またはルート証明書) をインストールする必要があります。中間 CA が X.509 証明書に署名している場合は、証明書チェーンを作成してインストールする必要があります。
次の方法で、CA 証明書 (ルート証明書) をインストールします。
次のコマンドを使用します。
# tarantella security customca
PEM 形式のルート証明書を標準入力にペーストします。
サポートしていない CA が X.509 証明書を発行している場合は、ユーザーがサーバーに最初に接続するときに、Sun Secure Global Desktop Client から常に証明書の確認を求められます。ユーザーが証明書を永続的に承認した場合は、それ以降は証明書の確認が求められることはありません。ユーザーが証明書の確認を求められないようにするには、次のようにする必要があります。
certstore.pem
ファイルに追加します。証明書は各ホストの /opt/tarantella/var/tsp/cert.pem
ファイルにあります。certstore.pem
ファイルは、ユーザーのクライアントプロファイルキャッシュと同じ場所に保存されます。hostsvisited
ファイルに追加します。これらの詳細を取得するには、各ホスト上で tarantella security fingerprint
コマンドを使用します。hostsvisited
ファイルは、ユーザーのクライアントプロファイルキャッシュと同じ場所に保存されます。tarantella security start
コマンドを使用します。
チェーニングを使うと、複数の中間認証局を使用することができます。たとえば、X.509 サーバー証明書は、ある中間認証局によって発行され、その中間認証局自体の証明書は別の認証局によって発行されることがあります。
この方法で発行された X.509 サーバー証明書を SGD と一緒に使用できます。ただし、チェーン内のすべてのリンク用の証明書を連結してからインストールする必要があります。次の手順を実行します。
たとえば、mychainedcerts.pem
という名前のファイルを作成します。
X.509 証明書の署名に使う CA の証明書は、先頭に格納する必要があります。次に例を示します。
-----BEGIN CERTIFICATE----- ... Intermediate CA's certificate ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... CA root certificate ... -----END CERTIFICATE-----
次のコマンドを使用します。
# tarantella security customca --rootfile mychainedcerts.pem
tarantella security start
コマンドを使用します。
チェーン内の証明書が破壊されている場合や、証明書が無効な場合、ユーザーが SGD にログインしようとすると「権限の証明書が認識されません」というメッセージが表示されて、アクセスを拒否されます。
SGD Web Server はセキュア (HTTPS) Web サーバーとしてあらかじめ設定されており、SGD サーバーと同じ X.509 証明書を使用します。これは、Apache の構成ファイル /opt/tarantella/webserver/apache/apache_version/conf/httpd.conf
内で設定されています。
SGD Web Server への HTTPS 接続の有効化の詳細については、「クライアントデバイスと SGD サーバー間の接続の保護」を参照してください。
Copyright © 1997-2007 Sun Microsystems, Inc. All rights reserved.