Cisco セキュリティ アプライアンス コマンドライン コンフィギュレーション ガイド v.8.0
証明書の設定
証明書の設定
発行日;2012/02/03 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 20MB) | フィードバック

目次

証明書の設定

公開キー暗号化

公開キー暗号化について

証明書のスケーラビリティ

キー ペアについて

トラストポイントについて

失効チェックについて

CRL について

OCSP について

サポート対象の CA サーバ

証明書の設定

証明書の準備

キー ペアの設定

キー ペアの生成

キー ペアの削除

トラストポイントの設定

証明書の取得

SCEP を使用した証明書の取得

手動での証明書の取得

証明書に対する拡張キーの使用

トラストポイントの CRL の設定

トラストポイントのエクスポートとインポート

トラストポイント コンフィギュレーションのエクスポート

トラストポイント コンフィギュレーションのインポート

CA 証明書マップ規則の設定

ローカル CA

ローカル CA サーバの設定

デフォルト ローカル CA サーバ

ローカル CA サーバのカスタマイズ

証明書の特性

ローカル CA ファイル用のストレージの定義

デフォルトのフラッシュ メモリ データ ストレージ

外部ローカル CA ファイル ストレージの設定

CRL ストレージ

CRL のダウンロード

ローカル CA ユーザの登録

登録パラメータの設定

登録要件

ローカル CA サーバの起動と停止

ローカル CA サーバのイネーブル化

ローカル CA サーバのデバッグ

ローカル CA サーバのディセーブル化

ローカル CA ユーザ データベースの管理

ユーザの追加と登録

ユーザの更新

証明書の無効化とユーザの削除または復元

失効チェック

ローカル CA サーバ情報の表示

ローカル CA コンフィギュレーションの表示

証明書データベースの表示

ローカル CA 証明書の表示

CRL の表示

ユーザ データベースの表示

ローカル CA サーバのメンテナンスおよびバックアップ手順

ローカル CA ユーザ データベースのメンテナンス

ローカル CA 証明書データベースのメンテナンス

ローカル CA 証明書のロールオーバー

ローカル CA サーバ証明書およびキーペアのアーカイブ

ローカル CA サーバの削除

証明書の設定

この章では、証明書の設定方法について説明します。CA は、証明書要求の管理とデジタル証明書の発行を行います。デジタル証明書には、ユーザまたはデバイスを識別する情報が含まれています。これらの情報には、名前、シリアル番号、社名、部署、IP アドレスなどがあります。デジタル証明書には、ユーザまたは装置の公開キーのコピーが含まれています。CAは、信頼できる第三者(VeriSign など)の場合もあれば、組織内に設置したプライベート CA(インハウス CA)の場合もあります。

この章は、次の項で構成されています。

「公開キー暗号化」

「証明書の設定」

「ローカル CA」

公開キー暗号化

この項は、次の内容で構成されています。

「公開キー暗号化について」

「証明書のスケーラビリティ」

「キー ペアについて」

「トラストポイントについて」

「CRL について」

「サポート対象の CA サーバ」

公開キー暗号化について

デジタル署名は、公開キー暗号化によってイネーブルになり、デバイスおよびユーザを認証する手段です。RSA 暗号化システムをはじめとする公開キー暗号化では、各ユーザが公開キーと秘密キーの両方を含むキー ペアを持ちます。両キーは補完的に動作し、片方のキーで暗号化されたものはすべて他方のキーで解読できます。

簡単に言えば、データが秘密キーで暗号化されたとき、シグニチャが形成されます。シグニチャはデータに付加されて受信者に送信されます。受信者は送信者の公開キーをデータに適用します。データとともに送信されたシグニチャが、公開キーをデータに適用した結果と一致した場合、メッセージの有効性が確立されます。

このプロセスは、受信者が送信者の公開キーのコピーを持っていること、およびその公開キーが送信者になりすました別人のものではなく、送信者本人のものであることを受信者が強く確信していることに依存しています。

通常、送信者の公開キーは、アウトオブバンドで取得するか、インストール時の操作によって取得します。たとえば、ほとんどの Web ブラウザでは、いくつかの CA のルート証明書がデフォルトで設定されています。VPN の場合、IKE プロトコルは IPSec のコンポーネントであり、デジタル署名を使用してピア デバイスを認証した後で、セキュリティ アソシエーションをセットアップできます。

証明書のスケーラビリティ

デジタル証明書がない場合は、通信相手のピアごとに各 IPSec ピアを手動で設定する必要があります。また、ネットワークに新しいピアを追加するたびに、セキュアに通信する必要のあるピアごとの設定変更が必要になります。

デジタル証明書を使用している場合、各ピアは CA に登録されます。2 つのピアは、通信を試みるときに、証明書とデジタル署名されたデータを交換して、相互の認証を行います。新しいピアがネットワークに追加された場合は、そのピアを CA に登録するだけで済みます。他のピアを修正する必要はありません。新しいピアが IPSec 接続を試みると、証明書が自動的に交換され、そのピアの認証ができます。

CA を使用した場合、ピアはリモート ピアに証明書を送り、公開キー暗号化を実行することによって、そのリモート ピアに対して自分自身を認証します。各ピアは、CA によって発行および検証された一意の証明書を送ります。このプロセスが機能を果たすのは、各証明書が関連付けられているピアの公開キーをカプセル化し、各証明書が CA によって認証され、参加しているピアすべてが CA を認証権限者として認識しているためです。このプロセスは、RSA シグニチャ付きの IKE と呼ばれます。

ピアは、証明書が期限満了になるまで、複数の IPSec セッションに対して、および複数の IPSec ピア宛てに証明書を送り続けることができます。証明書が期限満了になったときは、ピアの管理者は新しい証明書を CA から入手する必要があります。

CA は、IPSec に参加しなくなったピアの証明書を無効にすることもできます。無効にされた証明書は、他のピアからは有効な証明書とは認識されなくなります。無効にされた証明書は CRLに記載されます。各ピアは別のピアの証明書を受け取る前に、CRL をチェックします。

CA の中には、実装の一部として RA を持つものもあります。RA は CA のプロキシの役割を果たすサーバであるため、CA が使用できないときも CA 機能は継続しています。

キー ペアについて

キー ペアは RSA キーです。

RSA キーは SSH や SSL に使用できます。

SCEP 登録は、RSA キーの証明書をサポートしています。

キー生成では、RSA キーの最大キー係数が 2048 ビット、デフォルト サイズは 1024 です。ID 証明書と RSA キー ペアを使用した SSL 接続の多くが 1024 ビットを超える場合、セキュリティ アプライアンスでの CPU 使用率が高まり、クライアントレス ログインが拒否されます。

シグニチャ操作でサポートされているキーの最大サイズは 4096 ビットです。

署名にも暗号化にも使用できる汎用 RSA キー ペアを生成することも、署名用と暗号化用に別々の RSA キー ペアを生成することもできます。

署名用と暗号化用にキーを分けると、キーが公開される頻度を少なくすることができます。これは、SSL は署名用ではなく暗号化用にキーを使用しますが、IKE は暗号化用ではなく署名用にキーを使用するためです。キーを用途別に分けることで、キーの公開頻度が最小化されます。

トラストポイントについて

トラストポイントを使用すると、CA と証明書の管理とトレースができます。トラストポイントとは、CA または ID ペアを表現したものです。トラストポイントには、CA の ID、CA 固有のコンフィギュレーション パラメータ、登録されている ID 証明書とのアソシエーションが含まれています。

トラストポイントの定義が完了したら、CA の指定を必要とするコマンドで、名前によってトラストポイントを参照できます。トラストポイントは複数設定できます。


) セキュリティ アプライアンスに同じ CA を共有するトラストポイントが複数ある場合、CA を共有するトラストポイントのうち、ユーザ証明書の検証に使用できるのは 1 つだけです。support-user-cert-validation コマンドで、CA を共有するどのトラストポイントを使用して、その CA が発行したユーザ証明書を検証するかを制御します。


自動登録の場合は、登録 URL がトラストポイントに設定されている必要があり、また、トラストポイントが示す CA がネットワーク上で使用可能であり、SCEP をサポートしている必要があります。

キー ペアと、トラストポイントに関連付けられている発行済み証明書は、PKCS12 形式でエクスポートとインポートができます。これは、異なるセキュリティ アプライアンス上のトラストポイント コンフィギュレーションを手動でコピーする場合に便利です。

失効チェックについて

証明書は発行されると、一定期間有効です。CA は、安全上の問題や名前またはアソシエーションの変更などの理由で、期限が切れる前に証明書を無効にすることがあります。CA は、無効になった証明書の署名付きリストを定期的に発行します。CA が認証にその証明書を使用するたびに、その証明書が無効にされていないかどうか、セキュリティ アプライアンスがチェックします。

失効チェックをイネーブルにすると、PKI 証明書の検証プロセス中に、セキュリティ アプライアンスは証明書の失効ステータスを確認します。この場合、CRL チェックか Online Certificate Status Protocol(OCSP)のいずれか、またはその両方を使用できます。両方を使用する場合、2 番目の方法は、1 番目の方法でエラーが返された場合(サーバが使用できない場合など)だけ有効になります。

CRL チェックを使用すると、セキュリティ アプライアンスは、無効になった証明書がすべてリストされている証明書失効リストを取得、解析、およびキャッシュします。OCSP は、検証局に特定の証明書のステータスを問い合せ、チェックを検証局が扱う範囲に限定するため、よりスケーラブルな方法を提供します。

CRL について

証明書失効リストは、有効期間内の証明書が発行元の CA によって無効にされているかどうかをセキュリティ アプライアンスが判断するための 1 つの方法です。CRL コンフィギュレーションは、トラストポイントのコンフィギュレーションの一部です。

証明書を認証するときに必ず CRL チェックを行うように、セキュリティ アプライアンスを設定できます( revocation-check crl コマンド)。また、 none 引数( revocation-check crl none コマンド)を追加することで、CRL チェックをオプションにすることもできます。こうすると、更新された CRL データが CA から提供されない場合でも、証明書認証は成功します。

セキュリティ アプライアンスは HTTP、SCEP、または LDAP を使用して、CA から CRL を取得できます。トラストポイントごとに取得された CRL は、トラストポイントごとに設定可能な長さの時間だけキャッシュされます。

設定されたキャッシュ時間を超過してセキュリティ アプライアンスにキャッシュされている CRL がある場合、セキュリティ アプライアンスはその CRL を、古すぎて信頼できない、つまり「失効した」と見なします。セキュリティ アプライアンスは、次回の証明書認証で失効した CRL のチェックが必要な場合に、より新しいバージョンの CRL を取得しようとします。

セキュリティ アプライアンスが CRL をキャッシュしておく時間の長さは、次の 2 つの要素によって決まります。

cache-time コマンドで指定される分数。デフォルト値は 60 分です。

取得した CRL 中の [NextUpdate] フィールド。このフィールドが CRL にない場合もあります。セキュリティ アプライアンスが [NextUpdate] フィールドを必要とするかどうか、およびこのフィールドを使用するかどうかは、 enforcenextupdate コマンドで制御します。

セキュリティ アプライアンスは、これら 2 つの要素を次のように使用します。

[NextUpdate] フィールドが不要の場合、 cache-time コマンドで指定された時間が経過すると、セキュリティ アプライアンスは CRL に失効のマークを付けます。

[NextUpdate] フィールドが必要な場合、 cache-time コマンドと [NextUpdate] フィールドで指定されている 2 つの時間のうち短い方の時間で、CRL に失効のマークを付けます。たとえば、cache-time コマンドによってキャッシュ時間が 100 分に設定され、[NextUpdate] フィールドによって次のアップデートが 70 分後に指定されている場合、セキュリティ アプライアンスは 70 分後に CRL に失効のマークを付けます。

セキュリティ アプライアンスがメモリ不足で、特定のトラストポイント用にキャッシュされた CRL をすべて保存することができない場合、使用頻度が最も低い CRL が削除され、新しく取得した CRL 用の空き領域が確保されます。

トラストポイント用の CRL 動作を設定する方法の詳細については、「トラストポイントの CRL の設定」を参照してください。

