![]() |
Sun ONE Application Server 7 セキュリティ管理者ガイド |
証明書の管理この章では、Sun ONE Application Server 7 環境で信頼データベース、証明書、および証明書に関するリストを設定、管理する方法について説明します。
この節には次のトピックがあります。
証明書と認証について
認証とは、同一性 (ID) を確認するためのプロセスのことです。ネットワークを利用した対話の中で、一方のグループは、認証によって他方のグループとの同一性を識別します。証明書は、認証をサポートする方法の 1 つです。
証明書は、個人や企業などのエンティティの名前を指定するデジタルデータで、そのエンティティが所属する証明書に含まれる公開鍵を証明します。クライアントとサーバーの両方が証明書を持つことができます。
証明書は、証明書発行局 (CA) によって発行され、デジタル署名されます。CA は、インターネットを通じて証明書を販売する企業。または、企業のイントラネットまたはエクストラネットの証明書発行を担当する部門です。他者の ID を検証する手段として、どの CA が信頼に足るかを決定します。
証明書によって識別されるエンティティの名前と公開鍵のほかに、証明書には有効期限、証明書を発行した CA の名前、発行元 CA のデジタル署名が記録されています。証明書の内容と形式については、次のサイトの「Introduction to SSL」を参照してください。
http://docs.sun.com/db/prod/3802#hic
基本的なセキュリティの設定手順は次のとおりです。
- 信頼データベースを作成します。
「信頼データベースの作成」を参照してください。
- 証明書を要求します。
「証明書の要求」を参照してください。
- 証明書をインストールします。
「証明書のインストール」を参照してください。
- 暗号化を有効にします。
「SSL/TLS 暗号化の管理」を参照してください。
証明書に関するその他の管理タスクについては、「証明書の管理」および「CRL と CKL の管理」で説明します。
信頼データベースの実装
Sun ONE Application Server では、管理サーバーと各サーバーインスタンスは、それぞれが専用の証明書とキーペアファイルを持ちます。これを信頼データベースと呼んでいます。
注 サーバー証明書を要求する前に、信頼されているエンティティを識別する信頼データベースを作成する必要があります。
信頼データベースには、作成した公開鍵と秘密鍵を保存します。これをキーペアファイルと呼びます。キーペアファイルは、SSL 暗号化に使用されます。キーペアファイルは、サーバー証明を要求およびインストールするときに使われます。インストールした証明書は、信頼データベースに格納されます。キーペアファイルは暗号化され、インスタンスの /config ディレクトリに保存されます。
管理サーバーは 1 つの信頼データベースだけを持ち、各サーバーインスタンスはそれぞれに専用の信頼データベースを持ちます。証明書とキーペアデータベースファイルの名前は、それを使用するサーバーインスタンスの名前に基づいてつけられます。仮想サーバーの信頼データベースには、それぞれのサーバーインスタンスの信頼データベースが使われます。
管理者は、信頼データベースとその内容 (サーバー証明書とそこに含まれるすべての CA) を管理します。
この節では次の項目について説明します。
信頼データベースの作成
信頼データベースを作成する場合は、キーペアファイルで使われるパスワードを指定します。このパスワードは、暗号化された通信を使ってサーバーを起動するときにも使われます。
ローカルマシンに信頼データベースを作成する場合は、管理インタフェースで次の手順を実行します。
- 「アプリケーションサーバーインスタンス」にアクセスし、サーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「データベースの管理」をクリックします。
- 「データベースを作成」リンクをクリックします。
「信頼データベースの初期化」ページが表示されます。
   「信頼データベースの作成」ページ
