Cisco IOS セキュリティ コンフィギュレーション ガ イド:Secure Connectivity
PKI への登録のための Secure Device Provisioning(SDP)の設定
SDP 設定の前提条件
発行日;2012/01/09 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 11MB) | フィードバック

目次

SDP 設定の前提条件

PKI への登録のための SDP の設定について

SDP の概要

SDP の機能

SDP 予備接続段階

SDP 接続段階

SDP スタティック段階

SDP ようこそ段階

SDP 紹介段階

SDP 完了段階

USB トークンを活用している SDP

SDP を使用した USB トークンの設定

設定された USB トークンの使用

SDP による外部 AAA データベースの使用方法

SDP の認証および認可リスト

管理イントロデューサの認証リストと認可リスト

カスタム テンプレートの SDP での動作

カスタム テンプレート型変数の展開

カスタム テンプレート型変数の展開ルール

SDP トランザクション Web ページのデフォルト テンプレート

設定ファイルのデフォルト テンプレート

PKI の SDP の設定方法

SDP ペティショナのイネーブル化

前提条件

トラブルシューティングのヒント

この次の手順

SDP レジストラのイネーブル化と AAA リストのサーバへの追加

前提条件

制約事項

template config コマンド

証明書を使用した認可のための SDP レジストラのイネーブル化

前提条件

制約事項

管理イントロデューサの設定

前提条件

制約事項

カスタム テンプレートの設定

SDP 経由での PKI 設定の設定例

SDP レジストラの確認:例

SDP ペティショナの確認:例

AAA リストの RADIUS または TACACS+ サーバへの追加:例

TACACS+ AAA サーバ データベース:例

RADIUS AAA サーバ データベース:例

TACACS+ および RADIUS AAA サーバ上の AAA リスト:例

設定テンプレート ファイルの使用:例

CGI スクリプト:例

証明書を使用した認証のペティショナとレジストラの設定:例

認証リストおよび認可リストを使用した管理イントロデューサの設定:例

その他の参考資料

関連資料

シスコのテクニカル サポート

PKI での SDP の機能情報

SDP 設定の前提条件

PKI への登録のための SDP の設定

SDP を設定する前に、次の要件を満たす必要があります。

ペティショナのデバイスとサーバは、互いに IP 接続されている必要があります。

イントロデューサには、JavaScript をサポートする Web ブラウザが必要です。

イントロデューサは、クライアント デバイスで特権をイネーブルにしておく必要があります。

Cisco IOS リリース 12.3(8)T PKI 対応イメージまたは以降のイメージ。

USB トークンを使用した PKI への登録のための SDP の設定

USB トークンを活用してデバイスを SDP にプロビジョニングするには、ご使用の環境が次の要件を満たしている必要があります。

ペティショナのデバイスとサーバの両方とも、互いに IP 接続されている必要があります。

イントロデューサには、JavaScript をサポートする Web ブラウザが必要です。

イントロデューサは、クライアント デバイスで特権をイネーブルにしておく必要があります。

イントロデューサは、ペティショナのデバイスにアクセスできなければなりません。

イントロデューサは、設定されている場合は、USB トークンと PIN にアクセスできなければなりません。

Cisco IOS リリース 12.4(15)T PKI 対応イメージまたは以降のイメージ。


) Cisco IOS リリース 12.4(15)T 以降のリリースは、USB トークンに保管された認定証を移動する柔軟性を備えています。ただし、USB トークンの設定に使用したデバイスは 任意の Cisco IOS リリース 12.3(14)T PKI 対応イメージまたは以降のイメージを実行できます。


サービス プロバイダー経由のインターネット接続に対する SDP を使用したデバイスの設定

SDP を活用してインターネットに接続されていないデバイスを設定するには、ご使用の環境が次の要件を満たしている必要があります。

イントロデューサには、JavaScript をサポートする Web ブラウザが必要です。

イントロデューサは、クライアント デバイスで特権をイネーブルにしておく必要があります。

DHCP クライアントおよび PPPoE クライアントをサポートし、LAN または WAN インターフェイスが設定されているシスコ ルータ。

Cisco IOS リリース 12.4(20)T PKI 対応イメージまたは以降のイメージ。前回の Cisco IOS リリースがいずれかのデバイスで使用されている場合、SDP 機能はデフォルトで以前の Cisco IOS バージョンになります。

PKI への登録のための SDP の設定について

証明書の登録のために SDP を使用する前に、次の概念を理解しておく必要があります。

「SDP の概要」

「SDP の機能」

「USB トークンを活用している SDP」

「SDP による外部 AAA データベースの使用方法」

「カスタム テンプレートの SDP での動作」

SDP の概要

SDP( Trusted Transitive Introduction [TTI ] とも呼ばれている)は、新しいネットワーク デバイスと Virtual Private Network(VPN; バーチャル プライベート ネットワーク)間といった 2 つのエンド エンティティ間の双方向導入を実現する通信プロトコルです。SDP には次の 3 つのエンティティが必要です(図 1 を参照)。

イントロデューサ:ペティショナをレジストラに紹介する相互に信頼できるデバイス。イントロデューサは、システム管理者などのデバイス ユーザの場合があります。

イントロデューサは、管理イントロデューサとして設定できます。これにより紹介を行っている管理者は、紹介中のデバイスの名前を提供できます。提供されたデバイス名は、通常の SDP メカニズムにおいてイントロデューサの名前のように使用され、SDP 設定の既存機能を保持します。管理イントロデューサの機能の詳細については、 「管理イントロデューサの認証リストと認可リスト」 の項を参照してください。

ペティショナ:セキュア ネットワークに紹介されるクライアント、あるいは新しいデバイス。

レジストラ:ペティショナを認証するサーバ。レジストラは、証明書サーバの場合があります。

図 1 紹介後のセキュア通信

 

Cisco IOS リリース 12.4(20)T 以降のリリースの時点では、ペティショナにあらかじめインターネット接続を確立しなくても、SDP プロセスを起動できます。予備接続段階と接続段階を利用することで、サービス プロバイダー経由のインターネット接続に対してペティショナを設定できます。予備接続段階と接続段階の詳細については、 「SDP の機能」 の項を参照してください。

レジストラは、外部 Authentication, Authorization, and Accounting(AAA; 認証、認可、アカウンティング)サーバと直接通信し、ペティショナの認定証を確認し、登録を許可または拒否して、特定のペティショナ設定情報を取得します。ペティショナとレジストラは、エンド ユーザであるイントロデューサへ Web ページを配信します。ペティショナは、イントロデューサの Web ブラウザ経由でリモート管理システムからブートストラップ設定を受信します。

SDP は、予備接続(オプション)、接続、開始(オプション)、ようこそ、紹介、および完了の可能な 6 つの段階により Web ブラウザ上に実装されます。各段階は、Web ページを通してユーザに表示されます。各段階の詳細については、 「SDP の機能」 の項を参照してください。

SDP の機能

ここでは、SDP が 2 つのデバイス間で PKI を展開する方法について説明します。

「SDP 予備接続段階」

「SDP 接続段階」

「SDP スタティック段階」

「SDP ようこそ段階」

「SDP 紹介段階」

「SDP 完了段階」

SDP プロセスは、イントロデューサにより Web ブラウザにロードされている 3 つの入口ページのいずれかで起動します。3 つの入口ページは、管理者から受信した SDP 予備接続段階、レジストラからロードされた開始段階、ペティショナからロードされたようこそ段階です。

サンプル図では、ローカル デバイス(ペティショナ)をレジストラのセキュア ドメインに紹介する方法を示しています。「イントロデューサ」は、エンド ユーザとも呼ばれます。

SDP 予備接続段階

予備接続ページはオプションです。予備接続ページがない場合、ペティショナは IP 接続を確立しておく必要があります。

管理者は予備接続テンプレートを設定し、予備接続ページをイントロデューサに送信する必要があります。予備接続テンプレートの設定の詳細については、 「デフォルトの予備接続テンプレート」 の項を参照してください。

また管理者は、電話、E メール、セキュア E メール、CD、または USB トークンでセキュア ネットワークのユーザ名とパスワードを取得し、イントロデューサに連絡する必要があります。レジストラは、既存の AAA インフラストラクチャ(たとえば、既存の企業ドメインの一部である既存のユーザ名とパスワードのデータベース)を使用してイントロデューサを認証するよう設定できます。SDP 予備接続段階では、一般的な AAA インフラストラクチャで使用されているようなワンタイム パスワード メカニズムがサポートされています。SDP および AAA の詳細については、 「SDP による外部 AAA データベースの使用方法」 の項を参照してください。

予備接続ページを受信後、イントロデューサはそのページを HTTP ブラウザが動作するコンピュータにロードする必要があります。イントロデューサが予備接続ページをローカル ファイルとして HTTP ブラウザにロードすると、予備接続ページが表示されます(図 2 を参照)。

図 2 SDP 予備接続ページのサンプル

イントロデューサが [Log onto Cisco Device] ボタンをクリックすると、ログイン ダイアログボックスが表示されます(図 3 を参照)。イントロデューサは、シスコ デバイスの出荷時デフォルトのユーザ名(cisco)とパスワード(cisco)を入力します。

図 3 ペティショナ ログイン ダイアログボックスのサンプル

イントロデューサはペティショナを認証し、既知の URL にアクセスすることでインターネット接続をテストします。www.cisco.com(198.133.219.25)へのアクセスがデフォルトでテストされます。管理者は、デフォルト予備接続テンプレートを変更することで、URL をテスト接続用に変更できます。デフォルト テスト URL および管理者が予備接続ページに対して設定できるその他フィールドの詳細については、 「デフォルトの予備接続テンプレート」 の項を参照してください。


) 予備接続ページに信頼できないレジストラの IP アドレスが含まれるよう変更されたり、予備接続ページが信頼できない発信元から E メール送信される可能性を減らすため、セキュア E メールなどのセキュアな方法を使用して予備接続ページを送信してください。


インターネット接続が確立されると、管理者により定義された予備接続テンプレート設定によって、開始ページまたはようこそページのいずれかが表示されます。インターネット接続が確立されていない場合は、接続ページが表示されます。

SDP 接続段階

接続ページは、予備接続ページが使用され、予備接続ページの完了時にペティショナの IP 接続がない場合だけ表示されます。接続ページには、Cisco IOS プラットフォームに柔軟性をもたらすため Dynamic Host Configuration Protocol(DHCP)、Point to Point Protocol over Ethernet(PPPoE)、またはスタティック IP アドレス割り当ての 3 つの IP アドレス割り当て方法があります。


) インターネット接続を確立する場合、Cisco IOS 設定では SDP 機能は使用されません。SDP 機能には Cisco IOS 設定にシグニチャがあり、送信中の値が変更されないようにします。


DHCP IP アドレス割り当て方法

イントロデューサが IP アドレス割り当て方法オプションとしてデフォルト方法である DHCP を選択すると(図 4 を参照)、[Connect] ボタンをクリックするとペティショナのインターネット接続が設定されます。

図 4 DHCP IP アドレス割り当て方法のサンプル接続ページ

PPPoE IP アドレス割り当て方法

イントロデューサが PPPoE を選択すると、PPPoE ユーザ名およびパスワードの入力フィールドが表示されます(図 5 を参照)。イントロデューサは、Internet Service Provider(ISP; インターネット サービス プロバイダー)により提供されたユーザ名とパスワードを入力し、[Connect] ボタンをクリックする必要があります。これによりペティショナのインターネット接続が設定されます。

図 5 PPPoE IP アドレス割り当て方法のサンプル接続ページ

スタティック IP アドレス割り当て方法

イントロデューサがスタティックを選択すると、IP アドレス、ネットマスク、およびデフォルト ゲートウェイの入力フィールドが表示されます(図 6 を参照)。イントロデューサは、ISP により提供された設定値を入力し、[Connect] ボタンをクリックする必要があります。これによりペティショナのインターネット接続が設定されます。

図 6 スタティック IP アドレス割り当て方法の接続ページ

接続ページ IP アドレス設定