OCSP について

Online Certificate Status Protocol(OCSP)は、有効期間内の証明書が発行元の CA によって無効にされているかどうかをセキュリティ アプライアンスが判断するための 1 つの方法です。OCSP のコンフィギュレーションは、トラストポイントのコンフィギュレーションの一部です。

OCSP は、証明書のステータスをチェックする範囲を検証局(OCSP サーバ、 応答側 とも呼ばれます)に限定し、セキュリティ アプライアンスは検証局に特定の証明書のステータスを問い合せます。これは、CRL チェックよりもスケーラブルで、最新の失効ステータスを確認できる方法です。この方法は、PKI の導入規模が大きい場合に便利で、セキュアなネットワークを拡大できます。

証明書を認証するときに必ず OCSP チェックを行うように、セキュリティ アプライアンスを設定できます( revocation-check ocsp コマンド)。また、 none 引数( revocation-check ocsp none コマンド)を追加することで、OCSP チェックをオプションにすることもできます。こうすると、更新された OCSP データが検証局から提供されない場合でも、証明書認証は成功します。

OCSP を導入すると、OCSP サーバの URL を 3 つの方法で定義できます。セキュリティ アプライアンスは、これらのサーバを次の順に使用します。

1. 証明書の照合の上書き規則で定義されている OCSP サーバの URL( match certificate コマンド)

2. ocsp url コマンドで設定されている OCSP サーバの URL

3. クライアント証明書の [AIA] フィールド


) トラストポイントで OCSP の応答側の自己署名した証明書を検証するように設定するには、信頼できる CA 証明書として、この自己署名した応答側の証明書をそのトラストポイントにインポートします。次に、クライアント証明書を検証するトラストポイントで match certificate コマンドを設定して、応答側の証明書を検証するために、OCSP の応答側の自己署名された証明書を含むトラストポイントを使用するようにします。クライアント証明書の検証パスの外部にある応答側の証明書を検証する場合も、同じように設定します。

通常、OCSP サーバ(応答側)の証明書によって、OCSP 応答が署名されます。セキュリティ アプライアンスが応答を受け取ると、応答側の証明書を検証しようとします。通常、CA は、OCSP 応答側の証明書のライフタイムを相対的に短くし、できるだけ攻撃されないようにします。また、応答側の証明書に ocsp-no-check 拡張を含め、この証明書の失効ステータスをチェックする必要がないことを示します。ただし、この拡張がない場合、セキュリティ アプライアンスはトラストポイントで指定されている方法で失効ステータスをチェックします。応答側の証明書を検証できない場合、失効ステータスをチェックできなくなります。この可能性を防ぐには、応答側の証明書を検証するトラストポイントで、revocation-check none コマンドを設定し、クライアント証明書用に revocation-check ocsp コマンドを設定します。


サポート対象の CA サーバ

セキュリティ アプライアンスは次の CA サーバをサポートしています。

Cisco IOS CS

Baltimore Technologies

Entrust

Microsoft Certificate Services

Netscape CMS

RSA Keon

VeriSign

証明書の設定

この項では、セキュリティ アプライアンスにおける証明書の設定方法と、証明書の使用と管理に関するその他の手順について説明します。

次の項目を取り上げます。

「証明書の準備」

「キー ペアの設定」

「トラストポイントの設定」

「証明書の取得」

「トラストポイントの CRL の設定」

「トラストポイントのエクスポートとインポート」

「CA 証明書マップ規則の設定」

証明書の準備

セキュリティ アプライアンスの証明書を設定する前に、セキュリティ アプライアンスが証明書をサポートするように正しく設定されていることを確認してください。セキュリティ アプライアンスが正しく設定されていないと、登録が失敗したり、不正確な情報が含まれる証明書を登録時に要求したりする可能性があります。

セキュリティ アプライアンスの証明書を準備するには、次の手順を実行します。


ステップ 1 セキュリティ アプライアンスのホスト名とドメイン名が正しく設定されていることを確認します。 show running-config コマンドを使用すると、現在設定されているホスト名とドメイン名を表示できます。

ホスト名を設定する方法の詳細については、「ホスト名の設定」を参照してください。

ドメイン名を設定する方法の詳細については、「ドメイン名の設定」を参照してください。

ステップ 2 CA を設定する前に、セキュリティ アプライアンスのクロックが正しく設定されていることを確認します。証明書には、有効になる日時と満了になる日時が指定されています。セキュリティ アプライアンスが CA に登録して証明書を取得するとき、セキュリティ アプライアンスは現在の時刻が証明書の有効期間の範囲内であるかどうかをチェックします。現在の時刻が有効期間の範囲外の場合、登録は失敗します。

クロックを設定する方法の詳細については、「日付と時刻の設定」を参照してください。


 

キー ペアの設定

この項は、次の内容で構成されています。

「キー ペアの生成」

「キー ペアの削除」

キー ペアの生成

「キー ペアについて」で説明したように、キー ペアとは RSA キーのことです。使用する証明書のタイプに応じてキー ペアを生成する必要があります。

キー ペアを生成するには、次の手順を実行します。


ステップ 1 PKI 実装に必要なタイプのキー ペアを生成します。これには、必要に応じて次の手順を実行します。

a. RSA キー ペアを生成する場合は crypto key generate rsa コマンドを使用します。

hostname/contexta(config)# crypto key generate rsa
 

追加のキーワードを使用しない場合、このコマンドは汎用 RSA キー ペアを 1 つ生成します。キー係数が指定されないため、デフォルトのキー係数である 1024 が使用されます。その他の係数サイズを指定するには、 modulus キーワードを使用します。


) ID 証明書と RSA キー ペアを使用した SSL 接続の多くが 1024 ビットを超える場合、セキュリティ アプライアンスでの CPU 使用率が高まり、クライアントレス ログインが拒否されます。


label キーワードを使用すると、各キー ペアにラベルを割り当てることもできます。このラベルは、キー ペアを使用するトラストポイントによって参照されます。ラベルを割り当てなかった場合、キー ペアには <Default-RSA-Key> というラベルが自動的に付けられます。

hostname/contexta(config)# crypto key generate rsa label key-pair-label
 

ステップ 2 (オプション) show crypto key mypubkey コマンドを使用して、キー ペアを表示します。次の例では、汎用 RSA キーを表示します。

hostname/contexta(config)# show crypto key mypubkey
Key pair was generated at: 16:39:47 central Feb 10 2005
Key name: <Default-RSA-Key>
Usage: General Purpose Key
Modulus Size (bits): 1024
Key Data:
 
30819f30 0d06092a 864886f7 0d010101 05000381 8d003081 89028181 00ea51b7
0781848f 78bccac2 4a1b5b8d 2f3e30b4 4cae9f86 f4485207 159108c9 f5e49103
9eeb0f5d 45fd1811 3b4aafce 292b3b64 b4124a6f 7a777b08 75b88df1 8092a9f8
5508e9e5 2c271245 7fd1c0c3 3aaf1e04 c7c4efa4 600f4c4a 6afe56ad c1d2c01c
e08407dd 45d9e36e 8cc0bfef 14f9e6ac eca141e4 276d7358 f7f50d13 79020301 0001
Key pair was generated at: 16:34:54 central Feb 10 2005
 

ステップ 3 生成したキー ペアを保存します。これを行うには、 write memory コマンドを入力して、実行コンフィギュレーションを保存します。


 

キー ペアの削除

キー ペアを削除するには、グローバル コンフィギュレーション モードで crypto key zeroize コマンドを使用します。

次の例では、RSA キー ペアを削除します。

hostname(config)# crypto key zeroize rsa
WARNING: All RSA keys will be removed.
WARNING: All device certs issued using these keys will also be removed.
 
Do you really want to remove these keys? [yes/no] y
hostname(config)#
 

トラストポイントの設定

トラストポイントについては、「トラストポイントについて」を参照してください。

トラストポイントを設定するには、次の手順を実行します。


ステップ 1 セキュリティ アプライアンスが証明書を受け取る必要のある CA に対応するトラストポイントを作成します。

hostname/contexta(config)# crypto ca trustpoint trustpoint
 

たとえば、Main という名前のトラストポイントを宣言するには、次のようにします。

hostname/contexta(config)# crypto ca trustpoint Main
hostname/contexta(config-ca-trustpoint)#
 

このコマンドを入力すると、Crypto ca トラストポイント コンフィギュレーション モードに入ります。

ステップ 2 このトラストポイントで使用する登録方式を指定します。

登録方式を指定するには、次のいずれかを実行します。

SCEP 登録を指定するには、 enrollment url コマンドを使用して、宣言したトラストポイントで SCEP 登録に使用する URL を設定します。たとえば、セキュリティ アプライアンスが URL http://10.29.67.142:80/certsrv/mscep/mscep.dll を使用してトラストポイント Main に証明書を要求する場合、コマンドは次のようになります。

hostname/contexta(config-ca-trustpoint)# enrollment url http://10.29.67.142:80/certsrv/mscep/mscep.dll
 

手動登録を指定するには、 enrollment terminal コマンドを使用して、CA から取得した証明書を端末に貼り付けることを指定します。

ステップ 3 必要に応じて、別の特性をトラストポイントに指定できます。定義する必要のある特性は、CA とそのコンフィギュレーションによって異なります。トラストポイントの特性を指定するには、次のコマンドを入力します。これらのコマンドの完全な説明と使用上のガイドラインについては、『 Cisco Security Appliance Command Reference 』を参照してください。

accept-subordinates :このトラストポイントに関連付けられている CA よりも下位の CA 証明書が、事前にデバイスにインストールされていない状態でフェーズ 1 の IKE 交換時に配信された場合に、受け入れられるかどうかを示します。

crl required | optional | nocheck :CRL コンフィギュレーションのオプションを指定します。コマンド文内に含まれる optional キーワードを使用して crl コマンドを入力すると、セキュリティ アプライアンスが CRL にアクセスできない場合でも、セキュリティ アプライアンスはピアからの証明書を受け入れることができます。


) 必須またはオプションの CRL チェックをイネーブルにする場合、必ず CRL 管理用のトラストポイントを設定してください。これは、証明書を取得した後に実行する必要があります。トラストポイントの CRL 管理を設定する方法の詳細については、「トラストポイントの CRL の設定」を参照してください。


crl configure :CRL コンフィギュレーション モードに入ります。

default enrollment :すべての登録パラメータをシステム デフォルト値に戻します。このコマンドの呼び出しは、アクティブなコンフィギュレーションの一部になりません。

email address :登録時に、指定された電子メール アドレスを、証明書の Subject Alternative Name 拡張子に含めるように CA に要求します。

enrollment retry period :(オプション)リトライ間隔を分単位で指定します。この特性は、SCEP 登録を使用している場合にだけ適用されます。

enrollment retry count :(オプション)許可されるリトライの最大回数を指定します。この特性は、SCEP 登録を使用している場合にだけ適用されます。

enrollment terminal :このトラストポイントで使用するカット アンド ペースト登録を指定します。

enrollment url URL :このトラストポイントで使用する自動登録(SCEP)を指定し、登録 URL を設定します。

fqdn fqdn :登録時に、指定された完全修飾ドメイン名を、証明書の Subject Alternative Name 拡張子に含めるように CA に要求します。

id-cert-issuer :このトラストポイントに関連付けられている CA が発行したピア証明書を、システムが受け入れるかどうかを示します。

ip-address ip-address :登録時に、セキュリティ アプライアンスの IP アドレスを証明書に含めるように CA に要求します。

keypair name :公開キーが認証の対象となるキー ペアを指定します。

match certificate map :OCSP の URL の上書きと、OCSP の応答側の証明書の検証に使用するトラストポイントを設定します。

ocsp disable-nonce :OCSP 要求の nonce 拡張をディセーブルにします。nonce 拡張は、リプレイ攻撃を防ぐために、要求と応答を暗号化してバインドします。

ocsp url :セキュリティ アプライアンスで、トラストポイントに関連するすべての証明書をチェックするときに使用する OCSP サーバを設定します。クライアント証明書の AIA 拡張で指定されているサーバは使用しません。