![]()
- データベースのパスワードを入力します。
- もう一度パスワードを入力します。
- 「了解」をクリックします。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。
信頼データベースのパスワードの変更
信頼データベースのパスワードを変更するときは、管理インタフェースで次の手順を実行します。
- 「アプリケーションサーバーインスタンス」にアクセスし、サーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「データベースの管理」をクリックします。
- 「パスワード変更」リンクをクリックします。
「キーペアファイルのパスワード変更」ページが表示されます。
- ドロップダウンリストから暗号化モジュールを選択します。
- 古いパスワードを入力します。
- 新しいパスワードを入力します。
- 新しいパスワードをもう一度入力します。
- 「了解」をクリックします。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。
証明書の実装
サーバーの信頼データベースを作成すると、証明書を要求し、それを CA に提出できるようになります。企業に独自の社内 CA がある場合は、そこに証明書を要求します。社外の CA から証明書を購入する場合は、CA を選択し、その CA 専用の情報書式について確認します。
管理サーバーのサーバー証明書は 1 つだけです。各サーバーインスタンスに専用のサーバー証明書を持たせることができます。仮想サーバーごとにサーバーインスタンスの証明書を選択できます。
次の各項では、証明書の実装について説明します。
必要な CA 情報
証明書を要求する前に、選択した CA が必要とする情報を把握しておく必要があります。社外の CA または社内の CA にサーバー証明書を要求する場合は、次のような情報が必要になります。
- 共通名 - DNS ルックアップで使用されるホストの完全修飾名 (たとえば、www.sun.com)。これは、サイトへの接続でブラウザが使用する URL に含まれるホスト名。2 つの名前が一致しない場合は、クライアントは証明書の名前とサイト名が一致しないという通知を受け取るため、証明書の信用度が疑われる可能性がある。一部の CA は別の情報を必要とするため、各 CA に確認する必要がある
社内の CA に証明書を要求する場合は、このフィールドにワイルドカードや正規表現を入力することもできる。ただし、ほとんどのベンダーは共通名にワイルドカードや正規表現が入力された証明書要求を認めていない
- 電子メールアドレス - 社用電子メールアドレス。CA との連絡に使われる
- 組織名 - 所属する企業や教育機関などの公式名称。ほとんどの CA は、この情報を事業許可書などの公的文書で検証する
- 部署名 - 社内の部署を識別するオプションフィールド。「Inc.」や「Corp.」などを省略した略式の企業名の指定にも利用できる
- 場所 - 企業が立地する都市、地域、または国を示すオプションフィールド
- 都道府県名 - 通常は必須フィールドだが、一部の CA ではオプション。ほとんどの CA は略号を受け付けないため、確認が必要
- 国 - ISO 形式による 2 文字の国別コードを入力する必須フィールド。アメリカ合衆国の国別コードは「US」
すべての情報は、一連の属性値のペアとして組み合わされます。これを識別名 (DN) と呼び、証明書の対象を一意に識別します。
社外の CA から証明書を購入する場合は、証明書の発行を受ける前に、その CA が必要とする追加情報について確認する必要があります。ほとんどの CA では、申請者の身分証明を必要とします。たとえば、CA は企業名とサーバーの管理を会社から任された担当者の名前を検証します。また、情報を提出する法的な権限が提出者にあるかどうかを証明することが必要な場合もあります。
一部の社外の CA は、より詳細な識別情報を提出した企業または個人に対し、より詳細で信憑性の高い証明書を発行します。たとえば、管理者が www.your_company.com コンピュータの正規管理者であるだけでなく、会社の事業年数が 3 年で、顧客との係争が現在存在しないことを CA が検証したことを証明する証明書を購入することができます。
証明書の要求
信頼データベースを作成すると、証明書を要求できるようになります。
CA に証明書を要求するときは、管理インタフェース で次の手順を実行します。
- 「アプリケーションサーバーインスタンス」にアクセスし、左のペインでサーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「証明書の管理」を選択します。
- 「要求」リンクをクリックします。
「サーバー証明書の要求」ページが表示されます。
   「サーバー証明書の要求」ページ
![]()
- 新規証明書の発行か、証明書の書き換えのどちらかを選択します。
多くの証明書は、半年または 1 年など、一定期間が経過すると失効します。一部の CA は、書き換え済みの証明書を自動的に送付します。
- 次の手順を実行して、証明書の要求をどのように送信するかを指定します。
要求を電子メールメッセージで受信する CA の場合は、「CA 電子メール」をチェックして CA の電子メールアドレスを入力します。CA のリストから選択するときは、リストをクリックして証明書発行局を選択します。
Sun ONE Certificate Server を使用する社内の CA に証明書を要求する場合は、「証明書発行局 URL」のチェックボックスをクリックし、証明書サーバーの URL を入力します。この URL は、証明書の要求を処理する証明書サーバーのプログラムに直接アクセスするものにします。
- ドロップダウンリストから証明書を要求する場合は、使用するキーペアファイルの暗号化モジュールを選択します。
- キーペアファイルのパスワードを入力します。
内部モジュール以外の暗号化モジュールを選択していなければ、これは、信頼データベースの作成時に指定したパスワードです。サーバーはこのパスワードを使って申請者の秘密鍵を取得し、CA へのメッセージを暗号化します。次に、サーバーは公開鍵と暗号化されたメッセージの両方を CA に送信します。CA は公開鍵を使ってメッセージを復号化します。
- 申請者の識別情報を入力します。
   サーバー証明書識別情報の要求