IP アドレス設定後、予備接続テンプレートで管理者により設定された既知の URL(デフォルトで www.cisco.com)にアクセスすることで、インターネット接続を再度テストします。これでインターネット接続が確立されると、管理者により定義された予備接続テンプレート設定によって、開始ページまたはようこそページのいずれかが表示されます。インターネット接続が確立されない場合、イントロデューサは入力された設定を確認するか、管理者に連絡します。

SDP スタティック段階

開始ページはオプションです。SDP 交換中に開始ページがない場合、ようこそページで [Next] ボタンをクリックすると、ユーザはレジストラの紹介ページに送信されます。ユーザがまだレジストラに接続していない場合、使用可能な認定証を使用して(レジストラを設定するたびに)レジストラにログインする必要があります。ユーザ認定証を要求した後(ユーザがログイン データを入力した後)では、レジストラに再接続できないブラウザもあります。Cisco IOS リリース 12.4(4)T の時点では、ユーザは、開始ページからレジストラの紹介 URL に連絡することで SDP 交換を開始するようブラウザを設定できます。その後、レジストラはペティショナ デバイスにあるようこそページにユーザを送信できます。SDP トランザクションは、このマニュアルに記載されているように、ようこそ、紹介、完了の各段階を経て継続されます。

レジストラから SDP トランザクションを開始するには、 template http start コマンド経由でブラウザを設定する必要があります。それ以外の場合、SDP トランザクションはペティショナのようこそページから始まる必要があります。カスタム テンプレートの設定方法の詳細については、 「カスタム テンプレートの SDP での動作」 の項を参照してください。

ようこそページが表示される前に、ユーザは自分のブラウザを URL「http://registrar/ezsdd/intro」経由で開始ページに送信する必要があります。ログイン ダイアログボックスが表示されると、エンド ユーザは、管理者により提供されたユーザ名とパスワードを使用してレジストラにログインし、セキュア ネットワークにアクセスできます(図 7 を参照)。

図 7 レジストラ リモート ログイン ダイアログボックス

 

有効なユーザ名とパスワードを入力すると、開始ページが表示されます(図 8 を参照)。

図 8 サンプル SDP 開始ページ

開始 Web ページでペティショナのようこそページの URL(例:http://10.10.10.1/ezsdd/welcome)を入力し、[Next] ボタンをクリックすると、エンド ユーザは SDP ようこそ段階に入り、図 9 に示すように自分のペティショナにログインします。

SDP ようこそ段階

ようこそ段階は、開始ページでユーザが [Next] ボタンをクリックすると開始されます。ようこそページが表示される前に、ユーザは URL「http://10.10.10.1/ezsdd/welcome」経由でペティショナにログインする必要があります。ローカル ログイン ダイアログボックスが表示されます(図 9 を参照)。エンド ユーザは、出荷時デフォルトのユーザ名(cisco)とパスワード(cisco)でローカル デバイスにログインできます。

図 9 ペティショナ ローカル ログイン ダイアログボックス

パスワードの入力に成功すると、ペティショナにより処理されるようこそ Web ページが表示されます(図 10 を参照)。

図 10 サンプル SDP ようこそページ

ようこそ Web ページでレジストラの URL(例:http://192.0.2.155/ezsdd/intro)を入力し、[Next] ボタンをクリックすると、SDP 紹介段階が始まり、レジストラにより処理される紹介ページが表示されます。

SDP 紹介段階

紹介ページを表示する前に、開始ページからまだログインしていない場合、エンド ユーザはレジストラにログインする必要があります( 「SDP スタティック段階」 を参照)。ここで外部 AAA データベースを利用します。

外部 AAA データベースがある場合、レジストラのイネーブル パスワードを知らなくても、イントロデューサはデータベースのアカウントを使用して紹介を行うことができます。外部 AAA データベースがない場合、イントロデューサは認証のためレジストラのイネーブル パスワードを使用できます。


) レジストラのイネーブル パスワードを使用すると、パスワードがエンド ユーザに公開されます。したがって、イネーブル パスワードは管理テストの目的でだけ使用することを推奨します。


管理イントロデューサは、紹介ページ(または開始ページ)の HTTP 認証で識別され、AAA データベース クエリーによりユーザの管理特権が戻されます。イントロデューサに管理特権がある場合、デバイス名は管理紹介ページに入力された名前になります。イントロデューサに管理特権がない場合、デバイス名はイントロデューサ名になります。既存のデバイス証明書はペティショナの現在の証明書で、Manufacturing Identification Certificate(MIC; 製造識別証明書)の場合があります。この証明書は存在する場合も、しない場合もあります。外部 AAA データベースの機能の詳細については、 「SDP による外部 AAA データベースの使用方法」 の項を参照してください。

エンド ユーザがパスワードの入力に成功したら、紹介 Web ページが表示されます(図 11 を参照)。

図 11 サンプル SDP 紹介ページ

この時点で、レジストラはデバイス情報を外部管理システムに渡し、ブートストラップ設定ファイルを取得します。カスタマイズされたブートストラップ設定ファイルで使用できるオプションの詳細については、 「カスタム HTML テンプレートの展開ルール」 の項を参照してください。

紹介ページで [Next] ボタンをクリックすると、エンド ユーザは完了段階に入り、自動的に自分のデバイスに戻ります。

SDP 完了段階

エンド ユーザがペティショナをレジストラに登録したら、ペティショナは完了ページを処理します(図 12 を参照)。

図 12 サンプル SDP 完了ページ

これで SDP 交換が完了しました。ペティショナはレジストラから設定情報を受信したため、まもなくレジストラから証明書を受信するはずです。

USB トークンを活用している SDP

SDP により極めてスケーラブルな配置が実現され、個々のデバイスまたは複数デバイスの配置が簡略化されます。USB トークンによりセキュアな保管と設定の配信が行われます。

Cisco IOS リリース 12.4(15)T 以降の時点では、USB トークンは SDP を使用して PKI 証明書を転送する場合に利用でき、SDP は USB トークンの設定に使用できます。USB トークンを使用して、同じ位置にあるデバイスをプロビジョニングしたり、リモート デバイスのプロビジョニングとして使用できる別の場所に USB トークンを転送できます。USB トークンの設定と使用方法の詳細については、 「関連資料」 の項を参照してください。

USB トークンを使用して PKI 認定証をに転送する SDP 配置の例を図 13 に示します。必要なデバイスとして、USB トークンとデバイスのプロビジョニングに必要な SDP エンティティがあります。これらの SDP エンティティは、イントロデューサ、レジストラ、ローカル位置のペティショナであるペティショナ A、リモート位置でのペティショナであるペティショナ B になります。オプションとして、管理サーバが使用できます。


) オプション設定は、1 台のデバイスをレジストラおよびペティショナ両方として設定することです。これは、USB トークンがリモート位置に転送される場合に利点があります。リモート位置では、個別のペティショナ デバイスは必要ありません。


図 13 USB トークンを使用した認定証転送の SDP 環境例

SDP を使用した USB トークンの設定

SDP 導入の開始前に、USB トークンがペティショナ デバイスに挿入されます。図 13 の設定例では、USB トークンはペティショナ A に挿入されます。ペティショナは、USB トークンにある既存の情報を無視するよう設定できます。通常の SDP 操作の場合のように、USB トークンのスケーラブル設定では、テンプレートの初期設定を作成し、適切なターゲット設定情報を備えた各 SDP デバイスに配置する必要があります。

デバイスのプロビジョニングに使用するファイルは、次のように図 13 の矢印の番号で示す順番で移動します。

1. ペティショナの 1 つ、ペティショナ A はローカル位置にあります。ペティショナ A は SDP 交換に直接関わり、USB トークンの初期設定を行います。USB トークン、バイナリ ファイル、テンプレート ファイルの設定に使用するファイルは、レジストラから取得され、ペティショナ A に移動します。

バイナリ ファイル位置の URL は、レジストラで展開されます。バイナリ ファイルは、テンプレート展開機能では処理されません。テンプレート展開はレジストラで、発信元 URL と宛先 URL の両方に対して行われます。

デフォルトでは、バイナリ ファイルとテンプレート ファイルは NVRAM から取得され、それぞれレジストラとペティショナに保管されます。レジストラのバイナリ ファイル位置とペティショナ A の宛先バイナリ ファイル位置は、 binary file コマンドで指定できます。レジストラのテンプレート ファイル位置とペティショナ A の宛先テンプレート ファイル位置は、 template file コマンドで指定できます。

2. RSA キーおよび証明書チェーン情報は、ペティショナ A から USB トークンに移動します。

3. USB トークンはリモート位置に転送され、ペティショナ B に挿入されます。

4. USB トークンの設定ファイルは、ローカル デバイスのプロビジョニングに使用されます。USB トークンのファイルは、 crypto key move rsa コマンドでペティショナ B の保管位置に移動できます。

SDP 段階と USB トークン

「SDP の概要」 の項で紹介された同じ SDP フェーズ概念が使用されます。SDP ようこそ段階、SDP 紹介段階、および SDP 完了段階には次のような違いがあります。

SDP ようこそページと USB トークン

ようこそユーザ インターフェイスに接続して紹介が開始される場合、SDP ようこそ段階は通常どおり開始します。USB トークンに既存の証明書がある場合、SDP 交換に署名する場合に使用されます。ローカルな RSA キー ペアではなく、トークンの新しい RSA キー ペアが使用されます。


) RSA キー ペアは、キーがトークンで生成される場合、どの場所からでも実質的に 5 分~10 分掛かります。時間の長さは、USB トークンで使用できるハードウェア キー生成により異なります。イントロデューサには、RSA キー ペアが生成されていることを示す情報 Web ページが表示されます。


ペティショナ A で生成された新しいキー ペアは、既存の RSA キー ペアを削除しなくても、USB トークンに追加されます。SDP AV ペアは、トークンが使用中であり、またトークンのセカンダリ設定情報があるかどうか両方を示します。オプションの管理サーバが使用中の場合、AV ペア情報を使用して、特殊な設定コマンドが必要かどうかを判断します。

SDP 紹介段階と USB トークン

SDP 紹介段階は、レジストラに転送中の AV ペアから開始します。レジストラにより USB トークン関連の AV ペアが検出されると、レジストラがすでに設定されている場合、レジストラは USB トークン宛ての設定情報を作成できます。現在、設定コマンドは特定の設定ファイルとして送信され、引き続き実行コンフィギュレーションとマージされます。

管理者は通常の SDP 設定コマンドを活用して、USB トークンを設定できます。設定する必要がある USB トークン情報には、証明書、ブートストラップ設定、および PIN 番号設定があります。

SDP 完了段階と USB トークン

完了段階の始めに、紹介はペティショナ(図 13 では、ペティショナ A になります)に転送中の AV ペアに移ります。指定のファイル システム位置には各種ファイルが保管されており、既存の設定ファイル処理が行われます。この順序により、転送された新しいファイルを設定で利用できます。

設定された USB トークンの使用

USB トークンがペティショナ A により設定されたら、その現在位置からリモート位置へと転送されます。リモート位置には、2 番目のペティショナであるペティショナ B が配置されています。USB トークンはターゲット デバイスであるペティショナ B に挿入されます。ペティショナ B では USB トークンの設定と USB トークンの暗号素材が継承されます。リモート位置のエンド ユーザには、USB トークンの PIN 番号がなければなりません。PIN 番号は、出荷時デフォルトの PN 番号、または紹介段階中に管理者が設定した PIN 番号のいずれかになります。

SDP による外部 AAA データベースの使用方法

外部 AAA データベースは、SDP 交換中に 2 回アクセスされます。AAA データベースへの最初のアクセスでは、イントロデューサが認証されます。つまりレジストラで、セキュア HTTP(HTTPS)サーバ経由で紹介要求が受信されると、イントロデューサのユーザ名とパスワードに基づいて AAA 検索が行われ、要求が許可されます。AAA データベースへの 2 番目のアクセスでは、認証情報が取得され、ペティショナ デバイスに発行された設定および証明書に適用されます。つまり、レジストラはペティショナが署名している証明書を使用して要求シグニチャが完全であることを確認します。証明書の題名は AAA データベースで指定でき、最大 9 つの設定テンプレート型変数を指定し、テンプレート設定にまで展開できます。