password string :登録時に CA に登録されるチャレンジ フレーズを指定します。CA は、通常、このフレーズを使用して、その後の失効要求を認証します。

revocation-check :失効チェックの方法(CRL、OCSP、および none)を 1 つ以上設定します。

subject-name X.500 name :登録時に、指定されたサブジェクト DN を、証明書に含めるように CA に要求します。DN 文字列にカンマが含まれている場合、この値文字列を二重引用符で囲みます(例:O="Company, Inc.")。

serial-number :登録時に、セキュリティ アプライアンスのシリアル番号を証明書に含めるように CA に要求します。

support-user-cert-validation :イネーブルになっている場合、リモート ユーザ証明書を検証するコンフィギュレーション設定が、このトラストポイントから取得されます。ただし、このトラストポイントが、そのリモート ユーザ証明書を発行した CA に認証されることが前提です。

exit :このモードを終了します。

ステップ 4 トラストポイント コンフィギュレーションを保存します。これを行うには、 write memory コマンドを入力して、実行コンフィギュレーションを保存します。


 

証明書の取得

セキュリティ アプライアンスは、トラストポイントごとに 1 つの CA 証明書が必要で、セキュリティ アプライアンス自体には、トラストポイントで使用するキーのコンフィギュレーションに応じて 1 つまたは 2 つの証明書が必要です。トラストポイントが署名と暗号化に別々の RSA キーを使用する場合、セキュリティ アプライアンスには署名用と暗号化用の 2 つの証明書が必要になります。署名用と暗号化用のキーが同じである場合、必要な証明書は 1 つだけです。

セキュリティ アプライアンスは、SCEP を使用した登録と、base-64-encoded 証明書を直接端末に貼り付けられる手動登録をサポートしています。サイトツーサイト VPN の場合は、各セキュリティ アプライアンスを登録する必要があります。リモート アクセス VPN の場合は、各セキュリティ アプライアンスと各リモート アクセス VPN クライアントを登録する必要があります。

この項は、次の内容で構成されています。

「SCEP を使用した証明書の取得」

「手動での証明書の取得」

「証明書に対する拡張キーの使用」

SCEP を使用した証明書の取得

ここでは、SCEP を使用して証明書を設定するための手順について説明します。自動登録を設定したトラストポイントごとに、これらの手順を繰り返します。この手順を完了したときに、セキュリティ アプライアンスはトラストポイントの CA 証明書と、署名と暗号化の目的で 1 つまたは 2 つの証明書を受信しています。汎用 RSA キーを使用する場合は、署名用と暗号化用の証明書を受信します。署名と暗号化に別々の RSA キーを使用する場合は、セキュリティ アプライアンスは署名用と暗号化用の別々の証明書を受信します。


) トラストポイントが証明書の取得に SCEP を使用するかどうかは、そのトラストポイントを設定するときに enrollment url コマンドを使用するかどうかによって決まります(「トラストポイントの設定」を参照)。


SCEP を使用して証明書を取得するには、次の手順を実行します。


ステップ 1 設定したトラストポイントの CA 証明書を取得します。

hostname/contexta(config)# crypto ca authenticate trustpoint
 

たとえば、下位 CA を表す Main という名前のトラストポイントを使用する場合は、次のようになります。

hostname/contexta(config)# crypto ca authenticate Main
 
INFO: Certificate has the following attributes:
Fingerprint: 3736ffc2 243ecf05 0c40f2fa 26820675
Do you accept this certificate? [yes/no]: y
 
Trustpoint 'Main' is a subordinate CA and holds a non self signed cert.
Trustpoint CA certificate accepted.
 

ステップ 2 このトラストポイントを持つセキュリティ アプライアンスを登録します。このプロセスでは、署名データの証明書を取得し、設定したキーのタイプによっては暗号化データの証明書も取得します。

ステップ 3 登録を行うには、 crypto ca enroll コマンドを使用します。CA の管理者は、CA が証明書を付与する前に手動で登録要求を認証しなければならない場合があるため、このコマンドを入力する前に CA の管理者に連絡してください。

hostname(config)# crypto ca enroll trustpoint
 

セキュリティ アプライアンスが証明書要求を送信してから 1 分(デフォルト)以内に CA から証明書を受け取らなかった場合は、証明書要求を再送信します。セキュリティ アプライアンスは、証明書を受信するまで、1 分ごとに証明書要求を送信し続けます。


) トラストポイントの完全修飾ドメイン名がセキュリティ アプライアンスの完全修飾ドメイン名と一致しなかった場合(完全修飾ドメイン名が文字の場合も含む)、警告が表示されます。必要に応じて、登録プロセスを終了し、必要な修正を行ってから、再度 crypto ca enroll コマンドを入力します。


次の例では、Main という名前のトラストポイントで登録を実行しています。

hostname(config)# crypto ca enroll Main
%
% Start certificate enrollment ..
% Create a challenge password. You will need to verbally provide this
% password to the CA Administrator in order to revoke your certificate.
% For security reasons your password will not be saved in the configuration.
% Please make a note of it.
Password: 2b0rn0t2b
Re-enter password: 2b0rn0t2b
% The subject name in the certificate will be: securityappliance.example.com
% The fully-qualified domain name in the certificate will be: securityappliance.example.com
% Include the device serial number in the subject name? [yes/no]: no
Request certificate from CA [yes/no]: yes
% Certificate request sent to Certificate authority.
 

) セキュリティ アプライアンスの証明書を無効にする場合はパスワードが必要になるため、このパスワードを覚えておくことが不可欠です。パスワードは書き留めて安全な場所に保管してください。


セキュリティ アプライアンスが登録する必要のあるトラストポイントごとに、 crypto ca enroll コマンドを入力する必要があります。


crypto ca enroll コマンドを発行した後、証明書を受信する前にセキュリティ アプライアンスがリブートされた場合は、crypto ca enroll コマンドを再発行して、CA 管理者に連絡してください。


ステップ 4 show crypto ca certificate コマンドを使用して、登録プロセスが成功したことを確認します。たとえば、トラストポイント Main から受信した証明書を表示するには、次のように入力します。

hostname/contexta(config)# show crypto ca certificate Main
 

このコマンドの出力で、セキュリティ アプライアンスに対して発行された証明書とトラストポイントの CA 証明書の詳細が表示されます。

ステップ 5 write memory コマンドを使用して、コンフィギュレーションを保存します。

hostname/contexta(config)# write memory
 


 

手動での証明書の取得

ここでは、手動による証明書要求を設定するための手順について説明します。手動登録を設定したトラストポイントごとに、これらの手順を繰り返します。この手順を完了したときに、セキュリティ アプライアンスはトラストポイントの CA 証明書と、署名と暗号化の目的で 1 つまたは 2 つの証明書を受信しています。汎用 RSA キーを使用する場合は、署名用と暗号化用の証明書を受信します。署名と暗号化に別々の RSA キーを使用する場合、受信した証明書はそれぞれ署名専用と暗号化専用に使用されます。


) トラストポイントが手動で証明書を取得する必要があるかどうかは、そのトラストポイントを設定するときに enrollment terminal コマンドを使用するかどうかによって決まります(「トラストポイントの設定」を参照)。


証明書を手動で取得するには、次の手順を実行します。


ステップ 1 トラストポイントで示されている CA から、base-64 encoded CA 証明書を取得します。

ステップ 2 CA 証明書をインポートします。これを行うには、 crypto ca authenticate コマンドを使用します。次の例は、トラストポイント Main の CA 証明書要求を示しています。

hostname (config)# crypto ca authenticate Main
Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself
MIIDRTCCAu+gAwIBAgIQKVcqP/KW74VP0NZzL+JbRTANBgkqhkiG9w0BAQUFADCB
[ certificate data omitted ]
/7QEM8izy0EOTSErKu7Nd76jwf5e4qttkQ==
quit
 
INFO: Certificate has the following attributes:
Fingerprint: 24b81433 409b3fd5 e5431699 8d490d34
Do you accept this certificate? [yes/no]: y
Trustpoint CA certificate accepted.
 
% Certificate successfully imported
hostname (config)#
 

ステップ 3 証明書要求を生成します。これを行うには、 crypto ca enroll コマンドを使用します。次の例は、トラストポイント Main の証明書と暗号キーの要求を示しています。トラストポイント Main は、手動登録を使用し、署名用と暗号化用の汎用 RSA キーを使用するように設定されています。

hostname (config)# crypto ca enroll Main
% Start certificate enrollment ..
 
% The fully-qualified domain name in the certificate will be: securityappliance.example.com
 
% Include the device serial number in the subject name? [yes/no]: n
 
Display Certificate Request to terminal? [yes/no]: y
Certificate Request follows:
 
MIIBoDCCAQkCAQAwIzEhMB8GCSqGSIb3DQEJAhYSRmVyYWxQaXguY2lzY28uY29t
[ certificate request data omitted ]
jF4waw68eOxQxVmdgMWeQ+RbIOYmvt8g6hnBTrd0GdqjjVLt
 
---End - This line not part of the certificate request---
 
Redisplay enrollment request? [yes/no]: n
hostname (config)#
 

) 署名と暗号化に別々の RSA キーを使用する場合、crypto ca enroll コマンドは各キーに対する 2 つの証明書要求を表示します。登録を完了するには、crypto ca enroll コマンドで生成されたすべての証明書要求に対する証明書を取得します。


ステップ 4 crypto ca enroll コマンドで生成される要求ごとに、該当するトラストポイントで示される CA から証明書を取得します。証明書が base-64 形式であることを確認してください。

ステップ 5 CA から受信した証明書ごとに、 crypto ca import certificate コマンドを使用します。セキュリティ アプライアンスは、証明書を base-64 形式で端末に貼り付けることを求めるプロンプトを表示します。


) 署名と暗号化に別々の RSA キー ペアを使用する場合は、証明書ごとにこのステップを実行してください。セキュリティ アプライアンスは、証明書が署名キー ペア用か暗号キー ペア用かを自動的に判断します。2 つの証明書をインポートする順序は、どちらが先でも関係ありません。


次の例では、トラストポイント Main 用の証明書を手動でインポートします。

hostname (config)# crypto ca import Main certificate
% The fully-qualified domain name in the certificate will be: securityappliance.example.com
 
Enter the base 64 encoded certificate.
End with a blank line or the word “quit” on a line by itself
[ certificate data omitted ]
quit
INFO: Certificate successfully imported
hostname (config)#
 

ステップ 6 show crypto ca certificate コマンドを使用して、登録プロセスが成功したことを確認します。たとえば、トラストポイント Main から受信した証明書を表示するには、次のように入力します。

hostname/contexta(config)# show crypto ca certificate Main
 

このコマンドの出力で、セキュリティ アプライアンスに対して発行された証明書とトラストポイントの CA 証明書の詳細が表示されます。

ステップ 7 write memory コマンドを使用して、コンフィギュレーションを保存します。

hostname/contexta(config)# write memory
 


 

証明書に対する拡張キーの使用

セキュリティ アプライアンスを(たとえば、Version 7.2 から Version 8.0 へ)アップグレードした後で、新しいバージョンに接続するには、Cisco AnyConnect VPN Client で、以前の証明書と拡張キー OID を使用します。以前の証明書を移行できるようにするために、 crypto ca trustpoint コマンドに新しいサブモード オプションが 2 つ追加されています。この機能をイネーブルにするには、次の手順を実行します。


ステップ 1 crypto ca trustpoint コマンドを入力して、crypto ca trustpoint コンフィギュレーション モードを開始します。

hostname (config)# crypto ca trustpoint trustpoint-name
hostname(config-ca-trustpoint)
 

ステップ 2 SSL 証明書のキー使用状況チェックを実行するには、次のサブモード オプションを入力します。

hostname(config-ca-trustpoint) no ignore-ssl-keyusage
 

ステップ 3 IPSec 証明書のキー使用状況チェックを実行するには、次のサブモード オプションを入力します。

hostname(config-ca-trustpoint) no ignore-ipsec-keyusage
 


 

トラストポイントの CRL の設定

証明書の認証時に必須またはオプションの CRL チェックを行う場合は、トラストポイントごとに CRL を設定する必要があります。CRL の詳細については、「CRL について」を参照してください。

