このドキュメントでは、Cisco IOS® ルータを Certificate Authority(CA; 認証局)サーバとして設定する方法について説明しています。さらに、Cisco VPN 3000コンセントレータをCisco IOSルータに登録して、IPSec認証用のルートおよびID証明書を取得する方法を説明します。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco IOSソフトウェアリリース12.3(4)T3が稼働するCisco 2600シリーズルータ
Cisco VPN 3030コンセントレータバージョン4.1.2
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
このドキュメントでは、次のネットワーク セットアップを使用します。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
最初のステップは、Cisco IOS CAサーバが使用するRSAキーペアを生成することです。ルータ(R1)で、次のようにRSAキーを生成します。
R1(config)#crypto key generate rsa general-keys label cisco1 exportable The name for the keys will be: cisco1 Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: % Generating 512 bit RSA keys ...[OK] R1(config)# *Jan 22 09:51:46.116: %SSH-5-ENABLED: SSH 1.99 has been enabled
注:証明書サーバに使用するキーペア(key-label)に同じ名前を使用する必要があります(後で説明するcrypto pki server cs-labelコマンドを使用します)。
その後、キーを不揮発性RAM(NVRAM)またはTFTP(設定に基づく)にエクスポートする必要があります。 この例では、NVRAM を使用します。実装によっては、証明書情報を保存するために別のTFTPサーバを使用する場合があります。
R1(config)#crypto key export rsa cisco1 pem url nvram: 3des cisco123 % Key name: cisco1 Usage: General Purpose Key Exporting public key... Destination filename [cisco1.pub]? Writing file to nvram:cisco1.pub Exporting private key... Destination filename [cisco1.prv]? Writing file to nvram:cisco1.prv R1(config)#
TFTPサーバを使用している場合は、次に示すように、生成されたキーペアを再インポートできます。
crypto key import rsa key-label pem [usage-keys] {terminal | url url} [exportable] passphrase
注:キーを証明書サーバからエクスポートできない場合は、エクスポートできないキーペアとしてエクスポートした後で、証明書サーバにインポートし直してください。したがって、キーを再びオフにすることはできません。
生成されたキーペアを確認するには、show crypto key mypubkey rsaコマンドを呼び出します。
一部の show コマンドはアウトプット インタープリタ ツールによってサポートされています(登録ユーザ専用)。このツールを使用することによって、show コマンド出力の分析結果を表示できます。
R1#show crypto key mypubkey rsa % Key pair was generated at: 09:51:45 UTC Jan 22 2004 Key name: cisco1 Usage: General Purpose Key Key is exportable. Key Data: 305C300D 06092A86 4886F70D 01010105 00034B00 30480241 00CC2DC8 ED26163A B3642376 FAA91C2F 93A3825B 3ABE6A55 C9DD3E83 F7B2BD56 126E0F11 50552843 7F7CA4DA 3EC3E2CE 0F42BD6F 4C585385 3C43FF1E 04330AE3 37020301 0001 % Key pair was generated at: 09:51:54 UTC Jan 22 2004 Key name: cisco1.server Usage: Encryption Key Key is exportable. Key Data: 307C300D 06092A86 4886F70D 01010105 00036B00 30680261 00EC5578 025D3066 72149A35 32224BC4 3E41DD68 38B08D39 93A1AA43 B353F112 1E56DA42 49741698 EBD02905 FE4EC392 7174EEBF D82B4475 2A2D7DEC 83E277F8 AEC590BE 124E00E1 C1607433 5C7BC549 D532D18C DD0B7AE3 AECDDE9C 07AD84DD 89020301 0001
Cisco IOS CA サーバは、Simple Certificate Enrollment Protocol(SCEP)を使用して実行される登録だけをサポートしています。 さらに、これを可能にするには、ルータで組み込み Cisco IOS HTTP サーバが稼働している必要があります。有効にするには、ip http serverコマンドを使用します。
R1(config)#ip http server
次の手順に従います。
非常に重要なのは、証明書サーバでは手作業で生成したキー ペアに同じ名前を使用する必要があるということです。次のように、ラベルは生成済キー ペアのラベルに一致しています。
R1(config)#crypto pki server cisco1
証明書サーバをイネーブルにした後、事前設定のデフォルト値を使用するか、CLI から証明書サーバの機能用に値を指定できます。
database url コマンドは、CA サーバのすべてのデータベース エントリを書き出す場所を指定します。
このコマンドを指定しない場合、すべてのデータベース エントリはフラッシュに書き込まれます。
R1(cs-server)#database url nvram:
注:TFTPサーバを使用する場合、URLはtftp://<ip_address>/directoryである必要があります。
データベース レベルを次のように設定します。
R1(cs-server)#database level minimum
このコマンドは、証明書登録データベースに保存されるデータの種類を制御します。
Minimum:競合のない新しい証明書の発行を続けるためにのみ、十分な情報が保存されます。デフォルト値です。
names:minimum レベルで得られる情報のほか、各証明書のシリアル番号および主体者名。
complete:minimum レベルおよび names レベルで得られる情報のほか、発行済みの各証明書がデータベースに書き込まれます。
注意: completeキーワードは大量の情報を生成します。このコマンドを発行した場合は、database urlコマンドを使用してデータを保存する外部TFTPサーバを指定する必要があります。
指定された DN 文字列に CA 発行者名を設定します。この例では、cisco1.cisco.comのCN(Common Name)、RTPのL(Locality)、およびUSのC(Country)が使用されます。
R1(cs-server)#issuer-name CN=cisco1.cisco.com L=RTP C=US
CA 証明書または証明書のライフタイムを日単位で指定します。
有効な範囲は、1 ~ 1825 日です。デフォルトのCA証明書ライフタイムは3年で、デフォルトの証明書ライフタイムは1年です。証明書の有効期間の最大は、CA証明書の有効期間よりも1か月短くなります。以下に、いくつかの例を示します。
R1(cs-server)#lifetime ca-certificate 365 R1(cs-server)#lifetime certificate 200
証明書サーバで使用する CRL のライフタイムを時間単位で定義します。ライフタイムの最大値は336時間(2週間)です。 デフォルト値は168時(1週間)です。
R1(cs-server)#lifetime crl 24
証明書サーバによって発行される証明書で使用される証明書失効リスト(CDP)を定義します。URL は HTTP URL である必要があります。
たとえば、サーバのIPアドレスは172.18.108.26です。
R1(cs-server)#cdp-url http://172.18.108.26/cisco1cdp.cisco1.crl
no shutdownコマンドを発行して、CAサーバを有効にします。
R1(cs-server)#no shutdown
注:このコマンドは、証明書サーバを完全に設定した後にのみ発行してください。
次の手順に従います。
[Administration] > [Certificate Management] を選択し、[Click here to install a CA certificate] を選択して、Cisco IOS CAサーバからルート証明書を取得します。
インストール方法として[SCEP]を選択します。
Cisco IOS CAサーバのURL、CA記述子を入力し、[Retrieve]をクリックします。
注:この例の正しいURLはhttp://14.38.99.99/cgi-bin/pkiclient.exeです(/cgi-bin/pkiclient.exeの完全なパスを含める必要があります)。
[Administration] > [Certificate Management] を選択して、ルート証明書がインストールされていることを確認します。この図は、ルート証明書の詳細を示しています。
[Click here to enroll a Certificate Authority]を選択し、Cisco IOS CAサーバからID証明書を取得します。
Enroll via SCEP at cisco1.cisco.comを選択します(cisco1.cisco.comはCisco IOS CAサーバのCNです)。
証明書要求に含めるすべての情報を入力して、登録フォームに入力します。
フォームの入力が完了したら、[Enroll]をクリックして、CAサーバへの登録要求を開始します。
[Enroll]をクリックすると、VPN 3000コンセントレータに「A certificate request has been generated」と表示されます。
注:Cisco IOS CA Serverは、Cisco IOS CA Serverサブコマンドgrant automaticを使用して証明書を自動的に付与するように設定できます。この例では、このコマンドを使用します。ID証明書の詳細を表示するには、[Administration] > [Certificate Management]を選択します。表示される証明書は次のようになります。
確認情報については、「生成されたキーペアの確認」セクションを参照してください。
トラブルシューティング情報については、『VPN 3000コンセントレータの接続に関する問題のトラブルシューティング』または『IP Securityのトラブルシューティング – debugコマンドの理解と使用』を参照してください。