自己署名証明書と別の CA サーバにより発行された証明書の使用

デフォルトでは、SDP 交換の実施結果では、ペティショナ デバイスに証明書が 1 枚だけ発行されます。発行される証明書は 1 枚だけですが、イントロデューサでは複数デバイスを紹介し、複数の証明書を取得する際の制限はありません。発行されている証明書の題名を指定することで、イントロデューサに関連しているすべての証明書がこのように発行されていることを保証できます。PKI AAA 統合により、さらにこれらの証明書の使用を制限できます。さらに、ユーザごとに 1 つだけ認証および認可の要求を許可するよう、AAA データベースを設定できます。

ペティショナ証明書は自己署名されているため、ペティショナの公開鍵を伝送するためだけに使用されます。証明書に対する確認チェックや認可チェックは行われません。したがって、認可はユーザごとに行われ、デバイス単位の情報は使用されません。

デバイス単位の認可を使用した方が好ましい場合もあります。したがって、ペティショナが SDP トランザクションのために他の Certification Authority(CA; 認証機関)サーバにより発行された証明書を使用できる場合、既存の PKI を使用でき、その証明書アトリビュートに対して認可を受けることができます。

証明書を使用して認可を受けるためにペティショナとレジストラを設定すると、展開中の特定のデバイスの認可が受けられます。以前は、イントロデューサとペティショナ間の通信は、イントロデューサとペティショナ デバイス間の物理的なセキュリティだけでその安全が確保されていました。SDP の証明書を使用した認可では、レジストラは紹介を受け入れる前に、現在のデバイス ID を確認できる機会があります。

SDP の認証および認可リスト

SDP レジストラを設定している場合に認証リストと認可リストを指定すると、レジストラではイントロデューサのすべての要求に対して、指定のリストが使用されます。認証リストは、イントロデューサを認証する場合に使用されます(AAA サーバでユーザ名とパスワードを確認して、アカウントが有効かどうか確認されます)。認可リストは、証明書題名およびペティショナに返信される Cisco IOS Command-Line Interface(CLI; コマンドライン インターフェイス)スニペットに展開されるテンプレート型変数のリストの該当認可フィールドを受信する場合に使用されます。認証リストと認可リストは通常、同じ AAA サーバ リストを指しますが、認証と認可に異なるデータベースを使用できます (異なるデータベースへのファイルの保管は推奨しません)。

ペティショナが紹介要求をする場合、複数の照会が RADIUS サーバまたは TACACS+ サーバ上の AAA リスト データベースに送信されます。照会により、次の形式のエントリが検索されます。

user Password <userpassword>
cisco-avpair="ttti:subjectname=<<DN subjectname>>"
cisco-avpair="tti:iosconfig#<<value>>"
cisco-avpair="tti:iosconfig#<<value>>"
cisco-avpair="tti:iosconfig#=<<value>>"

) 有効な AAA ユーザ名レコードさえあれば、認証チェックを通過できます。「cisco-avpair=tti」情報は、認可チェックの場合だけ必要です。


認可応答で題名を受信した場合、SDP レジストラによりその題名は登録データベースに保管され、「subjectname」は、ペティショナ デバイスからの以降の証明書要求(PKCS10)で提供される題名より優先されます。

番号が付けられた「tti:iosconfig」値は、ペティショナに送信される SDP Cisco IOS スニペットに展開されます。設定により、あらゆる番号付き($1 ~ $9)のテンプレート型変数が置き換えられます。デフォルト Cisco IOS スニペット テンプレートには変数 $1 ~ $9 が含まれていないため、外部 Cisco IOS スニペット テンプレートを設定しない限り、これらの変数は無視されます。外部設定を指定するには、 template config コマンドを使用します。外部設定の詳細については、 「カスタム設定とファイルのテンプレート型変数のペティショナでの展開ルール」 の項を参照してください。


) テンプレート設定位置には、変数「$n」が含まれている場合があります。この変数はユーザがログインに使用した名前に展開されます。


管理イントロデューサの認証リストと認可リスト

SDP メカニズムでは、イントロデューサとデバイス間に永続的関係があることを前提としています。その結果、イントロデューサのユーザ名はデバイス名の定義に使用されます。

SDP 配置シナリオの中には、イントロデューサが多数のデバイスの紹介を行う、管理者の場合があります。ただし、イントロデューサ(管理者)名を使用してデバイス名を定義すると、複数のデバイスのデバイス名が同じになり、正しく配置されなくなります。代わりに、管理イントロデューサを使用すれば、管理者は紹介中に正しいデバイス名を指定できます。

一般的に言えば、イントロデューサのユーザ名がデータベース レコード ロケータとして使用され、Cisco IOS 設定テンプレート、(AAA データベースから取り出され、テンプレートに展開される)各種テンプレート型変数、およびデバイスに発行された PKI 証明書の該当する題名など、デバイスに関する他のすべての情報が決定されます。簡単にするため、データベース レコード ロケータはユーザ名またはデバイス名と呼びます。

管理イントロデューサは、デバイス名を提供します。そのようにして、管理者は紹介を行う場合に適切なレコード ロケータを提供できます。たとえば、管理者がユーザ名「user1」のデバイスを紹介しようとしている場合、管理者はそのデバイスを PKI ネットワークに紹介し、管理者自身の認定証を使用してレジストラにログイン後、user1 をレコード ロケータとして提供します。レコード ロケータ user1 がデバイス名になります。紹介に固有の他のすべてのテンプレートおよび PKI 証明書の題名に関する情報が、管理者のレコードではなく、user1 ユーザ名レコードにより提供されます。

レジストラ デバイスでは、ユーザ イントロデューサ名とともに、提供されたユーザ名情報が使用されます。ユーザ名により既存のメカニズムで、変更なくサポートする必要があるユーザの認可、テンプレート、および PKI 証明書の情報が判断できます。

カスタム テンプレートの SDP での動作

カスタム テンプレートを使用して、SDP プロセスを簡略化できます。

カスタム テンプレートにより、Web ページに必要な開始情報を記入できるため、イントロデューサはレジストラに連絡する必要がなくなり、SDP トランザクションを即座に開始できます。

カスタム テンプレートにより、カスタマイズされた展開情報を Web ページに表示できるため、ユーザに合せてユーザ エクスペリエンスを調整できます。

デフォルト テンプレートを変更すると、カスタム テンプレートを簡単に定義できます。カスタム テンプレートがない場合、イントロデューサは SDP トランザクションが開始できるための情報をレジストラに問い合せる必要があります。デフォルト テンプレートのリストについては、 「SDP トランザクション Web ページのデフォルト テンプレート」 の項を参照してください。


) カスタム テンプレートを設定するのは、上級の SDP ユーザだけが設定することを推奨します。テンプレートがイントロデューサのブラウザに表示される前に、テンプレートを誤って変更してしまった場合に問題が発生するおそれがあるためです。


カスタム テンプレート型変数の展開

テンプレートには、Cisco IOS SDP レジストラまたはペティショナにより置き換えられる展開変数があります。これらの変数は、次のように展開されます。

$$:「$」

$a:AV のペア

$c:Trusted certificate

$d:ブラウザのダンプ AV のペア

$h:ホスト名

$k:キーラベルまたは「tti」

$l:トラストポイント ラベル = 「tti」

$n:HTTP クライアントのユーザ名

$s:TTI 鍵のデフォルト サイズ

$t:トラストポイント設定

$u:完了 URL

$1 ~ $9:ユーザ認証中に AAA サーバから取得された変数

カスタム テンプレート型変数の展開ルール

設定とテンプレートは SDP 交換中に使用されます。使用前および配布後、これらのテンプレートは、SDP 通信段階に基づき、次のルールで展開されます。

カスタム HTML テンプレートの展開ルール

HTML テンプレートは HTTP クライアントに送信される前に、即座に展開されます。HTTP テンプレートは次のように展開されます。

$u:SDP 完了 URL(例: http://10.10.10.1/ezsdd/completion )が入力される完了 URL。この変数は、内部「ウィザード」状態として SDP により内部的に使用されます。通常のウィザード処理のため、SDP 紹介ページには「<FORM action=\"$u\"method=\"post\">」といったようなテキストが含まれている場合があります。

$n:管理イントロデューサにより入力されたイントロデューサ名またはデバイス名。

$$:$

$h:ホスト名

$a:指定のテンプレート文字があるないに関わらずすべての AV ペアは、次の HTML フォーム形式に書き出されます (これらの AV ペアは「INPUT type=hidden」でないため、テンプレートまたは SDP プロセスのデバッグのために Web ページに直接表示されます)。

<INPUT type=hidden NAME="attribute string here"

value="variable string here"><BR>

すべての HTML テンプレートに以下のラインがなければなりません。

$d = dump all av pairs in: attribute = value<BR>

URL テンプレートの展開ルール

設定テンプレートの発信元、ファイル テンプレートの発信元、およびファイル宛先には URL が存在します。これらの変数は、レジストラが URL を作成するとき、つまり設定またはファイルを取得する直前に展開されます。ファイル宛先については、これらの変数は、ペティショナによりファイルがファイル宛先にコピーされる直前に展開されます。

$$:$

$h:ホスト名

カスタム設定およびファイルのテンプレート型変数の展開ルール

カスタム設定とファイルのテンプレート型変数は両方とも、レジストラが設定またはファイルのテンプレートを作成する場合、またペティショナが設定またはファイルのテンプレートを受信する場合に展開されます。

カスタム設定とファイルのテンプレート型変数のレジストラでの展開ルール

レジストラが設定またはファイルのテンプレートを展開する場合、Cisco IOS CA により次の変数が使用されます。これらの変数は、SDP ウィザードで送信前に展開されます。

$$:$

$h:ホスト名

$t:クライアントで展開されるよう $l、$k、および $ を組み込んだ単純なトラストポイント デフォルト設定

$1 ~ $9:ユーザ認証中に AAA サーバから取得された変数(ファイル テンプレートには適用されない)

カスタム設定とファイルのテンプレート型変数のペティショナでの展開ルール

ペティショナが設定またはファイルのテンプレートを展開する場合、次の変数が展開されます。

$$:$

$h:ホスト名

$k:キーラベル

$l:トラストポイント ラベル

$s:鍵のサイズ

$c:証明書チェーンに展開

$n:ユーザ名に展開(ファイル テンプレートには適用されない)

カスタム設定 HTTP テンプレート型変数の展開ルール

カスタム設定 HTTP テンプレートにより、バックエンド Common Gateway Interface(CGI; コモン ゲートウェイ インターフェイス)スクリプトに柔軟性が与えられ、外部管理システムと統合されます。テンプレート URL は、レジストラが外部管理システムからブートストラップ設定を受信する前に、HTTP テンプレートを展開することで実行されます。デバイス情報に基づいて特定のブートストラップ設定ファイルが見つかるようにするため、デバイス名($n)は URL に展開され、外部管理システムへと渡されます。


) 表示される HTML テキストの変更だけ行う必要があります。既存の展開変数、Javascript、およびデフォルト テンプレートの形式は、テンプレートのカスタマイズ時には削除しないでください。これらのは SDP が正しく動作するために必要な情報です。


HTTP テンプレートの展開と template config コマンドにより、次のいずれかのファイル タイプを指定して、カスタマイズ ブートストラップ設定ファイルを取得できます。