トラストポイントの CRL を設定するには、次の手順を実行します。


ステップ 1 CRL コンフィギュレーションを変更するトラストポイントに対して、crypto ca trustpoint コンフィギュレーション モードに入ります。これを行うには、 crypto ca trustpoint コマンドを入力します。

ステップ 2 まだ CRL をイネーブルにしていない場合は、 crl コマンドに required キーワードまたは optional キーワードを指定して、イネーブルにします。 required キーワードを指定すると、CRL が使用できない場合、このトラストポイントの証明書認証は失敗します。

ステップ 3 crl configure コマンドを入力します。

hostname/contexta(config-ca-trustpoint)# crl configure
hostname/contexta(config-ca-crl)#
 

このコマンドを入力すると、現在のトラストポイントに対して crl コンフィギュレーション モードに入ります。


ヒント すべての CRL コンフィギュレーションのオプションをデフォルト値に設定するには、default コマンドを使用します。CRL の設定中に、やり直す必要がある場合は、いつでもこのコマンドを入力して、この手順を再度開始できます。


ステップ 4 policy コマンドで、取得ポリシーを設定します。このコマンドの次のキーワードによって、取得ポリシーが決まります。

cdp :CRL は、認証済みの証明書で指定されている CRL 分散ポイントだけから取得できます。


) SCEP の取得は、証明書で指定されている分散ポイントではサポートされていません。


static :CRL は、設定した URL だけから取得できます。

both :CRL は、認証済みの証明書で指定されている CRL 分散ポイントと、設定した URL の両方から取得できます。

ステップ 5 CRL ポリシーを設定したときに static キーワードまたは both キーワードを使用した場合は、 url コマンドを使用して、CRL 取得用の URL を設定する必要があります。1 ~ 5 のランクを付けて、最大 5 つの URL を入力できます。

hostname/contexta(config-ca-crl)# url n URL
 

n は、URL に割り当てられるランクです。URL を削除するには、 no url n コマンドを使用します。

ステップ 6 protocol コマンドで、取得方式を設定します。このコマンドの次のキーワードによって、取得方式が決まります。

http :CRL 取得方式として HTTP を指定します。

ldap :CRL 取得方式として LDAP を指定します。

scep :CRL 取得方式として SCEP を指定します。

ステップ 7 セキュリティ アプライアンスが現在のトラストポイントの CRL をキャッシュしている時間を設定します。セキュリティ アプライアンスが CRL を失効と判断するまで待機する時間を分数で指定するには、次のコマンドを入力します。

hostname/contexta(config-ca-crl)# cache-time n
 

n は分数です。たとえば、CRL を 7 時間キャッシュする必要がある場合は、次のコマンドを入力します。

hostname/contexta(config-ca-crl)# cache-time 420
 

ステップ 8 セキュリティ アプライアンスに CRL の [NextUpdate] フィールドが必要かどうかを設定します。セキュリティ アプライアンスが [NextUpdate] フィールドをどのように使用するかについては、「CRL について」を参照してください。

次のいずれかを実行します。

[NextUpdate] フィールドが必要な場合は、 enforcenextupdate コマンドを入力します。これはデフォルトの設定です。

CRL の [NextUpdate] フィールドが不要な場合は、 no enforcenextupdate コマンドを入力します。

ステップ 9 取得プロトコルとして LDAP を指定した場合は、次の手順を実行します。

a. 次のコマンドを入力して、セキュリティ アプライアンスが LDAP サーバを認識するようにします。

hostname/contexta(config-ca-crl)# ldap-defaults server
 

LDAP サーバは、DNS ホスト名または IP アドレスで指定できます。LDAP サーバがデフォルトの 389 以外のポートで LDAP クエリーを受信する場合は、ポート番号も指定できます。たとえば、次のコマンドは、ホスト名が ldap1 の LDAP サーバから CRL を取得するようにセキュリティ アプライアンスを設定します。

hostname/contexta(config-ca-crl)# ldap-defaults ldap1
 

) LDAP サーバの指定に IP アドレスではなくホスト名を使用する場合は、DNS を使用するようにセキュリティ アプライアンスを設定していることを確認してください。DNS を設定する方法については、『Cisco Security Appliance Command Reference』の dns コマンドを参照してください。


b. LDAP サーバに CRL 取得を許可するクレデンシャルが必要な場合は、次のコマンドを入力します。

hostname/contexta(config-ca-crl)# ldap-dn admin-DN password
 

次の例を参考にしてください。

hostname/contexta(config-ca-crl)# ldap-dn cn=admin,ou=devtest,o=engineering c00lRunZ
 

ステップ 10 現在のトラストポイントの CRL コンフィギュレーションをテストするには、 crypto ca crl request コマンドを使用します。このコマンドは、指定したトラストポイントによって示される CA から現在の CRL を取得します。

ステップ 11 実行コンフィギュレーションを保存します。 write memory コマンドを入力します。


 

トラストポイントのエクスポートとインポート

キー ペアと、トラストポイント設定に関連付けられている発行済み証明書は、エクスポートおよびインポートできます。セキュリティ アプライアンスは、トラストポイントのエクスポートとインポートにおいて、PKCS12 形式をサポートしています。

この項は、次の内容で構成されています。

「トラストポイント コンフィギュレーションのエクスポート」

「トラストポイント コンフィギュレーションのインポート」

トラストポイント コンフィギュレーションのエクスポート

関連付けられているすべてのキーや証明書とともに、トラストポイント コンフィギュレーションを PKCS12 形式でエクスポートするには、 crypto ca export コマンドを使用します。セキュリティ アプライアンスは PKCS12 データを端末に表示します。この表示されたデータはコピーできます。トラストポイント データはパスワードで保護されますが、このデータをファイルに保存する場合は、そのファイルがセキュアな場所にあることを確認してください。

次の例では、パスフレーズとして Wh0zits を使用して、PKCS12 データをトラストポイント Main にエクスポートしています。

hostname (config)# crypto ca export Main pkcs12 Wh0zits
 
Exported pkcs12 follows:
 
[ PKCS12 data omitted ]
 
---End - This line not part of the pkcs12---
 
hostname (config)#

トラストポイント コンフィギュレーションのインポート

トラストポイント コンフィギュレーションに関連付けられているキー ペアと発行済み証明書をインポートするには、グローバル コンフィギュレーション モードで crypto ca import pkcs12 コマンドを使用します。セキュリティ アプライアンスは、テキストを base-64 形式で端末に貼り付けることを求めるプロンプトを表示します。

トラストポイントとともにインポートされたキー ペアには、作成するトラストポイントの名前と一致するラベルが割り当てられます。たとえば、エクスポートされたトラストポイントが <Default-RSA-Key> というラベルの付いた RSA キーを使用していた場合、PKCS12 をインポートして Main という名前のトラストポイントを作成すると、作成されるキー ペアの名前は <Default-RSA-Key> ではなく Main になります。


) セキュリティ アプライアンスに同じ CA を共有するトラストポイントが複数ある場合、CA を共有するトラストポイントでユーザ証明書の検証に使用できるのは 1 つだけです。crypto ca import pkcs12 コマンドを使用すると、このような状況を構成できます。support-user-cert-validation コマンドで、CA を共有するどのトラストポイントを使用して、その CA が発行したユーザ証明書を検証するかを制御します。


次の例では、パスフレーズ Wh0zits とともに PKCS12 データを手動でトラストポイント Main にインポートしています。

hostname (config)# crypto ca import Main pkcs12 Wh0zits
 
Enter the base 64 encoded pkcs12.
End with a blank line or the word "quit" on a line by itself:
[ PKCS12 data omitted ]
quit
INFO: Import PKCS12 operation completed successfully
hostname (config)#
 

CA 証明書マップ規則の設定

証明書の [Issuer] フィールドと [Subject] フィールドに基づいて、規則を設定できます。作成した規則を使用すると、 tunnel-group-map コマンドによって、IPSec ピアの証明書をトンネル グループにマッピングできます。セキュリティ アプライアンスは CA 証明書マップを 1 つサポートしています。これには、複数の規則を設定できます。トンネル グループで CA 証明書マップ規則を使用する方法の詳細については、「証明書グループ照合の規則とポリシーの作成」を参照してください。

CA 証明書マップ規則を設定するには、次の手順を実行します。


ステップ 1 設定する規則に対して CA 証明書マップ コンフィギュレーション モードに入ります。これには、 crypto ca certificate map コマンドを入力し、規則インデックス番号を指定します。次の例では、インデックス番号 1 の規則に対して CA 証明書マップ モードに入っています。

hostname(config)# crypto ca certificate map 1
hostname(config-ca-cert-map)#
 

ステップ 2 規則を設定するには、 issuer-name コマンドと subject-name コマンドを使用します。これらのコマンドは、セキュリティ アプライアンスが証明書の [Issuer] フィールドまたは [Subject] フィールドの値に適用できるテストを指定します。これらのテストは、特定のアトリビュートに適用することや、[Issuer] フィールドまたは [Subject] フィールド全体に適用することができます。規則ごとに複数のテストを設定できますが、これらのコマンドで指定するすべてのテストは、証明書と一致する規則で真である必要があります。 issuer-name コマンドと subject-name コマンドの有効な演算子は、次のとおりです。

演算子
意味

eq

フィールドまたはアトリビュートが所定の値と一致する。

ne

フィールドまたはアトリビュートが所定の値と一致しない。

co

フィールドまたはアトリビュートの一部または全部が所定の値と一致する。

nc

フィールドまたはアトリビュートの全部が所定の値と一致しない。

issuer-name コマンドと subject-name コマンドの詳細については、『 Cisco Security Appliance Command Reference 』を参照してください。

次の例では[Issuer] フィールド内のアトリビュートに文字列 ASC が含まれるように指定しています。

hostname(config-ca-cert-map)# issuer-name co asc
hostname(config-ca-cert-map)#
 

次の例では、[Subject] フィールド内の Organizational Unit アトリビュートが文字列 Engineering と完全に一致しなければならないことを指定しています。

hostname(config-ca-cert-map)# subject-name attr ou eq Engineering
hostname(config-ca-cert-map)#
 

マップ規則は、 show running-config コマンドの出力に表示されます。

crypto ca certificate map 1
issuer-name co asc
subject-name attr ou eq Engineering
 

ステップ 3 マップ規則の設定が完了したら、作業内容を保存します。 write memory コマンドを入力します。


 

ローカル CA

Local Certificate Authority(Local CA; ローカル認証局)は、次のタスクを実行します。

セキュリティ アプライアンスの基本的な認証局機能を統合します。

証明書を導入します。

発行済み証明書のセキュアな失効チェックを実行します。

ブラウザベースおよびクライアントベースの SSL VPN 接続で使用するために、適応型セキュリティ アプライアンスに認証局を提供します。

外部の証明書認可に依存することなく、ユーザに信頼できるデジタル証明書を提供します。

証明書認証のためのセキュアな内部認証局を提供し、ブラウザの Web ページ ログインを使用した簡単なユーザ登録を実現します。


) Active/Active フェールオーバー、または VPN ロード バランシングを使用している場合、ローカル CA 機能はサポートされません。ローカル CA を別の CA の下位に置くことはできません。ローカル CA はルート CA にしかなれません。


セキュリティ アプライアンスにローカル CA サーバを設定した後で、ユーザは、指定された Web ブラウザベースの登録ページにアクセスし、ユーザの登録資格を検証するためにローカル CA 管理者によって与えられたユーザ名とワンタイム パスワードを入力することで、証明書を登録できます。

図 41-1 に示すとおり、ローカル CA サーバは CLI と ASDM の両方から設定可能で、セキュリティ アプライアンスに常駐し、Web ページ ユーザからの登録要求や、その他の証明書を検証する装置およびセキュリティ アプライアンスから発信された CRL の問い合せを処理します。ローカル CA データベースおよびコンフィギュレーション ファイルは、セキュリティ アプライアンスのフラッシュ メモリ(デフォルトのストレージ)または個別のストレージ デバイスに保持されます。

図 41-1 ローカル認証局(CA)

 


) 一度にセキュリティ アプライアンスに常駐できるローカル CA サーバは 1 台だけです。また、ローカル CA は外部 CA よりも下位に設定できません。