![]()
この情報の形式は CA によって異なります。
- 入力した情報に誤りがないことを確認します。
情報が正確なほど証明書の承認が迅速に行われます。証明書サーバーに要求を送信する場合は、要求を送信する前に入力情報を確認する画面が表示されます。
- 「了解」をクリックします。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。
入力した情報を含む証明書要求をサーバーが生成します。要求には、申請者の秘密鍵を使って作成したデジタル署名が埋め込まれます。CA は、サーバーマシンから CA へのルーティングの最中に要求が改ざんされていないことを、デジタル署名を使って検証します。証明書に改ざんの形跡が残る特殊な場合には、CA は申請者に電話で連絡します。
要求を電子メールで送信する場合、サーバーは要求の内容を電子メールメッセージとして作成し、それを CA に送信します。この場合、通常は電子メール経由で証明書が送られてきます。証明書サーバーの URL を指定した場合は、サーバーは指定された URL を使って証明書サーバーに要求を送信します。応答が電子メール経由で得られるかどうかは、CA によって異なります。
CA が証明書の発行に同意すると、申請者に通知が送られます。ほとんどの場合、CA は電子メール経由で証明書を送信します。証明書サーバーを利用している企業では、証明書サーバーの書式を使って証明書を検索できることがあります。
注 社外の CA に証明書を要求する誰もが証明書を取得できるとは限りません。多くの CA では、証明書の発行前に申請者の身分照会を義務づけています。承認を得るまでには、1 日〜 2 か月を要します。すべての必要情報を CA に迅速に提供する必要があります。
証明書を受け取ると、それをインストールできるようになります。それ以前でも、暗号化なしでサーバーを使用できます。
証明書のインストール
CA から受け取る証明書は、申請者だけが暗号解除できるように、申請者の公開鍵で暗号化されています。信頼データベースの正しいパスワードを入力すると、証明書の暗号を解除してインストールできるようになります。
証明書には次の 3 種類があります。
- クライアントに提示する所有サーバーの証明書
- 証明書チェーンに使用する CA 固有の証明書
証明書チェーンは、一連の証明書発行局が署名した階層構造の証明書セットである。CA 証明書は CA を識別し、その発行局が発行した証明書への署名に使われる。CA 証明書は、親 CA の CA 証明書を使って署名されており、それがルート CA まで続く
- 信頼されている CA の証明書
注 CA が CA 証明書を自動的に送付しない場合は、別途要求する必要があります。多くの CA は、電子メールで申請者の証明を送付する際に CA 証明書も一緒に送付します。サーバーには両方の証明書を同時にインストールします。
サーバーは、指定されたキーペアファイルパスワードを使ってインストール時に証明書の暗号を解除します。サーバーからアクセス可能な場所に電子メールを保存するか、電子メールのテキストをコピーし、ここで紹介する方法で「証明書をインストール」書式に貼り付けることができるように準備します。
CA から送付された証明書をインストールするときは、管理インタフェースで次の手順を実行します。
- 「アプリケーションサーバーインスタンス」にアクセスし、左のペインでサーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「証明書の管理」を選択します。
- 「インストール」リンクをクリックします。
「サーバー証明書のインストール」ページが表示されます。
   「サーバー証明書のインストール」ページ
![]()
- インストールする証明書の種類を選択します。
「このサーバー」 - そのサーバーだけに関連づけられる 1 つの証明書
「サーバー証明書チェーン」 - 証明書チェーンに含まれる CA の証明書
「信頼できる証明書発行局」 - クライアントの認証に信頼できる CA として受け入れる CA の証明書
- ドロップダウンリストから暗号化モジュールを選択します。
- キーペアファイルのパスワードを入力します。
- このサーバーインスタンスだけで使う場合は、証明書名の欄には何も入力しません。ただし、次の場合は適切な情報を入力してください。
   証明書インストール時のメッセージ情報