デバイス名を使用した設定ファイル(例:template config http://myserver/$n-config-file.conf)

デバイス名を使用した CGI スクリプト(例:template config http://myserver/cgi-bin/mysdpcgi post)

Cisco IOS リリース 12.4(6)T の時点で、ブートストラップ設定がデバイス名だけでなく、タイプ、Cisco IOS 現行バージョン情報、および現行の設定で識別できるよう CGI サポートが拡張されました。この機能では、 post キーワードにより template config コマンドが拡張されています。このキーワードはレジストラに、HTTP または HTTPS プロトコルだけを使用した CGI スクリプト経由でこの追加デバイス情報を外部管理システムに送信するよう指示します。

レジストラにより、AV ペア($a)経由でデバイス情報が外部管理システムに渡されます。AV ペア情報を使用して、管理システムは適切なブートストラップ ファイルを識別し、レジストラに返信します。カスタマイズ ブートストラップ設定ファイルを識別するため、拡張 CGI サポートにより送信される追加 AV ペアを 表 1 に示します。

表 1 HTTP ポスト中に外部管理システムに送信される AV ペア

AV ペア
説明

TTIFixSubjectName

AAA_AT_TTI_SUBJECTNAME(レルム認証ユーザがレジストラでルート ユーザでない場合だけ送信)

TTIIosRunningConfig

show running-config brief の出力

TTIKeyHash

デバイス公開鍵上で計算されるダイジェスト

TTIPrivilege

AAA_AT_TTI_PRIVILEGE:ユーザが管理者の場合は「admin」、ユーザが管理者でない場合は「user」が送信されます(レルム認証ユーザが管理者で AAA サーバから情報が利用できる場合だけ送信)

TTISignature

UserDeviceName および TTISignCert を除く AV ペアすべてで計算されるダイジェスト

TTISignCert

デバイスの現在の証明書(デバイスに現在証明書がある場合だけ送信)

TTITemplateVar

AAA_AT_TTI_IOSCONFIG(1-9)(レルム認証ユーザがレジストラでルート ユーザでない場合だけ送信)

TTIUserName

デバイス名

TTIVersion

TTI バージョンのレジストラ

UserDeviceName

管理イントロデューサにより入力されたデバイス名(レルム認証ユーザが管理者の場合だけ送信)


) レジストラでは Cisco IOS リリース 12.4(6)T が実行され、template config コマンドは post キーワードを指定して発行する必要があります。また、url 引数には HTTP または HTTPS のいずれかが含まれていなければなりません。拡張 CGI テンプレート機能にはその他のプロトコルはサポートされていません(例:FTP)。


デフォルトの予備接続テンプレート

予備接続テンプレートは、ユーザの環境に応じた値を含めるよう、管理者により変更できます。予備接続ページのフォーマットも、テンプレートに含まれている設定により変更できます。

管理者がカスタマイズする必要があるレジストラの IP アドレスを除き、予備接続テンプレートは次に示すように使用できます。

<html><head><title>
SDP: Test Internet Connection</title></head>
<noscript><b>
If you see this message, your browser is not running JavaScript,<br>
which is required by Cisco Secure Device Provisioning.<br>
If you cannot enable JavaScript, please contact your system administrator.
<br><br></b></noscript>
<body style="background-color: rgb(204, 255, 255);">
<div style="text-align: center;"><big><big>
Secure Device Provisioning</big><br>
Test Internet Connection</big><br><br>
 
<form action="http://10.10.10.1/ezsdd/connect" method="post">
<input type="submit" value="Log onto Cisco Device"><br><br>
Default username/password is cisco/cisco.
<input type="hidden" name="TTIAfterConnectURL"
value="http://10.10.10.1/ezsdd/welcome">
<!-- Note, that for the below, 198.133.219.25 = www.cisco.com. -->
<input type="hidden" name="TTIConnectTestURL" value="http://198.133.219.25">
<input type="hidden" name="TTIInsideAddr" value="10.10.10.1">
<input type="hidden" name="TTIlanport" value="Vlan1">
<input type="hidden" name="TTIwanport" value="FastEthernet4">
</form></div></body></html>

非表示 HTML 形式フィールド

非表示 HTML 形式フィールドにより、初期設定情報が管理者により設定されたとおりにブラウザに送信されますが、署名はされていません。


) 「非表示」という用語は、イントロデューサができるだけ混乱しないよう、これらの HTML 形式フィールドが予備接続ページに表示されないことを示します。


管理者は、 表 2 に示すように、予備接続テンプレートの非表示 HTML 形式フィールドを設定できます。

表 2 予備接続段階中に送信される管理者が定義した AV ペア

AV ペア
説明

TTIAfterConnectURL

管理者は、TTIAfterConnectURL フィールドをようこそページの URL または開始ページの URL のいずれかに設定できます。ようこそページの URL は、ペティショナの出荷時デフォルト IP アドレスに指定されています。接続後 URL は、インターネット接続確立後に SDP が使用されない場合に任意の有効な URL になることができます。

TTIConnectTestURL

管理者は、TTIConnectTestURL フィールドを、インターネット接続確立時にアクセスできるはずの有効な URL に設定できます。予備接続テンプレートのデフォルト値は、www.cisco.com(198.133.219.25)です。

TTIInsideAddr

管理者は、TTIInsideAddr フィールドをペティショナの出荷時デフォルト IP アドレスに設定できます。Cisco 871 ISR の場合は、IP アドレスは 10.10.10.1 です。

TTIlanportx

管理者は、TTIlanportx フィールドをペティショナ プラットフォームの LAN インターフェイスに設定できます。このフィールドは、Cisco IOS 接続設定の適用に使用できます。Cisco 871 の場合は、フィールド値は「Vlan1」になります。

TTIwanport

管理者は、TTIwanport フィールドをペティショナの WAN インターフェイス名に設定できます。このフィールドは、Cisco IOS 接続設定の適用に使用できます。Cisco 871 の場合は、フィールド値は「FastEthernet4」になります。


) 接続テンプレートはカスタマイズできません。


デフォルト開始ページ テンプレート

<html><head><title>EZ-Secure Device Deployment Start page on $h</title></head>
<NOSCRIPT><B>
If you see this message, your browser is not running JavaScript.<BR>
Cisco Secure Device Deployment requires JavaScript.<BR> Please contact
your system adminstrator.<BR><BR></B></NOSCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function submit_to_url(form){
form.action=form.TTIWelcomeURL.value;return true;}</SCRIPT>
<B>Welcome to Cisco Secure Device Deployment Server $h</B> <FORM
action="" method="post" onSubmit="return submit_to_url(this)"> Your
device:<BR> <INPUT type="text" name="TTIWelcomeURL" size=80
value=\"\"><BR><BR> <INPUT type="submit" value="Next>"><BR>
$a</FORM></html>

デフォルトようこそページ テンプレート

<html><head><title>EZ-Secure Device Deployment WELCOME to $h</title></head>
<NOSCRIPT><B>
If you see this message, your browser is not running JavaScript.<BR>
Cisco Secure Device Deployment requires JavaScript.<BR> Please contact
your system adminstrator.<BR><BR></B></NOSCRIPT>
<SCRIPT LANGUAGE=\"JavaScript\">
function submit_to_url(form){
natURL=location.href.split(\"/\");
localURL=form.TTICompletionURL.value.split(\"/\");
if(natURL[2]!=localURL[2]){
form.TTICompletionURL.value=localURL[0]+\"//\"+natURL[2]+\"/
\"+localURL[3]+
\"/\"+localURL[4];}
form.action=form.vpnserviceurl.value;
return true;}</SCRIPT>
<B>Welcome to Cisco Secure Device Deployment for $h</B> <FORM
action=\"\" method=\"post\" onSubmit=\"return submit_to_url (this)\">
To join a Virtual Private Network (VPN) enter the web<BR> site URL
provided by your network administrator:<BR> <INPUT type=\"text\"
name=\"vpnserviceurl\" size=80 value=\"\"><BR><BR><INPUT
type=\"submit\" value=\"Next>\"><BR> $a</FORM></html>

デフォルト紹介ページ テンプレート

<html><head><title>EZ-Secure Device Deployment INTRODUCTION to $h</title>
</head><B>Welcome to the VPN network gateway on $h</B> <FORM
action=\"$u\" method=\"post\"> Your 'username' and 'password' entered
have been accepted.<BR> Your device will now be allowed to
automatically join the VPN network.<BR> <BR>Press Next to complete
automatic configuration of your VPN Device.<BR> <BR><INPUT
type=\"submit\" value=\"Next>\"><BR> $a</P></FORM></html>

デフォルト管理紹介ページ テンプレート

<html><head><title>EZ-Secure Device Deployment ADMINISTRATIVE
INTRODUCTION to $h</title></head> <NOSCRIPT><B> If you see this
message, your browser is not running JavaScript.<BR> Cisco Secure
Device Deployment requires JavaScript.<BR> Please contact your system
adminstrator.<BR><BR></B></NOSCRIPT>
<SCRIPT LANGUAGE=\"JavaScript\">
function submit_to_url(form){
form.introadminurl.value=location.href+\"/admin\";
form.action=form.introadminurl.value;
return true;}</SCRIPT>
<B>Welcome to the VPN network gateway on $h</B> <FORM action=\"\"
method=\"post\" onSubmit=\"return submit_to_url (this)\"> Your
administrator 'username' and 'password' entered have been
accepted.<BR> Please provide the name to be associated with this
device:<BR> <INPUT type=\"text\" name=\"userdevicename\" size=64
value=\"\"><BR><BR> <INPUT type=\"submit\" value=\"Next>\"><BR> <INPUT
type=\"hidden\" name=\"introadminurl\" value=\"\"><BR>
$a</FORM></html>

デフォルト完了ページ テンプレート

<html><head><title>EZ-Secure Device Deployment COMPLETE on $h</title></head>
<B>Now enrolling $h with the VPN network...</B><BR> Full network VPN
access should be available in a moment.<BR><BR> $d<BR></html>
 

設定ファイルのデフォルト テンプレート

デフォルト設定のテンプレートを示します。デフォルト設定ファイルは、設定テンプレートが指定されていない、または template config コマンドが post キーワードを指定せずに発行されている場合に使用されます。デフォルト設定テンプレートの使用方法の詳細については、 「設定テンプレート ファイルの使用:例」 の項を参照してください。

$t
!
$c
 
!
end

PKI の SDP の設定方法

ここでは、ご使用の PKI に対して SDP を設定する場合に従う次の手順について説明します。レジストラは、レジストラ設定作業のいずれかだけにしたがって設定できます。

「SDP ペティショナのイネーブル化」

「SDP レジストラのイネーブル化と AAA リストのサーバへの追加」

「証明書を使用した認可のための SDP レジストラのイネーブル化」

「管理イントロデューサの設定」

「カスタム テンプレートの設定」

SDP ペティショナのイネーブル化

ペティショナをイネーブルまたはディセーブルにし、トラストポイントを SDP 交換に関連付ける場合にこの作業を行います。

またこの作業で、証明書および特定のトラストポイントに関連付けられた Rivest、Shamir、および Adelman(RSA) 鍵を使用するようペティショナを設定できます。


) ペティショナは、暗号イメージを含むシスコ デバイスではデフォルトでイネーブルにされています。したがって、以前にペティショナをディセーブルにしたことがあったり、自動生成されたトラストポイントではなく、既存のトラストポイントを使用する場合は、crypto provisioning petitioner コマンドを発行するだけです。



) デフォルトでは、SDP ペティショナ デバイスでは既存の証明書が使用されます。複数の証明書および特定の証明書が 1 つ存在する場合は、どちらか選択するためにこの作業を行います。ただし、デフォルト動作をイネーブルにする場合にはこの作業は必要ありません。


前提条件

ip http server コマンド経由で HTTP サーバをイネーブルにする必要があります (HTTP サーバは通常、多数の Cisco IOS 設定ではデフォルトでイネーブルにされています)。

証明書および RSA 鍵を使用するようペティショナを設定している場合、SDP ペティショナ デバイスには既存の製造業者または第三者の証明書がなければなりません。

手順の概要

1. enable

2. configure terminal

3. crypto provisioning petitioner

4. trustpoint trustpoint-label

または

trustpoint signing trustpoint-label

5. end

手順の詳細

 

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

crypto provisioning petitioner

 

Router(config)# crypto provisioning petitioner

SDP ペティショナ デバイスの動作を変更できるようにし、tti-petitioner 設定モードを開始します。

コマンドと置き換えられています。

ステップ 4

trustpoint trustpoint-label

 

Router(tti-petitioner)# trustpoint mytrust

 

または

trustpoint signing trustpoint-label

 

Router(tti-petitioner)# trustpoint signing mytrust

(任意)ペティショナとレジストラ間で SDP 交換と関連付けるトラストポイントを指定します。

には自動的に「tti」のラベルが付きます。

(任意)SDP 交換中にすべての紹介データに署名する場合に使用されるトラストポイントと関連証明書を指定します。

ステップ 5

end

 

Router(tti-petitioner)# end

(任意)tti-petitioner 設定モードを終了します。

トラブルシューティングのヒント

SDP 交換が完了したら、「tti」という新しいトラストポイント ラベルができあがります。トラストポイントは、自動的に証明書サーバ(レジストラ)に登録されます。トラストポイントが実際に存在することを確認するには、 show running-config コマンドを使用します。

この次の手順

証明書と特定のトラストポイントに関連付けられた RSA 鍵を使用するようペティショナを設定する場合、作業 「証明書を使用した認可のための SDP レジストラのイネーブル化」 で次のようにレジストラを設定する必要があります。

SDP レジストラのイネーブル化と AAA リストのサーバへの追加

レジストラをイネーブルにし、証明書サーバを SDP 交換と関連付ける場合にこの作業を行います。

また、認証リストと認可リストを RADIUS サーバまたは TACACS+ サーバに追加する場合にもこの作業を行うことができます。

前提条件

レジストラを設定する前に、次の作業が完了していることを確認します。

HTTP サーバまたは HTTPS サーバをイネーブルにします。


) HTTPS Web サーバをイネーブルにする場合は ip http secure-server コマンドを発行することを推奨します。セキュア サーバをイネーブルにする場合ip http secure-trustpoint コマンドを発行する必要があります。no ip http server コマンド(標準サーバがイネーブルにされている場合) 経由で標準 HTTP サーバをディセーブルにする必要があります。指定のトラストポイントは、レジストラとユーザのブラウザ間の HTTPS 通信に適切なレジストラ ローカル トラストポイントです。