ローカル CA サーバの設定

この項では、セキュリティ アプライアンスでローカル CA サーバを設定する方法について説明します。次の項目を取り上げます。

「デフォルト ローカル CA サーバ」

「ローカル CA サーバのカスタマイズ」

「証明書の特性」

デフォルト ローカル CA サーバ

デフォルト ローカル CA サーバでは、次の特性に従ってセットアップするために、いくつかのコンフィギュレーション コマンドだけを必要とします。 crypto ca server コマンドを使用して config-ca-server モードにアクセスしたら、次の手順で説明する CLI コマンドだけを指定する必要があります。


ステップ 1 smtp from-address コマンドを使用して、Simple Mail Transfer Protocol(SMTP; シンプル メール転送プロトコル)の From アドレスを指定します。このコマンドは、ユーザに登録案内用のワンタイム パスワードを伝える電子メールを送信するときに、ローカル CA が送信元アドレスとして使用する有効な電子メール アドレスを提供します。

ステップ 2 発行された証明書で各ユーザ名に追加されるオプションの subject-name DN に対して、subject-name-default コマンドを使用して subject-name DN を指定します。subject-name DN とユーザ名は結合して、ローカル CA サーバによって発行されたすべてのユーザ証明書の DN を形成します。subject-name DN を指定しない場合、ユーザ データベースにユーザを追加するたびに、ユーザ証明書に含めるサブジェクト名 DN を正確に指定する必要があります。


 

次の例は、必要なすべてのパラメータに事前定義済みのデフォルト値を使用する場合、ローカル CA サーバを設定およびイネーブルにするために必要ないくつかの CLI コマンドを示します。

hostname(config)# crypto ca server

hostname (config-ca-server) # smtp from-address SecurityAdmin@hostcorp.com

hostname (config-ca-server)# subject-name-default cn=engineer, o=asc Systems, c=US

hostname(config-ca-server)# no shutdown

その他の必要なすべてのパラメータ値は、システム デフォルト値です。 表 41-1 では、ローカル CA サーバの設定可能な特性、事前定義済みのデフォルト値、およびデフォルト値を設定する CLI コマンドのリストを示します。


) 最初にローカル CA をイネーブルにした後は、Issuer-name 値および keysize server 値は変更できません。設定済みのローカル CA をイネーブルにする前に、オプションのすべてのパラメータを慎重に見直してください。


表 41-1 ローカル CA サーバのデフォルトの特性

ローカル CA サーバの特性
デフォルト値
CLI コンフィギュレーション コマンド

データベースおよびコンフィギュレーションの保存場所

LOCAL-CA-SERVER ディレクトリのオンボード フラッシュ メモリ

mount (global config mode)

database path

証明書発行元名

cn= FQDN

issuer-name

イネーブル/ディセーブル。 no-shutdown はローカル CA をイネーブルに、 shutdown はディセーブルにします。

ローカル CA サーバは設定されていません。

shutdown vs.no shutdown (イネーブル化)

config-ca-server モードおよびローカル CA サーバ コンフィギュレーション コマンドへのアクセス

サーバはイネーブルになっていません。

crypto ca server

発行された証明書のキー ペア サイズ

1 つのキーあたり 1024 ビット

keysize

ローカル CA 証明書のキー ペア サイズ

1 つのキーあたり 1024 ビット

keysize server

ユーザ証明書、サーバ証明書、または CRL の有効期間

ユーザ証明書 = 1 年、サーバ証明書 = 3 年、CRL = 6 時間

lifetime

ワンタイム パスワードの有効期間

72 時間(3 日間) で期限満了

otp-expiration

Certificate revocation list Distribution Point(CDP; 証明書失効リスト分散ポイント)、ローカル CA セキュリティ アプライアンス上または外部サーバ上の CRL の場所

ローカル CRL の場合、セキュリティ アプライアンスと同じ、http:// hostname.domain /+CSCOCA+/asa_ca.crl

cdp-url

* ローカル CA 電子メール通知を発行する電子メール アドレス

必須。デフォルト値の admin@ FQDN は実際のアドレスでない可能性があるため、電子メール アドレスを指定する必要があります。

smtp from-address

ローカル CA 電子メール通知のサブジェクト行

「Certificate Enrollment Invitation」

smtp subject

* 発行された証明書のユーザ名に追加される subject-name DN デフォルト値

オプション。デフォルト値なし。subject-name デフォルト値を指定します。

subject-name-default

有効期限の注意が送信されるまでの日数

有効期限まで 14 日間

renewal-reminder

発行された証明書ファイルを再利用可能な登録後/更新期間

24 時間

enrollment-retrieval

*設定が必要な、デフォルト値のない値を示します。

crypto ca server コマンドを実行すると、ローカル CA が生成されます。 no shutdown コマンドを実行したときに、セキュリティ アプライアンスで自己署名した証明書が作成され、そのローカル CA に関連付けられます。自己署名した証明書のキーの使用拡張には、キー暗号化、キー シグニチャ、CRL 署名、および証明書署名機能があります。

debug crypto ca server コマンドを使用して、設定したデフォルトのローカル CA サーバをデバッグできます。この場合、設定およびテスト時にデバッグ メッセージが表示されます。このコマンドは、「ローカル CA サーバのイネーブル化」の項で詳しく説明します。


) 自己署名したローカル CA 証明書が生成されると、特性を変更するには、既存のローカル CA サーバを削除して、完全に作成し直す必要があります。


ローカル CA サーバのカスタマイズ

この項では、ローカル CA サーバの設定とイネーブル化について説明します。初めてイネーブルにすると、サーバ証明書とキー ペアが生成され、CA が自動的に作成されます。ローカル CA サーバの設定を開始するには、config-ca-server モードに入る必要があります。

crypto ca server コマンドを実行して config-ca-server モードに入ったり、セキュリティ アプライアンスでローカル CA サーバのさまざまなパラメータの設定を開始したりできます。通常、セキュリティ アプライアンスでカスタマイズされたローカル CA サーバを設定するには、次の手順を実行します。


ステップ 1 crypto ca server コマンドを入力して、ローカル CA サーバ コンフィギュレーション モードの CLI コマンド セットにアクセスします。これにより、ローカル CA を設定および管理できます。次に例を示します。

hostname (config)# crypto ca server

hostname (config-ca-server)#

ステップ 2 デフォルトのローカル CA サーバと同様に、デフォルト値のないパラメータを指定する必要があります(特に issuer-name コマンド)。次に例を示します。

hostname (config-ca-server)# issuer-name CN=xx5520,CN=30.132.0.25,ou=DevTest,ou=QA,O=ASC Systems

hostname (config-ca-server)#

ステップ 3 ローカル CA サーバから送信されるすべての電子メールの [Subject]フィールドに表示されるテキストをカスタマイズするには、次のように smtp subject subject-line コマンドを使用します。

hostname (config-ca-server) # smtp subject Priority E-Mail: Enclosed Confidential Information is Required for Enrollment

hostname (config-ca-server)#

ステップ 4 ローカル CA サーバによって生成されるすべての電子メールの [From:] フィールドに使用する電子メール アドレスを指定するには、次のように smtp from-address コマンドを使用します。

hostname (config-ca-server) # smtp from-address SecurityAdmin@hostcorp.com

hostname (config-ca-server)#

ステップ 5 発行された証明書のユーザ名に追加するオプションの subject-name DN を指定するには、subject-name-default コマンドを使用します。デフォルトの subject-name DN は、ローカル CA サーバによって発行されたすべてのユーザ証明書でユーザ名の一部になります。たとえば、ユーザ名が maryjane@ASC.com で、subject-name のデフォルト値を cn=engineer、o=ASC Systems、c=US に設定すると、証明書の subject-name DN は、cn=maryjane@ASC.com、cn=Engineer、o=ASC Systems、c=US になります。


 


) subject-name-default を標準の subject-name のデフォルト値として機能するように指定しない場合、ユーザを追加するたびに DN を指定する必要があります。


次の表に、許可される DN アトリビュート キーワードを示します。

Subject-name-default キーワード

CN = 通常名

C = 国

SN = 姓

OU = 組織ユニット

T = 役職

EA = 電子メール アドレス

O = 組織名

ST = 州/都道府県

L = 地名

次に例を示します。

hostname (config-ca-server) # subject-name-default cn=engineer, o=ABC Systems, c=US

hostname (config-ca-server)#

追加のローカル CA サーバ コマンドがあり、これらのコマンドを使ってサーバをさらにカスタマイズできます。これらのコマンドについては、次の各項で説明します。

証明書の特性

設定可能なローカル CA 証明書の特性には次のものが含まれます。

すべてのユーザ証明書に表示されるとおりの証明書発行元の名前

ローカル CA 証明書(サーバおよびユーザ)および CRL のライフタイム

ローカル CA とユーザ証明書に関連付けられている公開キー ペアおよび秘密キー ペアの長さ

発行元名

設定されている証明書発行元名は、自己署名したローカル CA 証明書の subject-name と issuer-name の両方、および発行されたすべてのクライアント証明書および発行された CRL の issuer-name です。ローカル CA のデフォルトの発行元名は、 hostname.domainname です。次の例のように、 issuer-name コマンドを使用してローカル CA 証明書の subject-name を指定します。

hostname(config-ca-server)# issuer-name CN=xx5520,CN=30.132.0.25,ou=DevTest,ou=QA,O=ABC Systems

hostname(config-ca-server)#


) 最初にローカル CA をイネーブルにした後は、issuer-name 値は変更できません。


CA 証明書のライフタイム

lifetime コマンドを使用して、ライフタイム、ローカル CA 証明書の有効期間、発行されたユーザ証明書すべて、または CRL を指定できます。このコマンドでは、証明書に含まれる有効期限を指定します。ローカル CA 証明書のデフォルトのライフタイムは 3 年です。

lifetime ca-certificate コマンドを使用して、ローカル CA サーバ証明書の有効期間を日数で設定します。次の例では、ローカル CA 証明書の有効期間を 1 年に設定しています。

hostname (config)# crypto ca server

hostname (config-ca-server)# lifetime ca-certificate 365

hostname (config-ca-server)

設定中にローカル CA 証明書のライフタイムをデフォルト値の 3 年に戻すには、 no lifetime ca-certificate コマンドを使用します。同じコマンド(またはその no 形式)を使用してユーザ証明書( lifetime certificate... )と CRL( lifetime crl... )の有効なライフタイムを指定(またはリセット)できます。

ローカル CA サーバは、CA 証明書の有効期限の 30 日前に代替 CA 証明書を自動的に生成します。これにより、現在のローカル CA 証明書の有効期限の後に、代替証明書を他のデバイスにエクスポートおよびインポートして、ローカル CA 証明書によって発行されたユーザ証明書の証明書検証を行うことができます。期限満了前の Syslog メッセージを次に示します。

%ASA-1-717049: Local CA Server certificate is due to expire in <days> days and a replacement certificate is available for export.


) この自動ロールオーバーが通知されたら、管理者は、新しいローカル CA 証明書が有効期限の前に必要なすべてのデバイスにインポートされるように対応策を取る必要があります。


ユーザ証明書のライフタイム

ユーザ証明書の有効期間を日数で設定するには、 lifetime certificate コマンドを使用します。次の例では、すべてのユーザ証明書の有効期間を 2 か月に設定しています。

hostname (config)# crypto ca server

hostname (config-ca-server)# lifetime certificate 60

hostname(config-ca-server)#

ユーザ証明書の期限が満了になる前に、ローカル CA サーバは、証明書の有効期限の数日前にそのユーザに登録特権を付与し、更新の注意を設定し、証明書更新用の登録ユーザ名および OTP を電子メールで配信することで、証明書の更新プロセスを自動的に開始します。

CRL のライフタイム

ローカル CA は、ユーザ証明書が無効化または無効化解除されるたびに、CRL を更新および再発行します。ただし、無効化に変更がない場合、CRL ライフタイム 1 回ごとに、CRL が自動的に再発行されます。ライフタイムとは、ローカル CA 設定時に lifetime crl コマンドで指定した期間です。CRL のライフタイムを指定しない場合、デフォルトの期間は 6 時間になります。