![]()
- 次のいずれかを選択します。
「メッセージのファイル」: この場合は、保存した電子メールの完全パス名を入力する
「メッセージテキスト (ヘッダ付き)」: この場合は、電子メールのテキストを貼り付ける
コピーしたテキストを貼り付ける場合は、最初と最後のハイフンも含め、「Begin Certificate」と「End Certificate」のヘッダーもコピーするように注意する
- 「了解」をクリックします。
- 次のいずれかを選択します。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。
証明書がサーバーの証明書データベースに格納されます。このデータベースのファイル名は、cert7.db です。
内蔵のルート証明書モジュールの使用
Sun ONE Application Server に含まれる動的にロードできる証明書モジュールには、多くの CA のルート証明書が含まれています。ルート証明書モジュールを利用することで、ルート証明書を簡単にアップグレードできます。有名な CA 証明書をインストールするには、Sun ONE Application Server の将来のバージョンやサービスパックに含まれる新しいルート証明書モジュールファイルで古いファイルを更新します。
ルート証明書は PKCS11 暗号化モジュールの一部として実装されるので、そこに含まれるルート証明書を削除することはできません。また、これらの証明書を管理している間は、それを削除するオプションは提供されません。サーバーインスタンスからルート証明書を削除するには、サーバーの alias ファイルから次の要素を削除して、ルート証明書モジュールを無効化します。
- libnssckbi.so (ほとんどの UNIX プラットフォーム)
- install_directory/bin/ の下にある nssckbi.dll (Windows 環境)
注 ルート証明書の信頼性情報を変更することができます。信頼性情報は、情報を変更するサーバーインスタンスの証明書データベースに書き込まれ、ルート証明書モジュール自体は変更されません。
証明書の管理
サーバーにインストールされているさまざまな証明書の信頼性設定を、表示または削除することができます。これには、そのサーバー用の証明書だけでなく、CA の証明書も含まれます。証明書情報には、所有者と発行者が記録されています。
信頼性設定を使って、クライアントの信頼性を設定したり、サーバーの信頼性を解除したりすることができます。LDAP サーバー証明書では、サーバーは信頼されている必要があります。
証明書を管理するには、管理インタフェースで次の手順を実行します。
- 「アプリケーションサーバーインスタンス」にアクセスし、サーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「証明書の管理」を選択します。
- 「管理」リンクをクリックします。
内部暗号化モジュールを使って証明書のデフォルト設定を管理している場合は、インストールされているすべての証明書とその種類、および有効期限が表示される。すべての証明書は instance_dir/config ディレクトリに格納されている。
ハードウェアアクセラレータなどの外部の暗号化モジュールを使っている場合は、各モジュールのパスワードを入力して「了解」をクリックする必要がある。リストが更新され、そのモジュールの証明書が表示される
- 管理する「証明書名」をクリックします。
「サーバー証明書の編集」ページに、証明書の管理オプションが表示されます。
- 「サーバー証明書の編集」ウィンドウでは、次の項目を選択できます。
内部で取得した証明書の場合 - 「証明書削除」または「終了」
CA 証明書の場合 - 「クライアントの信頼を設定」、「サーバーの信頼を解除」、または「終了」
注 クライアントの信頼を設定または解除できるのは、CA 証明書に対してだけです。外部の暗号化モジュールの中には、証明書を削除できないものもあります。
編集内容を確認する画面が表示されます。
- 「了解」または「取消し」を選択します。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。
CRL と CKL の管理
CRL (証明書失効リスト) と CKL (危殆化キーリスト) には、クライアントユーザーまたはサーバーユーザーが信頼しなくなった証明書とキーが記録されています。一般的には、次のような状況がこれに該当します。
- 証明書に含まれるデータが変更される。たとえば、証明書の有効期限内にユーザーが事務所を移転したり、退職したりした場合は、証明書は無効になり、そのデータが CRL に記録される
- キーが改ざんされる、またはそれ以外の理由で危険にさらされている。この場合は CKL にデータが記録される
CRL と CKL は、どちらも CA によって作成され、定期的に更新されます。管理者は、CA から入手した CRL または CKL をインストールするか、システムから既存の CRL または CKL を削除します。
次の項では、CRL と CKL の管理について説明します。
CRL または CKL のインストール
CRL または CKL をCA から入手するには、管理インタフェースで次の手順を実行します。
- CRL または CKL をダウンロードする CA の URL を調べます。
- ブラウザに URL を入力し、サイトにアクセスします。
- CA の指示に従って CRL または CKL をローカルディレクトリにダウンロードします。
- 管理インタフェースで「アプリケーションサーバーインスタンス」にアクセスし、サーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「CRL/CKL」を選択します。
- 「インストール」リンクをクリックします。
「証明書失効リスト / 危殆化キーリストのインストール」ページが表示されます。
   「証明書失効リスト / 危殆化キーリストのインストール」ページ
![]()
- 次のいずれかを選択します。
- 関連するファイルの完全パス名を入力します。
- 「了解」をクリックします。
「証明書失効リスト」を選択した場合は、CRL 情報を記述した「証明書失効リストを追加」ページが表示される
「危殆化キーリスト」を選択した場合は、CRL 情報を記述した「危殆化キーリストの追加」ページが表示される
注 データベースに CRL または CKL のリストがすでに存在する場合は、証明書失効リストまたは危殆化キーリストの置換のページが表示されます。この場合は「置換」をクリックします。
- 「追加」をクリックします。
- 「了解」をクリックします。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。
CRL または CKL の削除
CRL または CKL を削除するには、管理インタフェースで次の手順を実行します。
- 「アプリケーションサーバーインスタンス」にアクセスし、サーバーインスタンスを選択します。
- 「セキュリティ」にアクセスします。
- 「CRL/CKL」を選択します。
- 「管理」リンクをクリックします。
インストールされているすべてのサーバーの CRL と CKL、およびそれぞれの有効期限を示す「証明書失効リスト / 危殆化キーリストの管理」ページが表示されます。
- 「サーバー CRL」または「サーバー CKL」リストから「証明書名」を選択します。
- 次のいずれかを選択します。
- 左ペインで「アプリケーションサーバーインスタンス」を選択して自分のサーバーインスタンスにアクセスし、「変更の適用」をクリックします。
- サーバーを停止し、再起動して変更を適用します。