crypto pki server コマンド経由で)Cisco IOS 証明書サーバを設定します。

AAA リストを設定する場合、次の作業を完了するだけでなく、レジストラに必要な前提条件を完了する必要があります。

ユーザ情報を AAA サーバ データベースに追加します。RADIUS サーバまたは TACACS+ AAA サーバを設定するには、『 Cisco IOS Security Configuration Guide 』の「Configuring RADIUS」および「Configuring TACACS+」 の章 を参照してください。

新しい AAA リストを設定します。AAA リストを設定するには、『 Cisco IOS Security Configuration Guide 』の「Configuring RADIUS」、「Configuring TACACS+」、「Configuring Authentication」、および「Configuring Authorization」を参照してください

制約事項

Cisco IOS CA デバイスの要件

SDP プロセス中、Cisco IOS CA 証明書はピア デバイスに自動的に発行されます。SDP レジストラが第三者のベンダーの CA デバイスで設定されている場合、SDP プロセスは動作しません。

template config コマンド

Cisco IOS 設定変数は 9 つあります。設定でさらに柔軟性が必要な場合、 template config コマンドを使用して、イントロデューサに固有の設定テンプレートを参照できます。設定の柔軟性の詳細については、 「カスタム設定およびファイルのテンプレート型変数の展開ルール」 の項を参照してください。

手順の概要

1. enable

2. configure terminal

3. crypto provisioning registrar

4. pki-server label

5. authentication list list-name

6. authorization list list-name

7. template username name [ password password ]

8. template config url [ post ]

9. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

crypto provisioning registrar

 

Router(config)# crypto provisioning registrar

デバイスを SDP 交換のレジストラになるよう設定し、tti-registrar 設定モードを開始します。

コマンドと置き換えられています。

ステップ 4

pki-server label

 

Router(tti-registrar)# pki-server mycs

ペティショナとレジストラ間で SDP 交換と関連付ける証明書サーバを指定します。

ステップ 5

authentication list list-name

 

Router (tti-registrar)# authentication list authen-tac

(任意)SDP 交換でイントロデューサを認証します。

ステップ 6

authorization list list-name

 

Router (tti-registrar)# authorization list author-rad

(任意)証明書の題名およびペティショナに返信される Cisco IOS CLI スニペットに展開されるテンプレート型変数のリストに該当する認証フィールドを受信します。

ステップ 7

template username name [ password password ]

 

Router(tti-registrar)# template username ftpuser password ftppwd

(任意)ファイル システムの設定テンプレートにアクセスするためのユーザ名およびパスワードを確立します。

ステップ 8

template config url [ post ]

 

Router(tti-registrar)# template config http://myserver/cgi-bin/mycgi post

(任意)Cisco IOS CLI 設定テンプレートのリモート URL を指定します。

url は設定ファイルを参照し、デバイス名($n)を指定してブートストラップ設定を識別できます。CGI サポートにより HTTP または HTTPS 経由で CGI スクリプトを参照でき、デバイス名だけでなく、タイプ、Cisco IOS 現行バージョン情報、および現行の設定でブートストラップ設定を識別できます。

CGI サポートでは post キーワードを使用する必要があります。

(注) 拡張 CGI サポートを利用するには、レジストラは Cisco IOS リリース 12.4(6)T 以降を実行している必要があります。レジストラがそれ以前のバージョンの Cisco IOS を実行している場合は、追加デバイス ID 情報は無視されます。

ステップ 9

end

 

Router(tti-registrar)# end

(任意)tti-registrar 設定モードを終了します。

SDP トランザクションのトラブルシューティングに役立てるため、 debug crypto provisioning コマンドを発行できます。このコマンドにより、ペティショナ デバイスとレジストラ デバイスからの出力が表示されます。

次に debug crypto provisioning コマンドの出力を示します。次に、ペティショナ デバイスとレジストラ デバイスからの出力を示します。

Petitioner device
! The user starts the Welcome phase.
Nov 7 03:15:48.171: CRYPTO_PROVISIONING: received welcome get request.
! The router generates a Rivest, Shamir, and Adelman (RSA) keypair for future enrollment.
Nov 7 03:15:48.279: CRYPTO_PROVISIONING: keyhash 'A506BE3B83C6F4B4A6EFCEB3D584AACA'
! The TTI transaction is completed.
Nov 7 03:16:10.607: CRYPTO_PROVISIONING: received completion post request.
 
Registrar device
!. During the introduction phase, the browser prompts for login information.
06:39:18: CRYPTO_PROVISIONING: received introduction post request.
06:39:18: CRYPTO_PROVISIONING: checking AAA authentication (ipsecca_script_aaalist, ttiuser)
! This happens if the user types in the wrong username or password.
06:39:19: CRYPTO_PROVISIONING: authentication declined by AAA, or AAA server not found - 0x3
06:39:19: CRYPTO_PROVISIONING: aaa query fails!
! The user re-enters login information.
06:39:19: CRYPTO_PROVISIONING: received introduction post request.
06:39:19: CRYPTO_PROVISIONING: checking AAA authentication (ipsecca_script_aaalist, ttiuser)
06:39:20: CRYPTO_PROVISIONING: checking AAA authorization (ipsecca_script_aaalist, ttiuser)
! The login attempt succeeds and authorization information is retrieved from the AAA database.
06:39:21: CRYPTO_PROVISIONING: aaa query ok!
! These attributes are inserted into the configuration template.
06:39:21: CRYPTO_PROVISIONING: building TTI av pairs from AAA attributes
06:39:21: CRYPTO_PROVISIONING: "subjectname" = "CN=user1, O=company, C=US"
06:39:21: CRYPTO_PROVISIONING: "$1" = "ntp server 10.3.0.1"
06:39:21: CRYPTO_PROVISIONING: "$2" = "hostname user1-vpn"
! The registrar stores this subject name and overrides the subject name in the subsequent enrollment request.
06:39:21: CRYPTO_PROVISIONING: subjectname=CN=user1, O=company, C=US
! The registrar stores this key information so that it may be used to automatically grant the subsequent enrollment request.
06:39:21: CRYPTO_PROVISIONING: key_hash=A506BE3B83C6F4B4A6EFCEB3D584AACA

証明書を使用した認可のための SDP レジストラのイネーブル化

SDP レジストラをイネーブルにして、次の機能を実行する場合にこの作業を行います。

指定のトラストポイントまたは任意の設定済みトラストポイントを使用してペティショナが署名している証明書を確認します。

イントロデューサのユーザ名および証明書名フィールドを使用して、認可検索を開始します。

前提条件

証明書および特定のトラストポイントに関連付けられた RSA 鍵を使用するには、SDP ペティショナも設定する必要があります。この作業を完了するには、作業 「SDP ペティショナのイネーブル化」 で示すように、トラストポイント署名コマンドを使用します。

制約事項

RADIUS では認証と認可の区別がされていないため、証明書の認可にはデフォルト パスワードの cisco を使用する必要があります。

手順の概要

1. enable

2. configure terminal

3. crypto provisioning registrar

4. template file sourceURL destinationURL

5. binary file sourceURL destinationURL

6. authentication trustpoint { trustpoint-label | use-any }

7. authorization {login | certificate | login certificate}

8. authorization username { subjectname subjectname }

9. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

crypto provisioning registrar

 

Router(config)# crypto provisioning registrar

SDP レジストラになるようデバイスを設定し、tti-registrar 設定モードを開始します。

ステップ 4

template file sourceURL destinationURL

 

Router(tti-registrar)# template file http://myserver/registrar_file_r1 http://myserver/petitioner_file_p1

(任意)レジストラの発信元テンプレート ファイル位置とペティショナの宛先テンプレート ファイル位置を指定します。

(注) このコマンドは、USB トークンを使用してデバイスをプロビジョニングする場合に便利です。

テンプレート展開は、レジストラで発信元 URL とファイル コンテンツの両方について行われます。宛先 URL はペティショナで展開されます。

ステップ 5

binary file sourceURL destinationURL

 

Router(tti-registrar)# binary file http://myserver/registrar_file_a1 http://myserver/petitioner_file_b1

(任意)レジストラのバイナリ ファイル位置とペティショナの宛先バイナリ ファイル位置を指定します。

(注) このコマンドは、USB トークンを使用してデバイスをプロビジョニングする場合に便利です。

発信元と宛先両方の URL はレジストラで展開されます。また、宛先 URL とファイル コンテンツはペティショナで展開されます。バイナリ ファイルは、テンプレート展開機能では処理されません。

ステップ 6

authentication trustpoint { trustpoint-label| use-any }

 

Router(tti-registrar)# authentication trustpoint mytrust

(任意)SDP ペティショナ デバイスの現在の証明書の認証に使用するトラストポイントを指定します。

trustpoint-label :特定のトラストポイントを指定します。

use-any :任意の設定済みトラストポイントを指定します。

(注) トラストポイントを指定するのにこのコマンドを使用しない場合、既存のペティショナ証明書は検証されません (この機能は、自己署名ペティショナ証明書と互換性があります)。

ステップ 7

authorization {login | certificate | login certificate}

 

Router(tti-registrar)# authorization login certificate

(任意)イントロデューサまたは証明書の AAA 認可をイネーブルにします。

イントロデューサのユーザ名を使用した認可には、 login キーワードを使用します。

ペティショナの証明書を使用した認可には、 certificate キーワードを使用します。

イントロデューサのユーザ名およびペティショナの証明書を使用した認可には、 login certificate キーワードを使用します。

ステップ 8

authorization username subjectname subjectname

 

Router(tti-registrar)# authorization username subjectname all

AAA ユーザ名の構築に使用する異なる証明書フィールドのパラメータを設定します。

all キーワードは、証明書を認可ユーザ名として使用する場合に、題名全体を指定します。

ステップ 9

end

 

Router(tti-registrar)# end

(任意)tti-registrar 設定モードを終了します。

管理イントロデューサの設定