次の例のように、 lifetime crl コマンドを使用して、証明書失効リストの有効期間を時間数で設定します。

hostname (config)# crypto ca server

hostname (config-ca-server)# lifetime crl 10

hostname (config-ca-server)#

CRL を任意のタイミングで発行するには、crypto ca server crl issue コマンドを使用できます。このコマンドを実行すると、現在の CRL がただちに更新および再生成され、既存の CRL が上書きされます。このコマンドは、不正があるファイルや壊れた CRL ファイルなど、どのような場合でも CRL を発行できます。

このコマンドは、CRL の更新を示すメッセージを表示します。次に例を示します。

hostname(config)# crypto ca server crl issue

A new CRL has been issued.

hostname(config) #

CRL ファイルが誤って削除されたり、壊れたりしていて、最初から作り直す必要がない限り、このコマンドを使用する必要はありません。

サーバのキーサイズ

ローカル CA サーバのキーペア サイズは、ユーザ発行の証明書キーペア サイズとは個別に設定できます。 keysize server コマンドを使用して、ローカル CA 固有のキーペア サイズを設定します。 keysize コマンドでは、ユーザ証明書登録で生成された公開キーおよび秘密キーのサイズを指定します。次の例は、 keysize server コマンドを示します。

hostname(config)# crypto ca server

hostname(config-ca-server)# keysize server 2048
hostname(config-ca-server)#

kyesize コマンドと keysize server コマンドの両方で、キーペア サイズのオプションは 512、768、1024、2048 ビットで、デフォルト値は両コマンドともに 1024 ビットです。


) ローカル CA の削除や新しいローカル CA の再設定を行わずにローカル CA を有効にすると、ローカル CA のキーサイズは変更できません。これにより、発行されたすべての証明書が無効になります。


ローカル CA ファイル用のストレージの定義

セキュリティ アプライアンスは、ローカル CA データベースを使用して、ユーザ情報、発行済み証明書、失効リストなどにアクセスおよび実装します。このデータベースは、デフォルトでローカル フラッシュ メモリに存在するか、または、マウントされてセキュリティ アプライアンスにアクセス可能なオフボックスのファイル システム上に設定することもできます。

デフォルトのフラッシュ メモリ データ ストレージ

デフォルトでは、ローカル CA サーバ データベースはフラッシュ メモリに保存されます。フラッシュ メモリは、セキュリティ アプライアンスの電源がダウンしている場合にコンフィギュレーション ファイルとデータベース ファイルを保存するための不揮発性ストレージ領域です。

ローカル CA ユーザ データベースに保存できるユーザの数に制限はありませんが、フラッシュ メモリ ストレージに問題がある場合、管理者に対応策を取るように警告する syslog が作成され、ローカル CA はストレージの問題が解決されるまでディセーブルになることがあります。フラッシュ メモリに保存できるのは、ユーザ数が 3500 人以下のデータベースですが、ユーザ数が 3500 人を超えるデータベースではオフボックス ストレージが必要になります。

外部ローカル CA ファイル ストレージの設定

セキュリティ アプライアンスの外部のサーバにあるローカル CA ファイルのストレージには、保存情報を守るためにユーザ名とパスワードで保護されているファイル タイプ CIFS または FTP のファイル システムがすでにマウントされている必要があります。ファイル システムをマウントすると、サーバへのパスを確立し、ローカル CA にファイルまたはフォルダ名を指定して、ファイルの保存と取得に使用できるようになります。

database path コマンドを使って、ファイル システム パスを設定します。ローカル CA ファイル ストレージをセキュリティ アプライアンス フラッシュ メモリに戻すには、 no database path コマンドを使用します。

ローカル CA に外部オフボックス ストレージを指定するには、次の手順を実行します。


ステップ 1 グローバル コンフィギュレーション モードで、ファイル システムのラベルとタイプを指定して mount コマンドを入力します。これにより、セキュリティ アプライアンスは、特定のファイル システム タイプのコンフィギュレーション モードにアクセスできるようになります。CIFS ファイル システムをマウントする例を示します。

hostname(config)# mount mydata type cifs

hostname(config-mount-cifs)# mount mydata type cifs

server 99.1.1.99 share myshare

domain frqa.ASC.com

username user6

password ********

status enable

hostname(config-mount-cifs)#

ステップ 2 database path コマンドを使用して、mydata の場所を指定します。mydata は、ローカル CA サーバ データベースで使用するマウント済みの CIFS ファイル システムです。

hostname(config)# crypto ca server
hostname(config-ca-server)# database path mydata:newuser
hostname(config-ca-server)#

) ファイル システムをマウントするユーザだけが、no mount コマンドを使ってアンマウントできます。


CRL ストレージ

証明書失効リスト(CRL)は、ローカル CA によって発行された証明書の失効を検証する他のデバイスのためにあります。また、ローカル CA は、自身の証明書データベース内にあるすべての発行済み証明書とステータスを追跡します。検証する機関が、外部サーバから失効ステータスを取得してユーザ証明書を検証する必要がある場合、失効チェックが行われます。この場合、外部サーバは、証明書を発行した CA、または CA が指定したサーバである可能性があります。

CDP に特定の場所を設定しない場合、デフォルトの URL は http:// hostname.domain /+CSCOCA+/asa_ca.crl になります。自動生成されたローカル CA の CRL に特定の場所を設定するには、 cdp-url コマンドを使って、すべての発行済み証明書に含まれる証明書失効リスト分散ポイント(CDP)を指定します。次に例を示します。

hostname(config)# crypto ca server
hostname(config-ca-server)# cdp-url http://99.1.1.99/pathname/myca.crl
 

ローカル CA は、ユーザ証明書が無効化または無効化解除されるたびに、CRL を更新および再発行します。無効化に変更がない場合、CRL ライフタイム 1 回おきに CRL が再発行されます。ライフタイムとは、ローカル CA 設定時に lifetime コマンドで指定された期間です。次に例を示します。

CRL のライフタイムを指定しない場合、デフォルトの期間は 6 時間になります。

hostname(config)# crypto ca server
hostname (config-ca-server)# lifetime crl 72
 

cdp-url コマンドがローカル CA のセキュリティ アプライアンスから直接 CRL を処理するように設定されている場合、 publish-crl CLI コマンドを使って、インターフェイスのポートを開き、CRL をインターフェイスからアクセスできるようにします。 publish-crl コマンドについては、次の項で詳しく説明します。

CRL のダウンロード

特定のインターフェイスまたはポートで、CRL に HTTP ダウンロードできるようにするには、config-ca-server モードで publish-crl コマンドを使用します。指定したインターフェイスおよびポートを使用して、CRL の着信要求をリスンします。インターフェイス オプションは次のとおりです。

inside

インターフェイス GigabitEthernet0/1 の名前

management

インターフェイス Management0/0 の名前

outside

インターフェイス GigabitEthernet0/0 の名前

オプションのポート オプションは、1 ~ 65535 のポート番号に設定でき、TCP ポート 80 は HTTP デフォルト ポート番号です。たとえば、CRL への外部アクセスにポート 70 を指定するには、次のコマンドを入力します。

hostname (config)# crypto ca server

hostname (config-ca-server)#publish-crl outside 70

hostname (config-ca-server)#

CDP URL でインターフェイスの IP アドレスを使用するように設定し、CDP URL およびファイル名のパスも設定できます。たとえば、CDP URL は次のように設定できます。 http://10.10.10.100/user8/my_crl_file

この場合、IP アドレスが設定されたインターフェイスだけが CRL 要求をリスンし、要求を着信したときに、セキュリティ アプライアンスは、パス /user8/my_crl_file を設定済み CDP URL に照合します。パスが一致すると、セキュリティ アプライアンスは、ストレージに保存されている CRL ファイルを返します。プロトコルは必ず http にします。したがって、プレフィクスは http:// です。


publish-crl コマンドを指定しない場合、CRL ファイルをダウンロードするときにインターフェイスを開くために publish-crl コマンドが必要なため、CRL は CDP の場所からアクセスできません。


ローカル CA ユーザの登録

ローカル CA ユーザとしての登録が必要な各ユーザは、ローカル CA サーバのユーザ データベースに追加する必要があります。ユーザ登録は、ローカル CA 管理者が行います。この管理者は、 crypto ca server user-db add コマンドを使ってデータベースに新しいユーザを追加します。

次に、管理者は、 crypto ca server user-db allow... コマンドを発行します。email-OTP が指定されている場合、ローカル CA サーバは登録をイネーブルにするために、新しいユーザにワンタイム パスワードとユーザ名を電子メールで送信します。この電子メールは、自動的に生成されるメッセージで、セキュリティ アプライアンスの登録用 URL が記載されています。図 41-2 に、新しいユーザに送信される電子メールの例を示します。

図 41-2 ローカル CA 登録電子メールの例

 

Date: 12/22/06

To: wuser6@wuser.com

From: Wuseradmin

Subject: Certificate Enrollment Invitation

You have been granted access to enroll for a certificate.

The credentials below can be used to obtain your certificate.

Username: wuser6@wuser.com
One-time Password: C93BBB733CD80C74

Enrollment is allowed until: 15:54:31 UTC Thu Dec 27 2006

NOTE: The one-time password is also used as the passphrase to unlock the certificate file.

Please visit the following site to obtain your certificate:

https://wu5520-FO.frdevtestad.local/+CSCOCA+/enroll.html

You may be asked to verify the fingerprint/thumbprint of the CA certificate

during installation of the certificates.The fingerprint/thumbprint should be:

MD5: 76DD1439 AC94FDBC 74A0A89F CB815ACC

SHA1: 58754FFD 9F19F9FD B13B4B02 15B3E4BE B70B5A83

ユーザ登録が成功すると、ローカル CA 証明書と一緒に、ユーザに発行されたキーペアと証明書が含まれる PKCS12 ファイルが作成されます。ユーザは、登録インターフェイスにアクセスして、有効なユーザ名とワンタイム パスワードを入力する必要があります。登録期間内にローカル CA がユーザのクレデンシャルを認証すると、ユーザは、PKCS12 ファイルに含まれる、新たに生成された証明書のダウンロードが許可されます。

PKCS12 ファイルの内容は、ワンタイム パスワード(OTP)というパスフレーズによって保護されます。OTP は、手動で処理することができます。または、このファイルは、管理者が登録を許可すると、ユーザがダウンロードできるようにローカル CA によってユーザに電子メールで送信することもできます。

このファイルは、username.p12 として一時的にストレージに保存されます。このファイルには、ユーザ証明書、キーペア、およびローカル CA 証明書が含まれます。ユーザの PC にこれらの証明書をインストールするために、ユーザはファイルのパスフレーズ(ワンタイム パスワード)の入力を求めるプロンプトが表示されます。このワンタイム パスワードは、ユーザをローカル CA に認証するときに使ったものと同じものです。

ストレージのファイルを使用して、登録取得期間内に戻り、ファイルを必要に応じた回数取得することができます。登録取得期間が過ぎると、ファイルがストレージから自動的に削除され、ダウンロードできなくなります。

登録パラメータの設定

セキュアな登録プロセスのために、ローカル CA はワンタイム パスワード(OTP)を自動的に生成します。このパスワードは、管理者が設定する電子メール アドレスの登録ユーザに電子メールで送信されます。OTP は手動で処理できますが、電子メール アドレスを使って設定されている場合は、ユーザがデータベースに追加されたときに電子メールで送信されます。登録を完了させて証明書を受け取るために、ユーザは、登録インターフェイスで OTP とユーザ名を入力する必要があります。

固有の OTP には、時間を設定できるウィンドウがあり、それぞれ証明書の取得に使用することができます。ユーザ証明書が含まれる PKCS12 登録ファイルを取得する前に OTP の有効期間が切れた場合、登録は許可されません。otp expiration コマンドは、OTP がユーザ登録に有効な期間を定義します。

enrollment-retrieval コマンドは、登録済みユーザが証明書を取得可能な期間を時間単位で指定します。登録パラメータの設定例を次に示します。


ステップ 1 crypto ca server コマンドを入力して、ローカル CA サーバ コンフィギュレーション モードにアクセスします。次に例を示します。

hostname(config)# crypto ca server

hostname (config-ca-server)#

ステップ 2 otp expiration コマンドを使用して、ローカル認証局(CA)登録ページに発行されたワンタイム パスワード(OTP)の有効期間を時間数(24)で指定します。この期間は、ユーザが登録を許可されたときに開始します。次のように、デフォルトの有効期間 72 時間を 24 に変更できます。

hostname(config-ca-server) # otp expiration 24

hostname(config-ca-server) #


) 登録インターフェイス ページで証明書に登録するためのユーザ OTP をパスワードとして使用して、ユーザの発行済み証明書およびキーペアが含まれる PKCS12 ファイルをロック解除することもできます。


ステップ 3 enrollment-retrieval コマンドを使用して、登録済みユーザが PKCS12 登録ファイルを取得可能な期間を時間数で指定します。この期間は、ユーザが正常に登録されたときに開始します。このコマンドは、デフォルトの 24 時間の取得期間を 1 ~ 720 時間の任意の値に変更します。登録取得期間は、OTP の有効期間とは関係ありません。次の例では、取得期間を 120 時間(5 日間)に設定しています。

hostname(config)# crypto ca server
hostname(config-ca-server)# enrollment-retrieval 120

hostname(config-ca-server) #

登録取得期間が過ぎるとユーザ証明書とキーペアは無効になります。こうなった場合、ユーザが証明書を受け取る唯一の方法は、管理者がユーザに登録を再度許可して証明書の登録を再開することです。

データベース エントリを表示および確認できる CLI コマンドについては、この章の「ローカル CA サーバ情報の表示」の項を参照してください。

登録要件

エンドユーザは、ローカル CA 登録インターフェイス Web ページにアクセスし、ユーザ名とワンタイム パスワードを入力して証明書を登録します。ローカル CA サーバのユーザとして登録するには、最初に有効なユーザ クレデンシャル(通常はユーザ名とパスワード)が必要です。

ユーザが登録すると、ユーザがクライアント マシンに証明書をインストールできるように、ローカル CA はユーザ クレデンシャルを生成してリンクを提供します。ユーザの秘密キーペアは、ローカル CA によって生成され、PKCS12 ファイルの一部としてユーザに発行されます。PKCS12 ファイルには、ユーザに発行されたキーペアと証明書、およびローカル CA 証明書が含まれます。

次の図は、ローカル CA WebVPN ログイン画面を示します。

ローカル CA サーバの起動と停止

ローカル CA サーバの設定が完了したら、アクティブにするために、 no shutdown コマンドを使用します。登録をディセーブルにする、または設定を変更する(あるいはその両方)には、 shutdown コマンドを使用します。

ローカル CA サーバのイネーブル化

最初に、パスフレーズを指定して、生成される CA 証明書とキーペアのアーカイブを作成および保護する必要があります。パスフレーズは、CA 証明書またはキーペアが失われた場合に PKCS12 アーカイブをロック解除します。

no shutdown コマンドを使用してローカル CA サーバをイネーブルにすると、ローカル CA サーバ証明書、キーペア、および必要なデータベース ファイルが作成され、ローカル CA サーバ証明書とキーペアが PKCS12 ファイルのストレージにアーカイブされます。初期スタートアップの後、パスフレーズの入力を求めずにローカル CA をイネーブルおよびディセーブルにする no shutdown および shutdown コマンドを発行することができます。


) ローカル CA サーバをイネーブルにしたら、コンフィギュレーションを保存して、リブート後にローカル CA 証明書とキーペアが失われないようにします。


初期スタートアップ時に、次の例のように、CLI にパスフレーズを入力するように求めるプロンプトが表示されます。セキュリティ アプライアンスでローカル CA サーバをイネーブルにするには、次の手順を実行します。


ステップ 1 ローカル CA 証明書と生成されるキーペアが含まれる PKCS12 ファイルを符号化およびアーカイブするために、パスワード(7 文字以上)を作成します。

ステップ 2 次のコマンドを入力して、セキュリティ アプライアンスでローカル CA サーバをイネーブルにします。このコマンドでは、8 ~ 65 文字の英数字のパスワードが必要になります。

hostname(config)# crypto ca server

hostname(config-ca-server)# no shutdown
hostname(config-ca-server)#
 
hostname(config-ca-server)# no shutdown
 
% Some server settings cannot be changed after CA certificate generation.
% Please enter a passphrase to protect the private key
% or type Return to exit
 
Password: caserver
 
Re-enter password: caserver
 
Keypair generation process begin. Please wait...
 

hostname(config-ca-server) #

no shutdown コマンドを使用して同じローカル CA サーバを再度イネーブルにしたり、 shutdown コマンドを使ってディセーブルにしたりするときは、そのパスフレーズは必要ありません。

ローカル CA サーバのデバッグ

新たに設定したローカル CA サーバをデバッグするには、グローバル コンフィギュレーション モードで debug crypto ca server コマンドを使用します。このコマンドでは、ローカル CA サーバを設定およびイネーブルにするときにデバッグ メッセージを表示します。デフォルトでは、 debug crypto ca server コマンドは、レベル 1 のデバッグ機能を実行します。デバッグ機能はレベル 1 ~ 255 まであります。


) デバッグ コマンドによって、ビジー状態のネットワークのトラフィックが低速化することがあります。レベル 5 以上は、未加工データのダンプのために予約されており、デバッグ出力が多くなりすぎるため、通常のデバッグ時は避ける必要があります。


ローカル CA サーバのディセーブル化

shutdown コマンドを使用してローカル CA サーバをディセーブルにすると、コンフィギュレーションとすべての関連ファイルはストレージに残ります。Web ページの登録はディセーブルになっていますが、シャットダウン時にローカル CA サーバを変更および再設定し、 no shutdown コマンドで再起動できます。

セキュリティ アプライアンスでローカル CA サーバをディセーブルにするには、次の手順を実行します。

asa1(config-ca-server)#

asa1(config-ca-server)# shutdown

INFO: Local CA Server has been shutdown.

asa1(config-ca-server)#

ローカル CA ユーザ データベースの管理

ローカル CA サーバはユーザ証明書を把握しているため、管理者は、必要に応じて特権を無効にしたり元に戻したりできます。この項では、CLI コマンドを使用して、ローカル CA データベースでユーザの追加、登録許可、削除、および管理を行う方法について説明します。これらのすべての操作は、特権 EXEC モードで crypto ca server user-db (function) コマンドを使って開始します。これらの機能については、 表 41-2 「Crypto CA Server User コマンド」 に概要をまとめ、次の各サブセクションで説明します。

ユーザをデータベースに追加するには crypto ca server user-db add コマンドを使用する必要がありますが、それぞれのユーザ登録特権を付与するのは crypto ca server user-db allow コマンドです。

表 41-2 Crypto CA Server User コマンド

コマンド
説明

crypto ca server user-db add

ローカル CA サーバ ユーザ データベースにユーザを追加します。DN 文字列にカンマが含まれている場合、この値文字列を二重引用符で囲みます(例:O="Company, Inc.")。

crypto ca server user-db allow

ローカル CA サーバ データベースの特定のユーザまたはユーザのサブセットに登録を許可し、ユーザの OTP を生成します。

crypto ca server user-db remove

ローカル CA サーバ ユーザ データベースからユーザ名を削除します。

crypto ca server user-db email-otp

ローカル CA サーバ データベースの特定のユーザ、またはユーザのサブセットにワンタイム パスワードを電子メールで送信します。

crypto ca server user-db show-otp

ローカル CA サーバ データベースの特定のユーザ、またはユーザのサブセットのワンタイムパスワードを表示します。

ユーザの追加と登録

crypto ca server user-db add コマンドと crypto ca server user-db allow コマンドの両方を使用して、新しいローカル CA ユーザを追加および許可します。ローカル CA データベースに登録できるユーザを追加するには、次の手順を実行します。


ステップ 1 次の CLI コマンドを使用して、新しいユーザを追加します。

hostname (config)#

hostname (config-ca-server)# crypto ca server user-db add username [dn dn] [email emailaddress]

hostname (config-ca-server)#

 

オプションは次のとおりです。

username:4 ~ 64 文字の文字列で、追加するユーザの単純なユーザ名。ユーザ名には、電子メール アドレスを指定できます。この電子メール アドレスを使用して、登録案内の際に必要に応じてユーザに連絡を取ることができます。

dn:識別名。OSI ディレクトリ(X.500)内のグローバルな正規のエントリ名です(例:cn=maryjane@ASC.com、cn=Engineer、o=ASC Systems、c=US)。詳細については、「 ローカル CA サーバのカスタマイズ 」を参照してください。

e-mail-address:OTP および通知が送信される、新しいユーザの電子メール アドレス。

ステップ 2 次のコマンドを使用して、追加したユーザにユーザ特権を付与します。

hostname(config)#

hostname(config-ca-server)# crypto ca server user-db allow user6

hostname(config-ca-server)#

ステップ 3 ローカル CA データベースのユーザに、crypto ca server user-db email-otp コマンドを使ってユーザ証明書を登録およびダウンロードするように通知します。そのユーザには、ワンタイム パスワードが自動的に電子メールで送信されます。

hostname(config)#

hostname(config-ca-server)# crypto ca server user-db email-otp username

hostname(config-ca-server)#

ユーザが crypto ca server user-db add コマンドで電子メール アドレスを指定している場合、 crypto ca server user-db allow コマンドの一部として、または crypto ca server user-db email-otp コマンドを使った後に、電子メールが送信されます。管理者が電子メールでのユーザ通知を必要としている場合、ユーザを追加するときに、ユーザ名または電子メール フィールドとして電子メール アドレスを指定する必要があります。

有効な電子メール アドレスを使用してユーザを追加すると、管理者は、 crypto ca server user-db allow username email-otp 、または crypto ca server user-db allow username 、および crypto ca server user-db email-otp username から選択できます。

または、ステップ 2 で電子メール アドレスを指定して、 crypto ca server user-db e-mail-otp コマンドを省略することもできます。発行したワンタイム パスワードを表示するには、crypto ca server user-db show-otp コマンドを使用します。他の方法でユーザに OTP を通知するには、個別の show-otp コマンドを使用することができます。

ユーザが正しい OTP を使って時間制限内に登録を行うと、ローカル CA サーバは、そのユーザのキーペアを生成し、そのキーペアの公開キーに基づいてユーザ証明書を作成します。また、ユーザの追加時に DN フィールドに指定した場合に subject-name DN を、指定していない場合に subject-name-default 設定を生成します。登録時間制限は、 otp-expiration コマンドで設定され、ユーザ証明書の有効期限は、 lifetime certificate コマンドで設定中に指定されます。

ユーザの更新

ユーザ証明書の更新は、最初の登録プロセスに似ています。各ユーザ証明書には有効期限があり、ローカル CA は、有効期限になる前に電子メールでユーザに更新を自動的に知らせます。証明書は、有効期限が過ぎると無効になります。ユーザに電子メールで送信される更新の通知やタイミングはさまざまで、ローカル CA サーバのコンフィギュレーション中に管理者が設定できます。

更新通知のタイミングを指定するには、証明書所有者に再登録の注意が送信されるローカル CA 証明書の有効期限の前に、renewal-reminder コマンドを使用して日数を 1 ~ 90 で指定します。

hostname(config)# crypto ca server
hostname(config-ca-server)# renewal-reminder 7

hostname(config-ca-server) #

通知は全部で 3 つあり、ユーザ データベースに電子メール アドレスが指定されている場合、自動電子メールは 3 つそれぞれの通知の証明書所有者に送信されます。ユーザの電子メール アドレスを指定していない場合、syslog メッセージが更新要件を警告します。

セキュリティ アプライアンスは、ユーザがユーザ データベース内にいるときに、有効期限間近の有効な証明書を持つすべてのユーザに、証明書の更新特権を自動的に付与します。したがって、管理者がユーザに自動更新を許可しない場合、更新期間の前にそのユーザをデータベースから削除する必要があります。

証明書の無効化とユーザの削除または復元