管理者の認証リストと認可リストを使用して、管理イントロデューサを設定するには、次の作業を行います。

前提条件

管理イントロデューサは、クライアント デバイスの特権およびサーバの管理者特権をイネーブルにしておく必要があります。

制約事項

RADIUS を使用する場合、管理イントロデューサにより紹介される必要があるユーザまたはデバイスのパスワードとして常に cisco を使用する必要があります。TACACS+ にはこの制限はありません。ユーザまたはデバイスはどのパスワードを使用しても、管理イントロデューサにより紹介されます。

手順の概要

1. enable

2. configure terminal

3. crypto provisioning registrar

4. administrator authentication list list-name

5. administrator authorization list list-name

6. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

crypto provisioning registrar

 

Router(config)# crypto provisioning registrar

SDP レジストラになるようデバイスを設定し、tti-registrar 設定モードを開始します。

ステップ 4

administrator authentication list list-name

 

Router(tti-registrar)# administrator authentication list authen-tac

紹介中に管理者を認証場合に使用する AAA リストを設定します。

ステップ 5

administrator authorization list list-name

 

Router(tti-registrar)# administrator authorization list author-tac

紹介中に管理者の認可情報を取得する場合に使用する AAA ストを設定します。取得できる情報として、証明書の題名またはペティショナに返信される Cisco IOS CLI スニペットに展開されるテンプレート型変数のリストがあります。

ステップ 6

end

 

Router(tti-registrar)# end

(任意)tti-registrar 設定モードを終了します。

show running-config コマンドの次の例では、認証リストと認可リストを使用した管理イントロデューサが作成されたことを確認できます。

Router# show running-config
 
Building configuration...
 
Current configuration : 2700 bytes
!
! Last configuration change at 01:22:26 GMT Fri Feb 4 2005
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname router
!
boot-start-marker
boot-end-marker
!
memory-size iomem 5
enable secret 5 $1$tpBS$PXnBDTIDXfX5pWa//1JX20
enable password lab
!
aaa new-model
!
!
!
aaa session-id common
!
resource manager
!
clock timezone GMT 0
ip subnet-zero
no ip routing
!
!
no ip dhcp use vrf connected
!
!
no ip cef
no ip domain lookup
ip domain name company.com
ip host router 10.3.0.6
ip host router.company.com 10.3.0.6
no ip ips deny-action ips-interface
!
no ftp-server write-enable
!
crypto pki server mycs
!
crypto pki trustpoint mycs
revocation-check crl
rsakeypair mycs
!
crypto pki trustpoint tti
revocation-check crl
rsakeypair tti
!
crypto pki trustpoint mic
enrollment url http://router:80
revocation-check crl
!
crypto pki trustpoint cat
revocation-check crl
!
!
!
crypto pki certificate map cat 10
!
crypto pki certificate chain mycs
certificate ca 01
crypto pki certificate chain tti
crypto pki certificate chain mic
certificate 02
certificate ca 01
crypto pki certificate chain cat
!
crypto provisioning registrar <---------- !SDP registrar device parameters!
administrator authentication list authen-tac
administrator authorization list author-tac
!
no crypto engine onboard 0
username qa privilege 15 password 0 lab
 

カスタム テンプレートの設定

カスタム テンプレートを作成および設定するには、次の作業を行います。

手順の概要

1. enable

2. configure terminal

3. crypto provisioning registrar

4. template http start URL

5. template http welcome URL

6. template http introduction URL

7. template http admin-introduction URL

8. template http completion URL

9. template http error URL

10. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

crypto provisioning registrar

 

Router(config)# crypto provisioning registrar

SDP レジストラになるようデバイスを設定し、tti-registrar 設定モードを開始します。

ステップ 4

template http start URL

 

Router(tti-registrar)# template http start tftp:// registrar.company .com/start.html

カスタム開始ページ テンプレートを使用するよう TTI レジストラに指示します。

(注) このコマンドは、開始ページ機能を使用する場合に必要です。このコマンドが発行されていない場合、ようこそページがイントロデューサとペティショナの最初の通信になります。

ステップ 5

template http welcome URL

 

Router(tti-registrar)# template http welcome tftp://registrar.company.com/welcome.html

(任意)デフォルト テンプレートではなく、カスタムようこそテンプレートを使用します。

ステップ 6

template http introduction URL

 

Router(tti-registrar)# template http introduction tftp://registrar.company.com/intro.html

(任意)デフォルト テンプレートではなく、カスタム紹介テンプレートを使用します。

ステップ 7

template http admin-introduction URL

 

Router(tti-registrar)# template http admin-introduction tftp://registrar.company.com/admin-intro.html

(任意)デフォルト テンプレートではなく、カスタム管理紹介テンプレートを使用します。

ステップ 8

template http completion URL

 

Router(tti-registrar)# template http completion tftp://registrar.company.com/completion.html

(任意)デフォルト テンプレートではなく、カスタム完了テンプレートを使用します。

ステップ 9

template http error URL

 

Router(tti-registrar)# template http error tftp://registrar.company.com/error.html

(任意)デフォルト テンプレートではなく、カスタム エラー テンプレートを使用します。

ステップ 10

end

 

Router(tti-registrar)# end

(任意)tti-registrar 設定モードを終了します。

次に、開始、紹介、および完了の各テンプレートを使用した例を示します。

template http start tftp://registrar.company.com/start.html

template http introduction tftp://registrar.company.com/intro.html

template http completion tftp://registrar.company.com/completion.html

SDP 経由での PKI 設定の設定例

ここでは、次の設定例を示します。

「SDP レジストラの確認:例」

「SDP ペティショナの確認:例」

「AAA リストの RADIUS または TACACS+ サーバへの追加:例」

「設定テンプレート ファイルの使用:例」

「CGI スクリプト:例」

「証明書を使用した認証のペティショナとレジストラの設定:例」

「認証リストおよび認可リストを使用した管理イントロデューサの設定:例」

SDP レジストラの確認:例

show running-config コマンドの次のサンプル出力では、証明書サーバ「cs1」が設定され、レジストラとペティショナ間の SDP 交換と関連付けられていることが確認できます。

Router# show running-config
 
Building configuration...
 
Current configuration : 5902 bytes
!
! Last configuration change at 09:34:44 GMT Sat Jan 31 2004
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname pki-36a
!
boot-start-marker
boot-end-marker
!
logging buffered 32768 debugging
no logging console
enable secret 5 $1$b3jz$CKquLGjFIE3AdXA2/Rl9./
enable password lab
!
clock timezone GMT 0
no aaa new-model
ip subnet-zero
!
!
ip cef
ip domain name company.com
ip host msca-root
ip host yni-u10
ip host pki-36a 10.23.2.131
ip host pki-36a.company.com 10.23.2.131
!
!
crypto pki server cs1
issuer-name CN=company,L=city,C=US
lifetime crl 336
lifetime certificate 730
!
crypto pki trustpoint pki-36a
enrollment url http://pki-36a:80
ip-address FastEthernet0/0
revocation-check none
!
crypto pki trustpoint cs1
revocation-check crl
rsakeypair cs1
!
!
crypto pki certificate chain pki-36a
certificate 03
308201D0 30820139 A0030201 02020103 300D0609 2A864886 F70D0101 04050030
34310B30 09060355 04061302 55533114 30120603 55040713 0B205361 6E746120
4372757A 310F300D 06035504 03130620 696F7363 73301E17 0D303430 31333130
39333334 345A170D 30363031 33303039 33333434 5A303A31 38301606 092A8648
86F70D01 09081309 31302E32 332E322E 32301E06 092A8648 86F70D01 09021611
706B692D 3336612E 63697363 6F2E636F 6D305C30 0D06092A 864886F7 0D010101
0500034B 00304802 4100AFFA 8F429618 112FAB9D 01F3352E 59DD3D2D AE67E31D
370AC4DA 619735DF 9CF4EA13 64E4B563 C239C5F0 1578B773 07BED641 A18CA629
191884B5 61B66ECF 4D110203 010001A3 30302E30 0B060355 1D0F0404 030205A0
301F0603 551D2304 18301680 141DA8B1 71652961 3F7D69F0 02903AC3 2BADB137
C6300D06 092A8648 86F70D01 01040500 03818100 67BAE186 327CED31 D642CB39
AD585731 95868683 B950DF14 3BCB155A 2B63CFAD B34B579C 79128AD9 296922E9
4DEDFCAF A7B5A412 AB1FC081 09951CE3 08BFFDD9 9FB1B9DA E9AA42C8 D1049268
C524E58F 11C6BA7F C750320C 03DFB6D4 CBB3E739 C8C76359 CE939A97 B51B3F7F
3FF;A9D82 9CFDB6CF E2503A14 36D0A236 A1CCFEAE
quit
certificate ca 01
30820241 308201AA A0030201 02020101 300D0609 2A864886 F70D0101 04050030
34310B30 09060355 04061302 55533114 30120603 55040713 0B205361 6E746120
4372757A 310F300D 06035504 03130620 696F7363 73301E17 0D303430 31333130
39333132 315A170D 30373031 33303039 33313231 5A303431 0B300906 03550406
13025553 31143012 06035504 07130B20 53616E74 61204372 757A310F 300D0603
55040313 0620696F 73637330 819F300D 06092A86 4886F70D 01010105 0003818D
00308189 02818100 FC0695AF 181CE90A 1B34B348 BA957178 680C8B51 07802AC3
BF77B9C6 CB45092E 3C22292D C7D5FFC1 899185A1 FD8F37D5 C44FC206 6D1FA581
E2264C83 1CC7453E 548C89C6 F3CD25BC 9BFFE7C5 E6653A06 62133950 78BED51B
49128428 AB237F80 83A530EA 6F896193 F2134B54 D181F059 348AA84B 21EE6D80
727BF668 EB004341 02030100 01A36330 61300F06 03551D13 0101FF04 05300301
01FF300E 0603551D 0F0101FF 04040302 0186301D 0603551D 0E041604 141DA8B1
71652961 3F7D69F0 02903AC3 2BADB137 C6301F06 03551D23 04183016 80141DA8
B1716529 613F7D69 F002903A C32BADB1 37C6300D 06092A86 4886F70D 01010405
00038181 00885895 A0141169 3D754EB2 E6FEC293 5BF0A80B E424AA2F A3F59765
3463AAD1 55E71F0F B5D1A35B 9EA79DAC DDB40721 1344C01E 015BAB73 1E148E03
9DD01431 A5E2887B 4AEC8EF4 48ACDB66 A6F9401E 8F7CA588 8A4199BB F8A437A0
F25064E7 112805D3 074A154F 650D09B9 8FA19347 ED359EAD 4181D9ED 0C667C10
8A7BCFB0 FB
quit
crypto pki certificate chain cs1
certificate ca 01
30820241 308201AA A0030201 02020101 300D0609 2A864886 F70D0101 04050030
34310B30 09060355 04061302 55533114 30120603 55040713 0B205361 6E746120
4372757A 310F300D 06035504 03130620 696F7363 73301E17 0D303430 31333130
39333132 315A170D 30373031 33303039 33313231 5A303431 0B300906 03550406
13025553 31143012 06035504 07130B20 53616E74 61204372 757A310F 300D0603
55040313 0620696F 73637330 819F300D 06092A86 4886F70D 01010105 0003818D
00308189 02818100 FC0695AF 181CE90A 1B34B348 BA957178 680C8B51 07802AC3
BF77B9C6 CB45092E 3C22292D C7D5FFC1 899185A1 FD8F37D5 C44FC206 6D1FA581
E2264C83 1CC7453E 548C89C6 F3CD25BC 9BFFE7C5 E6653A06 62133950 78BED51B
49128428 AB237F80 83A530EA 6F896193 F2134B54 D181F059 348AA84B 21EE6D80
727BF668 EB004341 02030100 01A36330 61300F06 03551D13 0101FF04 05300301
01FF300E 0603551D 0F0101FF 04040302 0186301D 0603551D 0E041604 141DA8B1
71652961 3F7D69F0 02903AC3 2BADB137 C6301F06 03551D23 04183016 80141DA8
B1716529 613F7D69 F002903A C32BADB1 37C6300D 06092A86 4886F70D 01010405
00038181 00885895 A0141169 3D754EB2 E6FEC293 5BF0A80B E424AA2F A3F59765
3463AAD1 55E71F0F B5D1A35B 9EA79DAC DDB40721 1344C01E 015BAB73 1E148E03
9DD01431 A5E2887B 4AEC8EF4 48ACDB66 A6F9401E 8F7CA588 8A4199BB F8A437A02;
F25064E7 112805D3 074A154F 650D09B9 8FA19347 ED359EAD 4181D9ED 0C667C10
8A7BCFB0 FB
quit
!
crypto provisioning registrar
pki-server cs1
!
!
!
crypto isakmp policy 1
hash md5
!
!
crypto ipsec transform-set test_transformset esp-3des
!
crypto map test_cryptomap 10 ipsec-isakmp
set peer 10.23.1.10
set security-association lifetime seconds 1800
set transform-set test_transformset
match address 170
!
!
interface Loopback0
ip address 10.23.2.131 255.255.255.255
no ip route-cache cef
no ip route-cache
no ip mroute-cache
!
interface FastEthernet0/0
ip address 10.23.2.2 255.255.255.192
no ip route-cache cef
no ip route-cache
no ip mroute-cache
duplex auto
speed auto
crypto map test_cryptomap
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
ip default-gateway 10.23.2.62
ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 10.23.2.62
!
!
access-list 170 permit ip host 10.23.2.2 host 10.23.1.10
dialer-list 1 protocol ip permit
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
speed 115200
line aux 0
line vty 0 4
password lab
login
!
!
end

SDP ペティショナの確認:例

SDP 交換が完了したら、ペティショナは自動的にレジストラを登録し、証明書を取得します。 show running-config コマンドによる次のサンプル出力では、トラストポイントが実際に存在することを確認する設定が自動的に生成されているところを示しています。

Router# show running-config
 
Building configuration...
 
Current configuration : 4650 bytes
!
! Last configuration change at 09:34:53 GMT Sat Jan 31 2004
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname pki-36b
!
boot-start-marker
boot-end-marker
!
logging buffered 32768 debugging
no logging console
enable secret 5 $1$JYgw$060JKXgl6dERLZpU9J3gb.
enable password lab
!
clock timezone GMT 0
no aaa new-model
ip subnet-zero
!
!
ip cef
ip domain name company.com
ip host msca-root
ip host yni-u10
ip host pki-36a 10.23.2.131
ip host pki-36a.company.com 10.23.2.131
!
!
crypto pki trustpoint tti
enrollment url http://pki-36a.company.com:80
revocation-check crl
rsakeypair tti 1024
auto-enroll 70
!
!
crypto pki certificate chain tti
certificate 02
308201FC 30820165 A00302012;02020102 300D0609 2A864886 F70D0101 04050030
34310B30 09060355 04061302 55533114 30120603 55040713 0B205361 6E746120
4372757A 310F300D 06035504 03130620 696F7363 73301E17 0D303430 31333130
39333333 385A170D 30363031 33303039 33333338 5A302231 20301E06 092A8648
86F70D01 09021611 706B692D 3336622E 63697363 6F2E636F 6D30819F 300D0609
2A864886 F70D0101 01050003 818D0030 81890281 8100E383 35584B6C 24751E2C
F4088F06 C00BFECE 84CFF8EB 50D52044 03D14A2B 91E5A260 7D07ED24 DB599D27
432065D9 0E459248 D7CDC15D 654E2AF6 BA27D79C 23850306 3E96C508 F311D333
76FDDC9C A810F75C FCD10F1B 9A142F0C 338B6DB3 346D3F24 97A4B15D 0A9504E7
1F6CB769 85E9F52B FE907AAF 63D54D66 1A715A20 D7DB0203 010001A3 30302E30
0B060355 1D0F0404 03&#048;205A0 301F0603 551D2304 18301680 141DA8B1 71652961
3F7D69F0 02903AC3 2BADB137 C6300D06 092A8648 86F70D01 01040500 03818100
C5E2DA0E 4312BCF8 0396014F E18B3EE9 6C970BB7 B8FAFC61 EF849568 D546F73F
67D2A73C 156202DC 7404A394 D6124DAF 6BACB8CF 96C3141D 109C5B0E 46F4F827
022474ED 8B59D654 F04E31A2 C9AA1152 75A0C455 FD7EEEF5 A505A648 863EE9E6
C361D9BD E12BBB36 16B729DF 823AD5CC 404CCE48 A4379CDC 67FF6362 0601B950
quit
certificate ca 01
30820241 308201AA A0030201 02020101 300D0609 2A864886 F70D0101 04050030
34310B30 09060355 04061302 55533114 30120603 55040713 0B205361 6E746120
4372757A 310F300D 06035504 03130620 696F7363 73301E17 0D303430 31333130
39333132 315A170D 30373031 33303039 33313231 5A303431 0B300906 03550406
13025553 31143012 06035504 07130B20 53616E74 61204372 757A310F 300D0603
55040313 0620696F 73637330 819F300D 06092A86 4886F70D 01010105 0003818D
00308189 02818100 FC0695AF 181CE90A 1B34B348 BA957178 680C8B51 07802AC3
BF77B9C6 CB45092E 3C22292D C7D5FFC1 899185A1 FD8F37D5 C44FC206 6D1FA581
E2264C83 1CC7453E 548C89C6 F3CD25BC 9BFFE7C5 E6653A06 62133950 78BED51B
49128428 AB237F80 83A530EA 6F896193 F2134B54 D181F059 348AA84B 21EE6D80
727BF668 EB004341 02030100 01A36330 61300F06 03551D13 0101FF04 05300301
01FF300E 0603551D 0F0101FF 04040302 0186301D 0603551D 0E041604 141DA8B1
71652961 3F7D69F0 02903AC3 2BADB137 C6301F06 03551D23 04183016 80141DA8
B1716529 613F7D69 F002903A C32BADB1 37C6300D 06092A86 4886F70D 01010405
00038181 00885895 A0141169 3D754EB2 E6FEC293 5BF0A80B E424AA2F A3F59765
3463AAD1 55E71F0F B5D1A35B 9EA79DAC DDB40721 1344C01E 015BAB73 1E148E03
9DD01431 A5E2887B 4AEC8EF4 48ACDB66 A6F9401E 8F7CA588 8A4199BB F8A437A0
F25064E7 112805D3 074A154F 650D09B9 8FA19347 ED359EAD 4181D9ED 0C667C10
8A7BCFB0 FB
quit
!
no crypto engine accelerator
!
!
crypto isakmp policy 1
hash md5
!
!
crypto ipsec transform-set test_transformset esp-3des
!
crypto map test_cryptomap 10 ipsec-isakmp
set peer 10.23.2.2
set security-association lifetime seconds 1800
set transform-set test_transformset
match address 170
!
!
interface Ethernet0/0
ip address 10.23.1.10 255.255.255.192
no ip route-cache cef
no ip route-cache
no ip mroute-cache
half-duplex
crypto map test_cryptomap
!
interface Ethernet0/1
no ip address
shutdown
half-duplex
!
interface Ethernet0/2
no ip address
shutdown
half-duplex
!
interface Ethernet0/3
no ip address
shutdown
half-duplex
!
interface Serial1/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial1/3
no ip address
shutdown
serial restart-delay 0
!
ip default-gateway 10.23.1.62
ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 10.23.1.62
!
!
access-list 170 permit ip host 10.23.1.10 host 10.23.2.2
dialer-list 1 protocol ip permit
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
speed 115200
line aux 0
line vty 0 4
password lab
login
!
!
end

AAA リストの RADIUS または TACACS+ サーバへの追加:例

ここでは、次の設定例を示します。

「TACACS+ AAA サーバ データベース:例」

「RADIUS AAA サーバ データベース:例」

「TACACS+ および RADIUS AAA サーバ上の AAA リスト:例」

TACACS+ AAA サーバ データベース:例

次に、ユーザ情報が TACACS+ AAA データベースに追加されている例を示します。ユーザ名は「user1」です。パスワードは「cisco」です。iosconfig1 および iosconfig2 の 2 つの Cisco IOS 設定テンプレート型変数は「user1」に設定されています。変数は設定テンプレート ファイルで $1 および $2 を置き換えます。題名「CN=user1, O=company, C=US」も設定されます。この題名は、ペティショナ デバイスから受信される以降の登録要求(PKCS10)で題名フィールドを置き換えます。

user = user1
password = clear "pswd"
 
service=tti
! The certificate server inserts the following subject name to the certificate.
set subjectname="CN=user1, O=company, C=US"
 
! Up to nine template variables may be added.
set iosconfig1="ntp server 10.3.0.1"
set iosconfig2="hostname user1-vpn"

RADIUS AAA サーバ データベース:例

次に、ユーザ情報が RADIUS AAA サーバ データベースに追加された例を示します。ユーザ名は「user1」です。パスワードは「cisco」です。iosconfig1 および iosconfig2 の 2 つの Cisco IOS 設定テンプレート型変数は「user1」に設定されています。変数は設定テンプレート ファイルで $1 および $2 を置き換えます。題名「CN=user1, O=company, C=US」も設定されます。この題名は、ペティショナ デバイスから受信される以降の登録要求(PKCS10)で題名フィールドを置き換えます。

user = user1
password = clear "pswd"
radius=company
reply_attributes=9,1="tti:subjectname=CN=user1, O=company, C=US"
! Up to nine template variables may be added.
9,1="tti:iosconfig1=ntp server 10.3.0.5"
9,1="tti:iosconfig2=hostname user1-vpn"

TACACS+ および RADIUS AAA サーバ上の AAA リスト:例

次の設定例は、TACACS+ サーバで AAA 認証が、RADIUS サーバで AAA 認可が設定されていることを示しています。


) 通常、認証と認可は同じサーバをポイントします。


Router(config)# tacacs-server host 10.0.0.48 key cisco
Router(config)# aaa authentication login authen-tac group tacacs+
 
Router(config)# radius-server host 10.0.1.49 key cisco
Router(config)# aaa authorization network author-rad group radius

設定テンプレート ファイルの使用:例

イントロデューサ名に基づいて、異なる設定テンプレート ファイルを使用できます。たとえば、異なるユーザに対する複数のテンプレートがある場合、各ファイルのファイル名にユーザ名を含め、レジストラで次のように設定します。

Router(config)# crypto provisioning registrar
Router (tti-registrar)# pki-server cs1
Router (tti-registrar)# template config tftp://server/config-$n.txt

 

この例では、 「設定ファイルのデフォルト テンプレート」 の項に示されているデフォルト設定ファイルが使用されます。 template config コマンドは CGI スクリプトを参照しないためです。

CGI スクリプト:例

次に、「mysdpcgi」という CGI スクリプトが実行される例を示します。

Router(config)# crypto provisioning registrar
Router (tti-registrar)# pki-server cs1
Router (tti-registrar)# template config tftp://server/cgi-bin/mysdpcgi post

 

次に、「mysdpcgi」という CGI スクリプトが上記の例の template config コマンドで実行される例を示します。

#!/usr/bin/perl -w
 
# for debugging use the -debug form
# use CGI (-debug);
use CGI;
 
# base64 decoding is being used.
use MIME::Base64;
 
# The following has been commented out, but left for your information.
#
# Reading everything that has been received from stdin and writing it to the debug log to #see what has been sent from the registrar.
#
# Remember to reset the STDIN pointer so that the normal CGI processing can get the input.
#
# print STDERR "mysdpcgi.cgi dump of stdin:\n";
# if($ENV{'REQUEST_METHOD'} eq "GET"){
# $input_data = $ENV{'QUERY_STRING'};
# }
# else {
# $data_length = $ENV{'CONTENT_LENGTH'};
# $bytes_read = read(STDIN, $input_data, $data_length);
# }
# print STDERR $input_data,"\n";
# exit;
$query = new CGI;
my %av_table;
 