ユーザが有効な証明書を無効にする必要がある場合は、いつでも crypto ca server revoke コマンドを使って、CA サーバの証明書データベースと CRL の証明書を無効としてマークします。ユーザ証明書を無効にするには、証明書のシリアル番号を 16 進数形式で入力します。次の例では、シリアル番号 782ea09f の証明書を無効にします。

hostname(config-ca-server)## crypto ca server revoke 782ea09f

Certificate with the serial number 0x782ea09f has been revoked. A new CRL has been issued.

hostname (config-ca-server) #

指定した証明書が無効になった後、CRL が自動的に再生成されます。

ユーザを復元したり、ローカル CA サーバによって発行されて以前に無効になった証明書を無効化解除するには、crypto ca server unrevoke コマンドを使用します。

crypto ca server user-db remove コマンドを使って、ユーザ データベースからユーザ名でユーザを削除すると、そのユーザに発行されたすべての有効な証明書の無効化を許可するように求めるプロンプトが表示されます。

失効チェック

ローカル CA は、現在の証明書失効リスト(CRL)を、無効になったすべてのユーザ証明書のシリアル番号で維持します。このリストは外部デバイスで使用でき、 cdp-url コマンドや publish-crl CLI コマンドなどで設定されている場合に、ローカル CA から直接取得することができます。証明書のシリアル番号で、現在の証明書を無効化(または無効化解除)すると、CRL はそれらの変更を反映します。

ローカル CA サーバ情報の表示

次の各サブセクションで説明されているように、ローカル CA サーバ コンフィギュレーションとユーザ情報を表示および印刷する方法はいくつかあります。次の表は、コンフィギュレーションとデータベース情報を表示するローカル CA サーバ CLI コマンドを示します。

コマンド
表示

show crypto ca server

Local CA configuration and status

show crypto ca server cert-db

User certificate(s)

show crypto ca server certificate

Local CA certificate

show crypto ca server crl

Certificate Revocation List

show crypto ca server user-db

Users and their status

show crypto ca server user-db allowed

Users eligible to enroll.

show crypto ca server user-db enrolled

Enrolled users with valid certificate

show crypto ca server user-db expired

Users with an expired certificate.

show crypto ca server user-db on-hold

Users without certificate not permitted to enroll

ローカル CA コンフィギュレーションの表示

設定済みローカル CA の特性を表示するには、特権 EXEC モードで show crypto ca server コマンドを使用します。次に、show crypto ca server の表示例を示します。

Certificate Server LOCAL-CA-SERVER:

Status: enabled

State: enabled

Server's configuration is locked (enter "shutdown" to unlock it)

Issuer name: CN=wz5520-1-16

CA certificate fingerprint/thumbprint: (MD5)

76dd1439 ac94fdbc 74a0a89f cb815acc

CA certificate fingerprint/thumbprint: (SHA1)

58754ffd 9f19f9fd b13b4b02 15b3e4be b70b5a83

Last certificate issued serial number: 0x6

CA certificate expiration timer: 14:25:11 UTC Jan 16 2008

CRL NextUpdate timer: 16:09:55 UTC Jan 24 2007

Current primary storage dir: flash:

証明書データベースの表示

ローカル CA によって発行されたすべての証明書のリストを表示するには、特権 EXEC モードで show crypto ca server cert-db コマンドを使用します。次に、データベースのユーザ証明書を 2 つだけ表示する show crypto ca server cert-db コマンドの例を示します。

Username: emily1

Renewal allowed until: Not Allowed

Number of times user notified: 0

PKCS12 file stored until: 12:45:52 UTC Fri Jan 4 2008

Certificates Issued:

serial: 0x71

issued: 12:45:52 UTC Thu Jan 3 2008

expired: 12:17:37 UTC Sun Dec 31 2017

status: Not Revoked

Username: fred1

Renewal allowed until: Not Allowed

Number of times user notified: 0

PKCS12 file stored until: 12:27:59 UTC Fri Jan 4 2008

Certificates Issued:

serial: 0x2

issued: 12:27:59 UTC Thu Jan 3 2008

expired: 12:17:37 UTC Sun Dec 31 2017

status: Not Revoked

<--- More --->

ローカル CA 証明書の表示

コンソールでローカル CA の証明書を表示するには、特権 EXEC モードで show crypto ca server certificate コマンドを使用します。証明書は base 64 形式で表示され、ローカル CA 証明書を必要とする他のデバイスへインポートするためにカット アンド ペーストすることができます。次に表示例を示します。

base64 encoded ローカル CA 証明書は次のようになります。

MIIXlwIBAzCCF1EGCSqGSIb3DQEHAaCCF0IEghc+MIIXOjCCFzYGCSqGSIb3DQEHBqCCFycwghcjAgEAMIIXHAYJKoZIhvcNAQcBMBsGCiqGSIb3DQEMAQMwDQQIjph4SxJoyTgCAQGAghbw3v4bFy+GGG2dJnB4OLphsUM+IG3SDOiDwZG9n1SvtMieoxd7Hxknxbum06JDrujWKtHBIqkrm+td34qlNE1iGeP2YC94/NQ2z+4kS+uZzwcRhl1KEZTS1E4L0fSaC3uMTxJq2NUHYWmoc8pi4CIeLj3h7VVMy6qbx2AC8I+q57+QG5vG5l5Hi5imwtYfaWwPEdPQxaWZPrzoG1J8BFqdPa1jBGhAzzuSmElm3j/2dQ3Atro1G9nIsRHgV39fcBgwz4fEabHG7/Vanb+fj81d5nlOiJjDYYbP86tvbZ2yOVZR6aKFVI0b2AfCr6PbwfC9U8Z/aF3BCyM2sN2xPJrXva94CaYrqyotZdAkSYA5KWScyEcgdqmuBeGDKOncTknfgy0XM+fG5rb3qAXy1GkjyFI5Bm9Do6RUROoG1DSrQrKeq/hj....
 
END OF CERTIFICATE

CRL の表示

ローカル CA CRL を表示するには、次のように show crypto ca server crl コマンドを使用します。

hostname(config)# show crypto ca server crl

Certificate Revocation List:

Issuer: cn=xx5520-1-3-2007-1

This Update: 13:32:53 UTC Jan 4 2008

Next Update: 13:32:53 UTC Feb 3 2008

Number of CRL entries: 2

CRL size: 270 bytes

Revoked Certificates:

Serial Number: 0x6f

Revocation Date: 12:30:01 UTC Jan 4 2008

Serial Number: 0x47

Revocation Date: 13:32:48 UTC Jan 4 2008

hostname(config)#

ユーザ データベースの表示

CA サーバ ユーザ データベースのユーザを表示するには、show crypto ca server user-db コマンドを使用します。このコマンドを修飾子と一緒に使用して、表示するレコードの数を減らすことができます。修飾子は次のとおりです。

allowed show only users currently allowed to enroll.

enrolled Show only users that are enrolled and hold a valid certificate

expired Show only users holding expired certificates.

on-hold List only users without a certificate and not currently allowed to enroll.

次の例は、修飾子を使わない場合のデータベース全体の表示(編集済み)を示します。

 

hostname (config)# show crypto ca server user-db

username: wilma24

email: wilma24@xxrown.com

dn: CN=mycn,OU=Sales,O=ASC.com,L=Franklin,ST=Mass,C=US

allowed: 12:29:08 UTC Sun Jan 6 2008

notified: 1

.

.

.

username: wilma98

email: wilma98@xxrown.com

dn: CN=mycn,OU=Sales,O=ASC.com,L=Franklin,ST=Mass,C=US

allowed: 12:29:18 UTC Sun Jan 6 2008

notified: 1

username: wilma99

email: wilma99@xxrown.com

dn: CN=mycn,OU=Sales,O=ASC.com,L=Franklin,ST=Mass,C=US

allowed: 12:29:18 UTC Sun Jan 6 2008

notified: 1

hostname(config)#

 

次に、1 人のユーザだけを保留にするために on-hold 修飾子を使用した場合の、 show crypto ca server user-db コマンドの表示例を示します。

 

hostname (config)# show crypto ca server user-db on-hold

username: wilma101

email: <None>

dn: <None>

allowed: <not allowed>

notified: 0

hostname (config)#

ローカル CA サーバのメンテナンスおよびバックアップ手順

保存されているローカル CA サーバ コンフィギュレーション、ユーザ、発行済み証明書、CRL などは、フラッシュ メモリまたはファイルシステム ストレージのデータベースにあります。どちらのデータベースにあるかは、ストレージの設定方法によって異なります。次の各サブセクションでは、データベースのメンテナンス手順について説明します。

ローカル CA ユーザ データベースのメンテナンス

セキュリティ アプライアンスのコンフィギュレーションが保存されるたびに、セキュリティ アプライアンスの外部にファイル ストレージを設定したときに database path コマンドで指定したファイルに、ローカル CA サーバ データベースのすべてのユーザ情報が自動的に保存されます( write memory コマンドを使用)。次に、次のコマンドを使用してファイル ストレージを設定した場合の例を示します。

hostname(config)# crypto ca server

hostname(config-ca-server)# database path mydata:newuser

hostname(config-ca-server)#

セキュリティ アプライアンスのコンフィギュレーションを保存するたびに、ユーザ データベース情報がセキュリティ アプライアンスから mydata /newuser に保存されます。


) フラッシュ メモリ データベース ストレージの場合、ユーザ情報は、スタートアップ コンフィギュレーションのデフォルトの場所に自動的に保存されます。


ローカル CA 証明書データベースのメンテナンス

証明書データベース ファイル LOCAL-CA-SERVER.cdb は、データベースに変更があると必ず保存されます。

LOCAL-CA-SERVER.p12 は、ローカル CA サーバを no shutdown コマンドで最初にイネーブルにしたときに生成されたローカル CA 証明書とキーペアのアーカイブです。

LOCAL-CA-SERVER.crl ファイルは、実際の CRL です。

LOCAL-CA-SERVER.ser ファイルは、発行済み証明書のシリアル番号を追跡するために使用されます。

ローカル CA ファイルは、次のようにフラッシュ メモリまたは外部ストレージで確認できます。

 

ローカル CA 証明書のロールオーバー

ローカル CA 証明書の有効期限の 30 日前に、ロールオーバー代替証明書が生成され、syslog メッセージ情報で管理者にローカル CA のロールオーバーの時期であることを知らせます。新しいローカル CA 証明書は、現在の証明書が有効期限に達する前に、必要なすべてのデバイスにインポートする必要があります。管理者が、新しいローカル CA 証明書としてロールオーバー証明書をインストールして応答しない場合、検証の失敗が開始する可能性があります。

ローカル CA 証明書は、同じキーペアを使用して期限満了時に自動的にロールオーバーします。ロールオーバー証明書は、base64 形式のエクスポートに使用でき、 crypto ca server certificate コマンドを使って表示することができます。これにより、現在の証明書とロールオーバー証明書の両方を表示します。このコマンドでは、使用可能なときに、他のデバイスへのインポート時に新しい証明書の検証に使うためのロールオーバー証明書のサムプリントなど、ロールオーバー証明書に関する情報が表示されます。

ローカル CA サーバ証明書およびキーペアのアーカイブ

バックアップとして、FTP または TFTP を使用してローカル CA サーバ証明書とキーペア、およびセキュリティ アプライアンスのすべてのファイルをコピーできます。次に例を示します。

hostname#

hostname# copy LOCAL-CA-SERVER_0001.pl2 tftp://90.1.1.22/user6/


) すべてのローカル CA ファイルを可能な限り頻繁にバックアップします。


ローカル CA サーバの削除


) ローカル CA サーバを削除すると、セキュリティ アプライアンスからコンフィギュレーションが削除されます。一度削除されたコンフィギュレーションは元に戻せません。


既存のローカル CA サーバを削除するには、イネーブルかディセーブルかにかかわらず、グローバル コンフィギュレーション モードで no crypto ca server コマンドまたは clear config crypto ca server コマンドを発行してから、関連するデータベースおよびコンフィギュレーション ファイル(ワイルドカード名の付いたすべてのファイル、LOCAL-CA-SERVER.*)を削除します。