# A basic configuration file is being sent back, therefore it is being indicated as plain # text in the command below.
 
print $query->header ("text/plain");
print "\n";
 
# For testing, parameters can be passed in so that the test applications can
# see what has been received.
#
# print STDERR "The following are the raw AV pairs mysdpcgi.cgi received:\n";
# for each $key ($query->param) {
# print STDERR "! $key is: \n";
# $value = $query->param($key);
# print STDERR "! ",$value;
# print STDERR "! \n";
#}
 
# The post process AV pairs are identical to those in Cisco IOS and may be used to produce # AV pair specific configurations as needed.
 
%av_table = &postprocessavpairs($query->param);
 
# Decoded values may be written out.
# WARNING: Some error_logs cannot handle the amount of data and will freeze.
# print STDERR "The following are the decoded AV pairs mysdpcgi.cgi received:\n";
# now write the values out
# while ( ($a, $v) = each(%av_table) ) {
# print STDERR "$a = $v\n";
# }
 
# Identifying the AV pairs and specifying them in the config.
 
while ( ($a, $v) = each(%av_table) ) {
if ($a eq "TTIIosRunningConfig") {
$search = "hostname ";
$begin = index($v, $search) + length($search);
$end = index($v, "\n", $begin);
$hostname = substr($v, $begin, $end - $begin);
}
if ($a eq "TTIIosVersion") {
$search = "Version ";
$begin = index($v, $search) + length($search);
$end = index($v, "(", $begin);
$version = substr($v, $begin, $end - $begin);
}
}
 
print <<END_CONFIG;
!
! Config auto-generated by sdp.cgi
! This is for SDP testing only and is not a real config
!
!
\$t
!
\$c
!
cry pki trust Version-$version-$hostname
 
! NOTE: The last line of the config must be 'end' with a blank line after the end
# statement.
 
END_CONFIG
;
 
# Emulate IOS tti_postprocessavpairs functionality
sub postprocessavpairs {
@attributes = @_;
 
# Combine any AV pairs that were split apart
$n = 0; #element index counter
while ($attributes[$n]) {
# see if we are at the start of a set
if ($attributes[$n] =~ m/_0/) {
# determine base attribute name
$a = (split /_0/, $attributes[$n])[0];
# set initial (partial) value
$v = $query->param($attributes[$n]);
# loop and pull the rest of the matching
# attributes's values into v (would be
# faster if we stop at first non-match)
$c = $n+1;
while ($attributes[$c]) {
if ($attributes[$c] =~ m/$a/) {
$v = $v.$query->param($attributes[$c]);
}
$c++;
}
# store in the av hash table
$av_table{$a} = $v;
} else {
# store in hash table if not part of a set
if ($attributes[$n] !~ m/_\d/) {
$av_table{$attributes[$n]} = $query->param($attributes[$n]);
}
}
$n++;
}
 
# de-base64 decode all AV pairs except userdevicename
while ( ($a, $v) = each(%av_table) ) {
if ($a ne "userdevicename") {
$av_table{$a} = decode_base64($av_table{$a});
}
}
 
return %av_table;
}

) CGI スクリプトは、Cisco IOS リリース 12.4(6)T 以降では、template config コマンドに post キーワードを指定せずに実行することはできません。


証明書を使用した認証のペティショナとレジストラの設定:例

次に、mytrust というトラストポイントで発行された証明書を使用する場合のペティショナの設定方法の例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
 
Router(config)# crypto provisioning petitioner

Router(tti-petitioner)# trustpoint signing mytrust

Router(tti-petitioner)# end

次に、ペティショナ署名証明書を確認し、認可検索を行う場合のレジストラの設定方法の例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# crypto provisioning registrar

Router(tti-registrar)# authentication trustpoint mytrust

Router(tti-registrar)# authorization login certificate

Router(tti-registrar)# authorization username subjectname all

Router(tti-registrar)# end

認証リストおよび認可リストを使用した管理イントロデューサの設定:例

次に、認証リスト「authen-tac」および認可リスト「author-tac」を使用した管理イントロデューサの設定方法の例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
 
Router(config)# crypto provisioning registrar
Router(tti-registrar)# administrator authentication list authen-tac
Router(tti-registrar)# administrator authorization list author-tac
Router(tti-registrar)# end
 

その他の参考資料

ここでは、SDP に関する関連資料について説明します。

関連資料

内容
参照先

証明書の登録

Configuring Certificate Enrollment for a PKI 」の章

証明書サーバ設定

「Configuring and Managing a Cisco IOS Certificate Server for PKI Deployment」 の章

PKI AAA 統合の概念と設定作業

「Configuration Revocation and Authorization of Certificates in a PKI 」の章

PKI コマンド:完全なコマンドの構文、コマンド モード、デフォルト、使用上の注意事項、例

『Cisco IOS Security Command Reference』

USB トークンの設定

Cisco IOS Security Configuration Guide: Secure Connectivity 』の「 Storing PKI Credentials 」の章

SDP および USB トークンを使用した PKI 認定証の導入に関するその他の 12.4T 機能については、機能情報表を参照してください。

シスコのテクニカル サポート

説明
リンク

Cisco Support Web サイトには、豊富なオンライン リソースが提供されており、それらに含まれる資料やツールを利用して、トラブルシューティングやシスコ製品およびテクノロジーに関する技術上の問題の解決に役立てることができます。

以下を含むさまざまな作業にこの Web サイトが役立ちます。

テクニカル サポートを受ける

ソフトウェアをダウンロードする

セキュリティの脆弱性を報告する、またはシスコ製品のセキュリティ問題に対する支援を受ける

ツールおよびリソースへアクセスする

Product Alert の受信登録

Field Notice の受信登録

Bug Toolkit を使用した既知の問題の検索

Networking Professionals(NetPro)コミュニティで、技術関連のディスカッションに参加する

トレーニング リソースへアクセスする

TAC Case Collection ツールを使用して、ハードウェアや設定、パフォーマンスに関する一般的な問題をインタラクティブに特定および解決する

Japan テクニカル サポート Web サイトでは、Technical Support Web サイト(http://www.cisco.com/techsupport)の、利用頻度の高いドキュメントを日本語で提供しています。Japan テクニカル サポート Web サイトには、次のURLからアクセスしてください。http://www.cisco.com/jp/go/tac

http://www.cisco.com/techsupport

PKI での SDP の機能情報

表 3 に、この章に記載されている機能および具体的な設定情報へのリンクを示します。この表には、Cisco IOS リリース 12.2(1) 以降のリリースで導入または変更された機能だけを示します。

ここに記載されていないこのテクノロジーの機能情報については、「Implementing and Managing PKI Features Roadmap」を参照してください。

ご使用の Cisco IOS ソフトウェア リリースによっては、コマンドの中に一部使用できないものがあります。特定のコマンドに関するリリース情報については、コマンド リファレンス マニュアルを参照してください。

Cisco Feature Navigator を使用すると、プラットフォームおよびソフトウェア イメージのサポート情報を検索できます。Cisco Feature Navigator を使用すると、Cisco IOS および Catalyst OS ソフトウェア イメージがサポートする特定のソフトウェア リリース、機能セット、またはプラットフォームを確認できます。Cisco Feature Navigator には、 http://tools.cisco.com/ITDIT/CFN/jsp/index.jsp からアクセスできます。Cisco.com のアカウントは必要ありません。


表 3 には、一連の Cisco IOS ソフトウェア リリースのうち、特定の機能が初めて導入された Cisco IOS ソフトウェア リリースだけが記載されています。その機能は、特に断りがない限り、それ以降の一連の Cisco IOS ソフトウェア リリースでもサポートされます。


 

表 3 PKI での SDP の機能情報

機能名
リリース
機能情報

Secure Device Provisioning(SDP)接続テンプレート

12.4(20)T

この機能は、サービス プロバイダーを通してインターネット接続するためにデバイスを設定する機能を提供します。

この機能に関する詳細については、次の各項を参照してください。

「SDP 設定の前提条件」

「SDP の概要」

「SDP の機能」

「SDP トランザクション Web ページのデフォルト テンプレート」

「USB トークンと Secure Device Provisioning(SDP)の連携機能」

12.4(15)T

この機能は、USB トークンをあるネットワーク デバイスから SDP 経由でリモート デバイスに認定証を転送するメカニズムとして使用する、リモート デバイスをプロビジョニングする機能を提供します。

この機能に関する詳細については、次の各項を参照してください。

「SDP 設定の前提条件」

「USB トークンを活用している SDP」

「証明書を使用した認可のための SDP レジストラのイネーブル化」

次のコマンドがこの機能で導入されました。
binary file crypto key move rsa template file

を参照してください。

SDP Expanded Template CGI Support

12.4(6)T

この機能によりユーザは、デバイス名だけでなく、その Cisco IOS の現行バージョンおよび現行の設定に基づいてブートストラップ設定を SDP ペティショナに送信するよう SDP レジストラを設定できます。

この機能に関する詳細については、次の各項を参照してください。

「SDP 紹介段階」

「カスタム設定およびファイルのテンプレート型変数の展開ルール」

「設定ファイルのデフォルト テンプレート」

「SDP レジストラのイネーブル化と AAA リストのサーバへの追加」

「CGI スクリプト:例」

次のコマンドがこの機能で変更されました。
template config

Secure Device Provisioning(SDP)開始ページ

12.4(4)T

この機能によりユーザは、開始ページからレジストラの紹介 URL に連絡することで TTI トランザクションを開始するよう、ブラウザを設定できます。したがって、ユーザはペティショナのようこそページから TTI トランザクションを開始する必要はなくなります。

この機能に関する詳細については、次の各項を参照してください。

「カスタム テンプレートの SDP での動作」

「カスタム テンプレートの設定」

次のコマンドがこの機能で導入されました。
template http admin-introduction template http completion template http error template http introduction template http start template http welcome

Administrative Secure Device Provisioning Introducer

12.3(14)T

この 機能により、デバイスを PKI ネットワークに紹介し、AAA データベースのレコード ロケータのデバイス名としてユーザ名を提供する場合に、管理イントロデューサの役割を果たすことができます。

この機能に関する詳細については、次の各項を参照してください。

「管理イントロデューサの認証リストと認可リスト」

「管理イントロデューサの設定」

次のコマンドがこの機能で導入されました。
administrator authentication list administrator authorization list

Easy Secure Device Deployment

12.3(8)T

この機能は、SDP をサポートできるようにします。SDP は、ネットワーク管理者が大規模ネットワークで新しいデバイスを展開できるようにする Web ベースの登録インターフェイスを実現します。

この機能に関する詳細については、次の各項を参照してください。

「PKI への登録のための SDP の設定について」

「SDP レジストラのイネーブル化と AAA リストのサーバへの追加」

次のコマンドがこの機能で導入または変更されました。
crypto wui tti petitioner crypto wui tti registrar pki-server template config template username trustpoint (tti-petitioner)

Easy Secure Device Deployment AAA Integration

12.3(8)T

この機能により外部 AAA データベースが統合され、ローカルなシスコ証明書サーバのイネーブル パスワードを使用しなくても、SDP イントロデューサが AAA データベースに対して認証できるようにします。

この機能に関する詳細については、次の各項を参照してください。

「SDP による外部 AAA データベースの使用方法」

「SDP レジストラのイネーブル化と AAA リストのサーバへの追加」

次のコマンドがこの機能で導入または変更されました。 authentication list (tti-registrar) authorization list (tti-registrar) debug crypto wui template config template username

Secure Device Provisioning(SDP)証明書を使用した認可

12.3(14)T

この機能により、その他の認証局(CA)サーバで発行された証明書が SDP 導入に使用できるようになります。

この機能に関する詳細については、次の各項を参照してください。

「自己署名証明書と別の CA サーバにより発行された証明書の使用」

「証明書を使用した認可のための SDP レジストラのイネーブル化」

次のコマンドがこの機能で導入されました。
administrator authentication list administrator authorization list