Catalyst 6500 シリーズ SSL サービス モジュール インストレーション コンフィギュレーション ノート
SSLサービス モジュールの設定
SSLサービス モジュールの設定
発行日;2012/02/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf | フィードバック

目次

SSLサービス モジュールの設定

CLIの使用法

SSLサービス モジュールの設定準備

の初期設定

でのVLANの設定

Telnetリモート アクセスの設定

FQDNの設定

SSHの設定

Catalyst 6500シリーズ スイッチの初期設定

Cisco IOSソフトウェア

Catalystオペレーティング システム ソフトウェア

イメージのアップグレード

アプリケーション ソフトウェアのアップグレード

Cisco IOSソフトウェア

Catalystオペレーティング システム ソフトウェア

メンテナンス ソフトウェアのアップグレード

Cisco IOSソフトウェア

Catalystオペレーティング システム ソフトウェア

SSLサービス モジュールの設定

PKIの設定

鍵および証明書の設定

証明書および信頼点の確認

設定の保存

鍵および証明書のバックアップ

鍵および証明書のモニタおよびメンテナンス

プロキシ サービスへの証明書の割り当て

証明書の更新

鍵および証明書の履歴のイネーブル化

SSLプロキシ サービスの設定

高度な設定

ポリシーの設定

SSLポリシーの設定

TCPポリシーの設定

NATの設定

サーバNAT

クライアントNAT

暗号セルフテストのイネーブル化

クラッシュ情報の収集

VTSデバッグのイネーブル化

各動作モードの設定

ポリシーベース ルーティングの設定

ポリシーベース ルーティングの設定例

CSMの設定

VLAN

サーバ ファーム

仮想サーバ

固定接続

CSMおよびSSLサービス モジュールを組み合わせた構成の例(ブリッジ モード、NATなし)

CSMおよびSSLサービス モジュールを組み合わせた構成の例(ルータ モード、サーバNAT)

SSLサービス モジュールの設定

この章では、モジュールのCLI(コマンドライン インターフェイス)からSSLサービス モジュールを設定する方法について説明します。

「CLIの使用法」

「SSLサービス モジュールの設定準備」

「イメージのアップグレード」

「SSLサービス モジュールの設定」

「各動作モードの設定」

「高度な設定」

CLIの使用法

SSLサービス モジュールのソフトウェア インターフェイスはCisco IOS CLIです。Cisco IOS CLIおよびCisco IOSコマンド モードについては、『 Catalyst 6500 Series Switch Cisco IOS Software Configuration Guide 』のChapter 2「Command-Line Interfaces」を参照してください。

スイッチが完全に信頼できる環境にない限り、SSLサービス モジュールの設定は、モジュールのコンソール ポートに直接接続して行うか、またはSecure Shell(SSH)経由での暗号化セッションを介して行うことを推奨します。モジュールにSSHを設定する手順については、「SSHの設定」を参照してください。


) SSLサービス モジュールの初期設定は、モジュールのコンソール ポートに直接接続して行う必要があります。


SSLサービス モジュールの設定準備

SSLサービス モジュールにサービスを設定する前に、次の手順を実行する必要があります。

「SSLサービス モジュールの初期設定」

「Catalyst 6500シリーズ スイッチの初期設定」

SSLサービス モジュールの初期設定


) 次に示すSSLサービス モジュールの初期設定を行うには、SSLサービス モジュールのコンソール ポートに直接接続する必要があります。初期設定の完了後は、モジュールにSSH接続またはTelnet接続を行って、さらに詳細にモジュールを設定できます。


SSLサービス モジュールの初期設定手順は、次のとおりです。

「SSLサービス モジュールでのVLANの設定」

「Telnetリモート アクセスの設定」

「FQDNの設定」

「SSHの設定」

SSLサービス モジュールでのVLANの設定

SSLサービス モジュールにVLAN(仮想LAN)を設定する場合は、いずれかのVLANを管理VLANとして設定します。管理VLANは、SSH、Public Key Infrastructure(PKI;公開鍵インフラストラクチャ)、Secure File Transfer(SCP)およびTrivial File Transfer Protocol(TFTP;簡易ファイル転送プロトコル)処理を含む、すべての管理トラフィックに使用されます。管理VLANのゲートウェイを通るデフォルト ルートが追加されます。


) SSLサービス モジュールには、管理VLANとしてVLANを1つのみ設定してください。



) スイッチとモジュールのVLAN IDは同じでなければなりません。詳細については、『Catalyst 6500 Series Switch Software Configuration Guide』のChapter「Configuring VLANs」を参照してください。



) SSLソフトウェアは、標準範囲のVLAN(2~1005)だけをサポートします。SSLサービス モジュールの設定を、標準範囲VLANに限定します。


SSLサービス モジュールにVLANを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# ssl-proxy vlan vlan

VLANを設定し、VLANモードを開始します。

ステップ 2

ssl-proxy(config-vlan)# ipaddr ip_addr netmask

VLANにIPアドレスを設定します。

ステップ 3

ssl-proxy(config-vlan)# gateway gateway_addr

クライアント側ゲートウェイのIPアドレスを設定します。


) VLAN IPアドレスと同じサブネット内のゲートウェイIPアドレスを設定します。


ステップ 4

ssl-proxy(config-vlan)# route ip_addr netmask gateway ip_addr

(任意)SSLサービス モジュールからのレイヤ3ホップ数が1つまたは複数であるサーバに、スタティック ルートを設定します。

ステップ 5

ssl-proxy(config-vlan)# admin

(任意)VLANを管理VLAN1として設定します。

1.管理VLANは管理トラフィック(PKI、SSH、SCP、およびTFTP)に使用します。管理VLANに指定できるのは、1つのVLANのみです。

次に、VLANを設定し、IPアドレス、サブネット マスク、およびグローバル ゲートウェイを指定し、VLANを管理VLANとして指定する例を示します。

ssl-proxy(config)# ssl-proxy vlan 100
ssl-proxy(config-vlan)# ipaddr 10.1.0.20 255.255.255.0
ssl-proxy(config-vlan)# gateway 10.1.0.1
ssl-proxy(config-vlan)# admin
ssl-proxy(config-vlan)# ^Z
ssl-proxy#
 

Telnetリモート アクセスの設定

SSLサービス モジュールをTelnetリモート アクセス用に設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# enable password password

ローカルなイネーブル パスワードを指定します。

ステップ 2

ssl-proxy(config)# line vty starting-line-number ending-line-number

設定する回線範囲を特定し、ライン コンフィギュレーション モードを開始します。

ステップ 3

ssl-proxy(config-line)# login

ログイン時のパスワード検査をイネーブルにします。

ステップ 4

ssl-proxy(config-line)# password password

回線のパスワードを指定します。

次に、SSLサービス モジュールをリモート アクセス用に設定する例を示します。

ssl-proxy(config)#line vty 0 4
ssl-proxy(config-line)#login
ssl-proxy(config-line)#password cisco
ssl-proxy(config-line)#end
ssl-proxy#
 

FQDNの設定

SSLサービス モジュールを使用してCertificate Authority(CA;認証局)からの証明書を登録する場合は、モジュールにFully Qualified Domain Name(FQDN;完全修飾ドメイン名)を設定する必要があります。FQDNは、モジュールのホスト名およびドメイン名です。

FQDNを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# hostname name

ホスト名を設定します。

ステップ 2

ssl-proxy(config)# ip domain-name name

ドメイン名を設定します。

次に、SSLサービス モジュールにFQDNを設定する例を示します。

ssl-proxy(config)# hostname ssl-proxy2
ssl-proxy2(config)# ip domain-name example.com
ssl-proxy2(config)# end
ssl-proxy2(config)#
 

SSHの設定

モジュールの初期設定が完了したら、モジュール上でSSHをイネーブルにし、単純なユーザ名とパスワード、またはAuthentication, Authorization, Accounting(AAA;認証、許可、アカウンティング)サーバを使用して、SSH接続用のユーザ名およびパスワードを設定します。

ここでは、SSHをイネーブルにして設定する手順について説明します。

「モジュール上でのSSHのイネーブル化」

「SSH用のユーザ名およびパスワードの設定」

「SSH用のAAAの設定」

モジュール上でのSSHのイネーブル化

SSHは、モジュールで生成された最初の鍵ペアを使用します。次の作業では、SSH専用の鍵ペアを生成します。


) 最初にSSH鍵ペアを指定しないで、汎用の鍵ペアを生成すると(RSA鍵ペアの生成を参照)、SSHがイネーブルになり、汎用鍵ペアが使用されます。この鍵ペアをあとで削除すると、SSHがディセーブルになります。SSHを再びイネーブルにするには、SSH鍵ペアを新規に生成します。


SSH鍵ペアを生成してSSHをイネーブルにする手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy# configure terminal

terminalオプションを選択して、コンフィギュレーション モードを開始します。

ステップ 2

ssl-proxy(config)# ip ssh rsa keypair-name ssh_key_name

SSHに鍵ペアの名前を割り当てます。

ステップ 3

ssl-proxy(config)# crypto key generate rsa general-keys label ssh_key_name

SSH鍵ペアを生成します。これで、SSHがイネーブルになります。

ステップ 4

ssl-proxy(config)# end

コンフィギュレーション モードを終了します。

ステップ 5

ssl-proxy# show ip ssh

SSHの現在の状態を表示します。

次に、モジュール上でSSHをイネーブルにし、SSHがイネーブルに設定されたことを確認する例を示します。

ssl-proxy(config)# ip ssh rsa keypair-name ssh-key
Please create RSA keys to enable SSH.
ssl-proxy(config)# crypto key generate rsa general-keys label ssh-key
The name for the keys will be: ssh-key
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]: 1024
% Generating 1024 bit RSA keys ...[OK]
 
ssl-proxy(config)#
*Aug 28 11:07:54.051: %SSH-5-ENABLED: SSH 1.5 has been enabled
ssl-proxy(config)# end
 
ssl-proxy# show ip ssh
SSH Enabled - version 1.5
Authentication timeout: 120 secs; Authentication retries: 3
ssl-proxy#
 

SSH用のユーザ名およびパスワードの設定

SSH接続用のユーザ名およびパスワードを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy# configure terminal

terminalオプションを選択して、コンフィギュレーション モードを開始します。

ステップ 2

ssl-proxy(config)# enable password password

ローカルなイネーブル パスワードを(まだ指定されていなければ)指定します。

ステップ 3

ssl-proxy(config)# username username { password | secret } password

ユーザ名およびパスワードを指定します。

ステップ 4

ssl-proxy(config)# line vty line-number ending-line-number

設定する回線範囲を特定し、ライン コンフィギュレーション モードを開始します。

ステップ 5

ssl-proxy(config-line)# login local

ローカルなユーザ名認証をイネーブルにします。

次に、SSLサービス モジュールにSSH接続用のユーザ名およびパスワードを設定する例を示します。

ssl-proxy# configure terminal
ssl-proxy(config)# enable password cisco
ssl-proxy(config)# username admin password admin-pass
ssl-proxy(config)# line vty 0 4
ssl-proxy(config-line)# login local
ssl-proxy(config-line)# end
 

ユーザ名およびパスワードを設定した後に、スイッチを設定する手順については、「Catalyst 6500シリーズ スイッチの初期設定」を参照してください。

SSH用のAAAの設定

SSH用のAAAを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy# configure terminal

terminalオプションを選択して、コンフィギュレーション モードを開始します。

ステップ 2

ssl-proxy(config)# username username secret { 0 | 5 } password

指定された検索不能なユーザ名に対して、拡張パスワード セキュリティをイネーブルにします。

ステップ 3

ssl-proxy(config)# enable password password

ローカルなイネーブル パスワードを(まだ指定されていなければ)指定します。

ステップ 4

ssl-proxy(config)# aaa new-model

AAAをイネーブルにします。

ステップ 5

ssl-proxy(config)# aaa authentication login default local

ローカルなユーザ名データベースを認証に使用するように、モジュールを指定します。

ステップ 6

ssl-proxy(config)# line vty line-number ending-line-number

設定する回線範囲を特定し、ライン コンフィギュレーション モードを開始します。

ステップ 7

ssl-proxy(config-line)# transport input ssh

特定の回線で使用される唯一のプロトコルとしてSSHを設定します(これにより、非SSH接続が禁止されます)。

次に、SSLサービス モジュールにSSH接続用のAAAを設定する例を示します。

ssl-proxy# configure terminal
ssl-proxy(config)# username admin secret admin-pass
ssl-proxy(config)# enable password enable-pass
ssl-proxy(config)# aaa new-model
ssl-proxy(config)# aaa authentication login default local
ssl-proxy(config)# line vty 0 4
ssl-proxy(config-line)# transport input ssh
ssl-proxy(config-line)# end
ssl-proxy#
 

AAAを設定したあとに、スイッチを設定する手順については、「Catalyst 6500シリーズ スイッチの初期設定」を参照してください。

Catalyst 6500シリーズ スイッチの初期設定

Catalyst 6500シリーズ スイッチをどのように設定するかは、使用しているのがCisco IOSソフトウェアであるか、Catalystオペレーティング システム ソフトウェアであるかによって異なります。

ここでは、各スイッチのオペレーティング システムについて、CLIからスイッチを設定する手順について説明します。

「Cisco IOSソフトウェア」

「Catalystオペレーティング システム ソフトウェア」

スイッチ上でのVLANの設定


) スイッチとモジュールのVLAN IDは同じでなければなりません。詳細については、『Catalyst 6500 Series Switch Software Configuration Guide』のChapter「Configuring VLANs」を参照してください。



) SSLソフトウェアは、標準範囲のVLAN(2~1005)だけをサポートします。SSLサービス モジュールの設定を、標準範囲VLANに限定します。


スイッチにVLANを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router# configure terminal

terminalオプションを選択して、コンフィギュレーション モードを開始します。

ステップ 2

Router(config)# vlan vlan_ID

VLANコンフィギュレーション モードを開始して、VLANを追加します。有効な範囲は2~1001です。


) 外部VLANを追加しないでください。


ステップ 3

Router(config-vlan)# end

VLANデータベースを更新して、イネーブルEXECモードに戻ります。

次に、スイッチにVLANを設定する例を示します。

Router> enable
Router# configure terminal
Router(config)# vlan 100
VLAN 100 added:
Name: VLAN100
 
Router(config-vlan)# end
 

レイヤ3インターフェイスの設定

対応するレイヤ3 VLANインターフェイスを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router(config)# interface vlan vlan_ID

設定するインターフェイスを選択します。

ステップ 2

Router(config-if)# ip address ip_address subnet_mask

IPアドレスおよびIPサブネットを設定します。

ステップ 3

Router(config-if)# no shutdown

インターフェイスをイネーブルにします。

ステップ 4

Router(config-if)# exit

コンフィギュレーション モードを終了します。

次に、レイヤ3 VLANインターフェイスを設定する例を示します。

Router# configure terminal
Router(config)# interface vlan 100
Router(config-if)# ip address 10.10.1.10 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit
 

レイヤ2スイッチング用LANポートの設定

サーバまたはクライアントに接続する物理インターフェイスを、対応するVLANに配置する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router(config)# interface type 2 mod / port

設定するLANポートを選択します。

ステップ 2

Router(config-if)# switchport

LANポートをレイヤ2スイッチング用に設定します。


) LANポートをレイヤ2ポートとして設定するには、キーワードを指定せずにswitchportコマンドを1回入力する必要があります。そのあとで、キーワードとともに再度switchportコマンドを入力してください。


ステップ 3

Router(config-if)# switchport mode access

LANポートを永続的な非トランク モードにして、リンクの非トランク リンクへの変換をネゴシエーションします。近接LANポートが変更に同意しなくても、LANポートは非トランク ポートになります。

ステップ 4

Router(config-if)# switchport access vlan vlan_ID

インターフェイスがトランキングを停止した場合に使用されるデフォルトVLANを設定します。

ステップ 5

Router(config-if)# no shutdown

インターフェイスをアクティブにします。

2.type = ethernetfastethernetgigabitethernet、またはtengigabitethernet

次に、物理インターフェイスをレイヤ2インターフェイスとして設定して、VLANに割り当てる例を示します。

Router(config)# interface gigabitethernet 1/1
Router(config-if)# switchport
Router(config-if)# switchport mode access
Router(config-if)# switchport access vlan 100
Router(config-if)# no shutdown
Router(config-if)# exit
 

対応するVLANへのSSLサービス モジュールの追加


) デフォルトでは、SSLサービス モジュールはトランク モードであり、ネイティブVLAN 1が設定されています。


SSLサービス モジュールを対応するVLANに追加するには、次のコマンドを入力します。

 

コマンド
目的
Router (config)# ssl-proxy module mod allowed-vlan vlan_ID

SSLサービス モジュールに、トランク上で許可されるVLANを設定します。


) 許可VLANのいずれかを管理VLANに設定する必要があります。


次に、スロット6に搭載されたSSLサービス モジュールを特定のVLANに追加する例を示します。

Router>
Router> enable
Router# configure terminal
Router (config)# ssl-proxy module 6 allowed-vlan 100
Router (config)# end
 

初期設定の確認

設定を確認するには、次のコマンドを入力します。

 

コマンド
目的

Router# show spanning-tree vlan vlan_ID

指定されたVLANのスパニングツリー状態を表示します。

Router# show ssl-proxy mod mod state

トランクの設定を表示します。


) 次の例では、SSLサービス モジュールはスロット4(Gi4/1)に搭載されています。


次に、モジュールがForwarding(FWD;フォワーディング)ステートであるかどうかを確認する例を示します。

Router# show spanning-tree vlan 100
 
VLAN0100
Spanning tree enabled protocol ieee
Root ID Priority 32768
Address 0009.e9b2.b864
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
 
Bridge ID Priority 32768
Address 0009.e9b2.b864
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15
 
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Gi3/1 Desg FWD 4 128.129 P2p
Gi4/1 Desg FWD 4 128.193 P2p
Po261 Desg FWD 3 128.833 P2p
Router
 

次に、表示されたVLAN情報がVLAN設定と一致するかどうかを確認する方法を示します。

Router# show ssl-proxy mod 6 state
SSL-services module 6 data-port:
Switchport:Enabled
Administrative Mode:trunk
Operational Mode:trunk
Administrative Trunking Encapsulation:dot1q
Operational Trunking Encapsulation:dot1q
Negotiation of Trunking:Off
Access Mode VLAN:1 (default)
Trunking Native Mode VLAN:1 (default)
Trunking VLANs Enabled:100
Pruning VLANs Enabled:2-1001
Vlans allowed on trunk:100
Vlans allowed and active in management domain:100
Vlans in spanning tree forwarding state and not pruned:
100
Allowed-vlan :100
 

Catalystオペレーティング システム ソフトウェア

Catalyst 6500シリーズ スイッチの初期設定は、次の手順からなります。

「スイッチ上でのVLANの設定」

「MSFC上でのレイヤ3インターフェイスの設定」

「対応するVLANへのSSLサービス モジュールの追加」

「初期設定の確認」

スイッチ上でのVLANの設定


) スイッチとモジュールのVLAN IDは同じでなければなりません。詳細については、『Catalyst 6500 Switch Series Software Configuration Guide』のChapter「Configuring VLANs」を参照してください。



) SSLソフトウェアは、標準範囲のVLAN(2~1005)だけをサポートします。SSLサービス モジュールの設定を、標準範囲VLANに限定します。


スイッチにVLANを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Console> enable

イネーブル モードを開始します。

ステップ 2

Console> (enable) set vlan vlan_id

VLANを追加します。有効な範囲は2~1001です。


) 外部VLANを追加しないでください。


次に、スイッチにVLANを設定する例を示します。

Console> enable
Enter Password: <password>
Console> (enable) set vlan 100
Vlan 100 configuration successful
Console> (enable)

MSFC上でのレイヤ3インターフェイスの設定

Multilayer Switch Feature Card(MSFC;マルチレイヤ スイッチ フィーチャ カード)上に対応するレイヤ3 VLANインターフェイスを設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Console> (enable) session [ mod ]3

Telnetセッションを使用してスイッチCLIからMSFCにアクセスします。4

ステップ 2

Router> enable

イネーブル モードを開始します。

ステップ 3

Router# configure terminal

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

ステップ 4

Router(config)# interface vlan vlan_id

MSFC上でVLANインターフェイスを指定します。

ステップ 5

Router(config-if)# ip address ip_address subnet_mask

VLANにIPアドレスを割り当てます。

ステップ 6

Router(config-if)# no shutdown

インターフェイスをイネーブルにします。

ステップ 7

Router(config-if)# exit

MSFC CLIを終了してスイッチCLIに戻ります。

3.modキーワードにはMSFCのモジュール番号を指定します。15(MSFCがスロット1のスーパバイザ エンジン上に搭載されている場合)、または16(MSFCがスロット2のスーパバイザ エンジン上に搭載されている場合)のいずれかです。モジュール番号を指定しなかった場合は、コンソールはアクティブなスーパバイザ エンジン上のMSFCに切り替わります。

4.スーパバイザ エンジン コンソール ポートに直接接続したスイッチCLIからMSFCにアクセスするには、switch console modコマンドを入力します。MSFC CLIを終了してスイッチCLIに戻るには、Router>プロンプトでCtrl-Cを3度押します。

MSFC上にレイヤ3 VLANインターフェイスを設定する例を示します。

Console> (enable) session 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router> config t
Router(config)# interface vlan 100
Router(config-if)# ip address 10.10.1.10 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit
Console> (enable)
 

対応するVLANへのSSLサービス モジュールの追加


) デフォルトでは、SSLサービス モジュールはトランク モードであり、ネイティブVLAN 1が設定されています。


SSLサービス モジュールを対応するVLANに追加するには、次のコマンドを入力します。

 

コマンド
目的
Console> (enable) set trunk mod / port vlan_id

SSLサービス モジュールに、トランク上で許可されるVLANを設定します。


) 許可VLANのいずれかを管理VLANに設定する必要があります。


次に、スロット6に搭載されたSSLサービス モジュールを特定のVLANに追加する例を示します。

Console> (enable) set trunk 6/1 100
Adding vlans 100 to allowed list.
Console> (enable)
 

初期設定の確認

設定を確認するには、次のいずれかのコマンドを入力します。

 

コマンド
目的

Console> show spanntree vlan_ID

指定されたVLANのスパニングツリー状態を表示します。

Console> show trunk mod / port

トランクの設定を表示します。


) 次の例では、SSLサービス モジュールはスロット6に搭載されています。


次に、モジュールがFWDステートであるかどうかを確認する例を示します。

Console> show spantree 100
VLAN 100
Spanning tree mode PVST+
Spanning tree type ieee
Spanning tree enabled
 
Designated Root 00-06-2a-db-a5-01
Designated Root Priority 32768
Designated Root Cost 0
Designated Root Port 1/0
Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec
 
Bridge ID MAC ADDR 00-06-2a-db-a5-01
Bridge ID Priority 32768
Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec
 
Port Vlan Port-State Cost Prio Portfast Channel_id
------------------------ ---- ------------- --------- ---- -------- ----------
6/1 100 forwarding 100 32 enabled 033
Console>
 

次に、表示されたVLAN情報がVLAN設定と一致するかどうかを確認する方法を示します。

Console> show trunk 6/1
* - indicates vtp domain mismatch
# - indicates dot1q-all-tagged enabled on the port
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
6/1 nonegotiate dot1q trunking 1
 
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
6/1 100
 
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
6/1 100
 
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
6/1 100

イメージのアップグレード

SSLサービス モジュール上のコンパクト フラッシュには、ブート可能なパーティションが2つあります。Application Partition(AP;アプリケーション パーティション)とMaintenance Partition(MP;メンテナンス パーティション)です。デフォルトでは、常にAPがブートします。APには、SSLイメージを実行するのに必要なバイナリが含まれています。APをアップグレードする必要がある場合は、MPがブートされます。

アプリケーション ソフトウェアとメンテナンス ソフトウェアは、どちらもアップグレードできます。

APおよびMP全体は、FTP(ファイル転送プロトコル)サーバまたはTFTPサーバに格納されます。イメージは、アップグレード対象に応じて、APまたはMPにダウンロードされて展開されます。

APをアップグレードする場合は、MPからモジュールをブートするように、ブート シーケンスを変更します。MPをアップグレードする場合は、APからモジュールをブートするように、ブート シーケンスを変更します。スーパバイザ エンジンのCLIコマンドを使用して、モジュールのブート シーケンスを設定します。MPによってアプリケーション イメージがダウンロードされて、インストールされます。ネットワークからMPにアクセスするためには、スーパバイザ エンジンでランタイム イメージが稼働していなければなりません。

アップグレード プロセスを開始するには、次のソフトウェア イメージが必要です。

モジュールのAPイメージ

モジュールのMPイメージ

イメージをコピーするには、TFTPおよびFTPサーバが必要です。TFTPサーバをスイッチに接続し、TFTPサーバに接続されたポートをスイッチ上のVLAN 1に追加してください。

ネットワーク内に、別のTFTPサーバが必要です。モジュール イメージがブートする際、モジュールからこのTFTPサーバに到達可能でなければなりません。

ここでは、イメージをアップグレードする方法について説明します。

「アプリケーション ソフトウェアのアップグレード」

「メンテナンス ソフトウェアのアップグレード」

アプリケーション ソフトウェアのアップグレード

どのようにメンテナンス ソフトウェアをアップグレードするかは、使用しているのがCisco IOSソフトウェアであるか、Catalystオペレーティング システム ソフトウェアであるかによって異なります。

ここでは、各スイッチのオペレーティング システムについて、CLIからアプリケーション ソフトウェアをアップグレードする手順について説明します。

「Cisco IOSソフトウェア」

「Catalystオペレーティング システム ソフトウェア」

Cisco IOSソフトウェア


) イメージがアップグレードされるまで、モジュールをリセットしないでください。イメージのアップグレードの所要時間は、最大8分です。


APソフトウェアをアップグレードする手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router# hw-module module mod reset cf:1

MPからモジュールを再起動します。


) 通常は、このコマンドの入力後に、モジュールのコンソールに[Press Key]のようなメッセージが表示されます。


ステップ 2

Router# show module

モジュールのMPがブートしたことを表示します。

ステップ 3

Router# copy tftp: pclc# mod -fs:

イメージをダウンロードします。

ステップ 4

Router# hw-module module mod reset

モジュールをリセットします。

ステップ 5

Router# show module

モジュールのAPがブートしたことを表示します。

次に、APソフトウェアをアップグレードする例を示します。

Router# hw-module module 6 reset cf:1
hw mod 6 reset cf:1
Device BOOT variable for reset = <cf:1>
Warning: Device list is not verified.
 
Proceed with reload of module? [confirm]y
 
% reset issued for module 6
 
02:11:18: SP: The PC in slot 6 is shutting down. Please wait ...
02:11:31: SP: PC shutdown completed for module 6
02:11:31: %C6KPWR-SP-4-DISABLED: power to module in slot 6 set off (Reset)
02:14:21: SP: OS_BOOT_STATUS(6) MP OS Boot Status: finished booting
02:14:28: %DIAG-SP-6-RUN_MINIMUM: Module 6: Running Minimum Online Diagnostics...
02:14:34: %DIAG-SP-6-DIAG_OK: Module 6: Passed Online Diagnostics
02:14:34: %OIR-SP-6-INSCARD: Card inserted in slot 6, interfaces are now online
 
Router# show module
Mod Ports Card Type Model Serial No.
--- ----- -------------------------------------- ------------------ -----------
1 2 Catalyst 6000 supervisor 2 (Active) WS-X6K-S2U-MSFC2 SAD055006RZ
2 48 48 port 10/100 mb RJ45 WS-X6348-RJ-45 SAL052794UW
6 1 SSL Module (MP) WS-SVC-SSL-1 SAD060702VK
 
(テキスト出力は省略)
 
Router# copy tftp: pclc#6-fs:
copy tftp: pclc#6-fs:
Address or name of remote host []? 10.1.1.1
 
Source filename []? c6svc-ssl-k9y9.1-x-y.bin
 
Destination filename [c6svc-ssl-k9y9.1-x-y.bin]?
 
Accessing tftp://10.1.1.1/c6svc-ssl-k9y9.1-x-y.bin...
Loading c6svc-ssl-k9y9.1-x-y.bin from 10.1.1.1 (via Vlan2): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
(テキスト出力は省略)
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 14918353 bytes]
 
14918353 bytes copied in 643.232 secs (23193 bytes/sec)
Router#
02:29:23: %SVCLC-SP-5-STRRECVD: mod 6: <Application upgrade has started>
02:29:23: %SVCLC-SP-5-STRRECVD: mod 6: <Do not reset the module till upgrade completes!!>
02:36:07: %SVCLC-SP-5-STRRECVD: mod 6: <Application upgrade has succeded>
02:36:07: %SVCLC-SP-5-STRRECVD: mod 6: <You can now reset the module>>
 
Router# hw-module module 6 reset
Device BOOT variable for reset = <empty>
Warning:Device list is not verified.
 
Proceed with reload of module? [confirm]y
% reset issued for module 6
Router#
02:36:57:SP:The PC in slot 6 is shutting down. Please wait ...
02:37:17:SP:PC shutdown completed for module 6
02:37:17:%C6KPWR-SP-4-DISABLED:power to module in slot 6 set off (Reset)
02:38:39:SP:OS_BOOT_STATUS(6) AP OS Boot Status:finished booting
02:39:27:%DIAG-SP-6-RUN_COMPLETE:Module 6:Running Complete Online Diagnostics...
02:39:29:%DIAG-SP-6-DIAG_OK:Module 6:Passed Online Diagnostics
02:39:29:%OIR-SP-6-INSCARD:Card inserted in slot 6, interfaces are now online
 
Router# show module
 
Mod Ports Card Type Model Serial No.
--- ----- -------------------------------------- ------------------ -----------
1 2 Catalyst 6000 supervisor 2 (Active) WS-X6K-S2U-MSFC2 SAD055006RZ
2 48 48 port 10/100 mb RJ45 WS-X6348-RJ-45 SAL052794UW
6 1 SSL Module WS-SVC-SSL-1 SAD060702VK
 
(テキスト出力は省略)
 

Catalystオペレーティング システム ソフトウェア


) イメージがアップグレードされるまで、モジュールをリセットしないでください。イメージのアップグレードの所要時間は、最大8分です。


APソフトウェアをアップグレードする手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Console (enable) set boot device cf:1 mod

MPをブートするようにモジュールを設定します。

ステップ 2

Console (enable) reset mod

モジュールをMPにリセットします。


) SUP_OSBOOTSTATUSシステム メッセージにより、MPがブートされたことが示されます。


ステップ 3

Console (enable) session [ mod ]

Telnetセッションを使用してスイッチCLIからMSFCにアクセスします。5

ステップ 4

Router# copy tftp: pclc# mod -fs:

イメージをダウンロードします。

ステップ 5

Router# exit

MSFC CLIを終了してスイッチCLIに戻ります。

ステップ 6

Console (enable) set boot device cf:4 mod

APをブートするようにモジュールを設定します。

ステップ 7

Console (enable) reset mod

モジュールをAPにリセットします。


) SUP_OSBOOTSTATUSシステム メッセージにより、APがブートされたことが示されます。


5.スーパバイザ エンジン コンソール ポートに直接接続したスイッチCLIからMSFCにアクセスするには、switch console modコマンドを入力します。MSFC CLIを終了してスイッチCLIに戻るには、Router>プロンプトでCtrl-Cを3度押します。

次に、APソフトウェアをアップグレードする例を示します。

Console> (enable) set boot device cf:1 6
Device BOOT variable = cf:1
Memory-test set to PARTIAL
Warning:Device list is not verified but still set in the boot string.
Console> (enable)
Console> (enable) reset 6 cf:1
This command will reset module 6.
Unsaved configuration on module 6 will be lost
Do you want to continue (y/n) [n]? y
Module 6 shut down in progress, please don't remove module until shutdown completed.
Console> (enable) Module 6 shutdown completed. Module resetting...
2003 Jan 17 08:34:07 %SYS-3-SUP_OSBOOTSTATUS:MP OS Boot Status:finished booting
2003 Jan 17 08:34:23 %SYS-5-MOD_OK:Module 6 is online
2003 Jan 17 08:34:23 %DTP-5-TRUNKPORTON:Port 6/1 has become dot1q trunk
 
Console> (enable) session 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router>
 
Router# copy tftp: pclc#6-fs:
copy tftp: pclc#6-fs:
Address or name of remote host []? 10.1.1.1
 
Source filename []? c6svc-ssl-k9y9.1-x-y.bin
 
Destination filename [c6svc-ssl-k9y9.1-x-y.bin]?
 
Accessing tftp://10.1.1.1/c6svc-ssl-k9y9.1-x-y.bin...
Loading c6svc-ssl-k9y9.1-x-y.bin from 10.1.1.1 (via Vlan2): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
(テキスト出力は省略)
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 14918353 bytes]
 
14918353 bytes copied in 643.232 secs (23193 bytes/sec)
Router#
02:29:23: %SVCLC-SP-5-STRRECVD: mod 6: <Application upgrade has started>
02:29:23: %SVCLC-SP-5-STRRECVD: mod 6: <Do not reset the module till upgrade completes!!>
02:36:07: %SVCLC-SP-5-STRRECVD: mod 6: <Application upgrade has succeded>
02:36:07: %SVCLC-SP-5-STRRECVD: mod 6: <You can now reset the module>>
Router# exit
Console> (enable) set boot device cf:4 6
Device BOOT variable = cf:4
Memory-test set to PARTIAL
Warning:Device list is not verified but still set in the boot string.
Console> (enable) reset 6
This command will reset module 6.
Unsaved configuration on module 6 will be lost
Do you want to continue (y/n) [n]? y
Module 6 shut down in progress, please don't remove module until shutdown completed.
Console> (enable) Module 6 shutdown completed. Module resetting...
2003 Jan 17 08:36:58 %SYS-3-SUP_OSBOOTSTATUS:AP OS Boot Status:finished booting
2003 Jan 17 08:37:51 %SYS-5-MOD_OK:Module 6 is online
2003 Jan 17 08:37:51 %DTP-5-TRUNKPORTON:Port 6/1 has become dot1q trunk
 

メンテナンス ソフトウェアのアップグレード

どのようにメンテナンス ソフトウェアをアップグレードするかは、使用しているのがCisco IOSソフトウェアであるか、Catalystオペレーティング システム ソフトウェアであるかによって異なります。

ここでは、各スイッチのオペレーティング システムについて、CLIからメンテナンス ソフトウェアをアップグレードする手順について説明します。

「Cisco IOSソフトウェア」

「Catalystオペレーティング システム ソフトウェア」

Cisco IOSソフトウェア


) イメージがアップグレードされるまで、モジュールをリセットしないでください。イメージのアップグレードの所要時間は、最大8分です。


MPソフトウェアをアップグレードする手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router# hw-module module mod reset

APからモジュールを再起動します。

ステップ 2

Router# copy tftp: pclc# mod -fs:

イメージをダウンロードします。

ステップ 3

Router# hw-module module mod reset cf:1

モジュールをMPにリセットします。

ステップ 4

Router# show module

モジュールのMPがブートしたことを表示します。

次に、MPソフトウェアをアップグレードする例を示します。

Router# hw module 6 reset
Device BOOT variable for reset = <empty>
Warning:Device list is not verified.
Proceed with reload of module? [confirm]y
% reset issued for module 6
Router#
02:36:57:SP:The PC in slot 6 is shutting down. Please wait ...
02:37:17:SP:PC shutdown completed for module 6
02:37:17:%C6KPWR-SP-4-DISABLED:power to module in slot 6 set off (Reset)
1w0d:SP:OS_BOOT_STATUS(6) AP OS Boot Status:finished booting
1w0d:%OIR-SP-6-INSCARD:Card inserted in slot 6, interfaces are now online
Router# copy tftp:pclc#6-fs:
Address or name of remote host []? 10.1.1.1
Source filename []? mp.1-2-0-16.bin.gz
Destination filename [mp.1-2-0-16.bin.gz]?
Accessing tftp://10.1.1.1/mp.1-2-0-16.bin.gz...
Loading mp.1-2-0-16.bin.gz from 10.1.1.1 (via Vlan2):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(テキスト出力は省略)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 9818951 bytes]
9818951 bytes copied in 164.388 secs (59730 bytes/sec)
ssl-proxy>
1w0d:%SVCLC-SP-6-STRRECVD:mod 6:<MP upgrade started. Do not reset the card.>
1w0d:%SVCLC-SP-6-STRRECVD:mod 6:<Upgrade of MP was successful. You can now boot MP.>
Router# hw mod 6 reset cf:1
Device BOOT variable for reset = <cf:1>
Warning:Device list is not verified.
Proceed with reload of module? [confirm]y
% reset issued for module 6
Router# show module
Mod Ports Card Type Model Serial No.
--- ----- -------------------------------------- ------------------ -----------
1 2 Catalyst 6000 supervisor 2 (Active) WS-X6K-S2U-MSFC2 SAD055006RZ
2 48 48 port 10/100 mb RJ45 WS-X6348-RJ-45 SAL052794UW
6 1 SSL Module (MP) WS-SVC-SSL-1 SAD060702VK
 
(テキスト出力は省略)
 

Catalystオペレーティング システム ソフトウェア


) イメージがアップグレードされるまで、モジュールをリセットしないでください。イメージのアップグレードの所要時間は、最大8分です。


MPソフトウェアをアップグレードする手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Console (enable) set boot device cf:4 mod

APをブートするようにモジュールを設定します。

ステップ 2

Console (enable) reset mod

モジュールをAPにリセットします。


) SUP_OSBOOTSTATUSシステム メッセージにより、APがブートされたことが示されます。


ステップ 3

Console (enable) session [ mod ]

Telnetセッションを使用してスイッチCLIからMSFCにアクセスします。6

ステップ 4

Router# copy tftp: pclc# mod -fs:

イメージをダウンロードします。

ステップ 5

Router# exit

MSFC CLIを終了してスイッチCLIに戻ります。

ステップ 6

Console (enable) set boot device cf:1 mod

MPをブートするようにモジュールを設定します。

ステップ 7

Console (enable) reset mod

モジュールをMPにリセットします。


) SUP_OSBOOTSTATUSシステム メッセージにより、MPがブートされたことが示されます。


6.スーパバイザ エンジン コンソール ポートに直接接続したスイッチCLIからMSFCにアクセスするには、switch console modコマンドを入力します。MSFC CLIを終了してスイッチCLIに戻るには、Router>プロンプトでCtrl-Cを3度押します。

次に、MPソフトウェアをアップグレードする例を示します。

Console> (enable) set boot device cf:4 6
Device BOOT variable = cf:4
Memory-test set to PARTIAL
Warning:Device list is not verified but still set in the boot string.
Console> (enable) reset 6
This command will reset module 6.
Unsaved configuration on module 6 will be lost
Do you want to continue (y/n) [n]? y
Module 6 shut down in progress, please don't remove module until shutdown completed.
Console> (enable) Module 6 shutdown completed. Module resetting...
2003 Jan 17 08:36:58 %SYS-3-SUP_OSBOOTSTATUS:AP OS Boot Status:finished booting
2003 Jan 17 08:37:51 %SYS-5-MOD_OK:Module 6 is online
2003 Jan 17 08:37:51 %DTP-5-TRUNKPORTON:Port 6/1 has become dot1q trunk
Console> (enable) session 15
Trying Router-15...
Connected to Router-15.
Type ^C^C^C to switch back...
Router>
Router# copy tftp:pclc#6-fs:
Address or name of remote host []? 10.1.1.1
Source filename []? mp.1-2-0-16.bin.gz
Destination filename [mp.1-2-0-16.bin.gz]?
Accessing tftp://10.1.1.1/mp.1-2-0-16.bin.gz...
Loading mp.1-2-0-16.bin.gz from 10.1.1.1 (via Vlan2):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
(テキスト出力は省略)
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 9818951 bytes]
 
9818951 bytes copied in 164.388 secs (59730 bytes/sec)
ssl-proxy>
1w0d:%SVCLC-SP-6-STRRECVD:mod 6:<MP upgrade started. Do not reset the card.>
1w0d:%SVCLC-SP-6-STRRECVD:mod 6:<Upgrade of MP was successful. You can now boot MP.>
Router# exit
Console> (enable) set boot device cf:1 6
Device BOOT variable = cf:1
Memory-test set to PARTIAL
Warning:Device list is not verified but still set in the boot string.
Console> (enable)
Console> (enable) reset 6 cf:1
This command will reset module 6.
Unsaved configuration on module 6 will be lost
Do you want to continue (y/n) [n]? y
Module 6 shut down in progress, please don't remove module until shutdown completed.
Console> (enable) Module 6 shutdown completed. Module resetting...
2003 Jan 17 08:34:07 %SYS-3-SUP_OSBOOTSTATUS:MP OS Boot Status:finished booting
2003 Jan 17 08:34:23 %SYS-5-MOD_OK:Module 6 is online
2003 Jan 17 08:34:23 %DTP-5-TRUNKPORTON:Port 6/1 has become dot1q trunk
 

SSLサービス モジュールの設定

ここでは、SSLサービス モジュールを設定する方法について説明します。

「PKIの設定」

「SSLプロキシ サービスの設定」

PKIの設定

SSLサービス モジュールはSSLプロトコルを使用して、プライバシ、認証、およびデータ統合によるセキュアなデータ トランザクションを実現します。SSLプロトコルは、証明書、公開鍵、および秘密鍵を信頼します。

証明書はデジタルIDカードと同様に、クライアントに対してサーバIDを検証します。CAが発行する証明書には、証明書が発行されたエンティティの名前、エンティティの公開鍵、および証明書の有効期限を示すタイム スタンプが含まれます。

公開鍵および秘密鍵は、情報の暗号化および復号化に使用される暗号です。公開鍵は制限なく共有されますが、秘密鍵は共有されません。公開鍵と秘密鍵はペアとして機能します。公開鍵を使用して暗号化されたデータは、対応する秘密鍵を使用しないと、復号化できません。

各SSLサービス モジュールは、最大256台のWebサーバのSSLプロキシとして機能します。各Webサーバごとに鍵のペアを設定し、認証用としてサーバ証明書に適用する必要があります。

証明書はNVRAM(不揮発性RAM)に保存することを推奨します。このようにすると、モジュールは、起動時に、証明書を入手または自動登録するようにCAに問い合わせる必要がなくなります。詳細については、「設定の保存」を参照してください。

ここでは、PKIの設定方法について説明します。

「鍵および証明書の設定」

「証明書および信頼点の確認」

「設定の保存」

「鍵および証明書のバックアップ」

「鍵および証明書のモニタおよびメンテナンス」

「プロキシ サービスへの証明書の割り当て」

「証明書の更新」

「鍵および証明書の履歴のイネーブル化」

鍵および証明書の設定

鍵および証明書を次のいずれかの方法で設定できます。

Simple Certificate Enrollment Protocol(SCEP)を使用している場合は、次の方法で鍵および証明書を設定します。

鍵ペアを生成します。

信頼点を宣言します。

CA証明書を取得します。

SSLサーバに代わり、CAに登録要求を送信します。

詳細は、「SCEPを使用する信頼点の設定」を参照してください。

SCEPを使用していない場合は、手動の証明書登録(TFTPおよびカットアンドペースト)機能を使用して、鍵と証明書を設定します。次の手順を実行してください。

鍵ペアを生成またはインポートします。

信頼点を宣言します。

PKCS10ファイルを作成するのに、TFTPまたはカットアンドペーストによりCA証明書を取得し、信頼点を登録します。

PKCS10パッケージを使用して、SSLサーバ証明書をオフラインで要求します。

TFTPまたはカットアンドペーストを使用して、SSLサーバ証明書をインポートします。

詳細は、「手動証明書登録」を参照してください。

外部PKIシステムを使用している場合は、次の手順を実行してください。

PKCS12ファイルまたはPEMファイルを生成します。

このファイルをモジュールにインポートします。

詳細は、「鍵ペアおよび証明書のインポートとエクスポート」を参照してください。

外部PKIシステムは、鍵ペアを生成し、CAまたは鍵からの証明書の登録やアーカイブ システムの認証を行うサーバまたはPKI管理システムです。Public-Key Cryptography Standards(PKCS)は、秘密鍵および証明書を含む、個人識別情報の転送構文を指定します。この情報は、暗号化ファイルに格納されます。暗号化ファイルを開くには、パス フレーズを取得する必要があります。暗号鍵は、パス フレーズから取得されます。


) PKCS12ファイルまたはPEMファイルをインポートする前に信頼点を設定する必要はありません。信頼点が未設定の場合は、PKCS12ファイルまたはPEMファイルから鍵および証明書をインポートすると、信頼点が自動作成されます。


鍵および証明書の設定の概要については、図 3-1を参照してください。

図 3-1 鍵および証明書の設定概要

 

SCEPを使用する信頼点の設定

SCEPを使用して信頼点を設定する手順は、次のとおりです。

「RSA鍵ペアの生成」

「信頼点の宣言」

「CA証明書の取得」

「証明書の要求」

RSA鍵ペアの生成


) SSHは、生成された最初の鍵ペアによってモジュールでイネーブルになります。SSHを使用する場合は、SSHの鍵ペアを設定します。「SSHの設定」を参照してください。


RSAは、Ron Rivest、Adi Shamir、およびLeonard Aldemanが開発した公開鍵暗号システムです。RSAアルゴリズムは、鍵ペアを生成するためにCAおよびSSLサーバで幅広く使用されています。各CAおよびSSLサーバには、独自のRSA鍵ペアがあります。SSLサーバは、証明書を登録するときに、公開鍵をCAに送信します。SSLサーバはSSLセッションを設定するときに、証明書を使用してクライアントに対してIDを証明します。

SSLサーバはセキュアなストレージ内に秘密鍵を保管し、CAには公開鍵のみを送信します。CAは秘密鍵を使用して、サーバの公開鍵およびサーバに関するその他の識別情報が格納された証明書に署名します。

各CAは秘密鍵の機密を保持し、秘密鍵を使用して、下位のCAおよびSSLサーバ用の証明書に署名します。CAには、公開鍵が格納された証明書が保管されます。

CAは1つまたは複数のレベルからなる階層を形成します。最上位レベルのCAをルートCAと呼びます。下位レベルのCAを中間CAまたは下位CAと呼びます。ルートCAには自己署名証明書が格納されます。ルートCAはすぐ下のレベルの下位CA用証明書に署名し、その下位CAはさらに1つ下のレベルのCA用証明書に署名します。以下、同様です。最下位レベルのCAは、SSLサーバ用証明書に署名します。


) SSLソフトウェアRelease 1.2では、SSLサービス モジュールが最大8レベルのCAをサポートします(1つのルートCAと最大7つの下位CA)。「3層のCA登録の例」に、3レベル(3層)の登録例を示します。


これらの証明書は、最下位レベルのサーバ証明書および最上位レベルのルートCA自己署名証明書と共に、チェーンを形成します。各署名を作成するには、発行元CAの秘密鍵を使用して、証明書本体のハッシュ ダイジェストを暗号化します。証明書本体の末尾に署名が付加されて、完全な証明書となります。

SSLセッションの設定時に、SSLサーバは証明書チェーンをクライアントに送信します。クライアントは、レベルが1つ上の証明書から公開鍵を取得して、証明書本体に付加された署名を復号化することにより、チェーン上方に向かって各証明書の署名を確認します。復号結果と証明書本体のハッシュ ダイジェストが比較されます。チェーン内のいずれかのCA証明書が、クライアントの独自データベースに保存された信頼できるCA証明書の1つと一致した場合、確認は終了します。

チェーン内の最上位レベルのCA証明書に到達しても、信頼できる自己署名証明書と一致しなかった場合、クライアントはセッションを終了するか、またはユーザに対して、証明書を閲覧し信頼できるかどうかを判別するよう要求します。

SSLクライアントは、サーバを認証した後、サーバ証明書内の公開鍵を使用して機密事項を暗号化し、サーバに送信します。SSLサーバは秘密鍵を使用して、機密事項を復号化します。クライアントとサーバは両方で、交換された機密事項および2つの乱数を使用することにより、SSLセッション全体でデータの暗号化、復号化、および整合性チェックを行うために必要な鍵情報を生成します。


) SSLサービス モジュールは、汎用鍵のみをサポートします。


汎用鍵を生成すると、RSA鍵ペアが1対のみ生成されます。名前付きの鍵ペアを使用すると、複数のRSA鍵ペアを所有することができ、Cisco IOSソフトウェアはID証明書ごとに異なる鍵ペアを管理できます。鍵ペアに名前を指定することを推奨します。


) 生成された鍵ペアは、システム メモリ(RAM)に保存されます。停電が起こるか、またはモジュールをリセットすると、これらの鍵ペアは失われます。実行コンフィギュレーションを保存し、モジュールのNVRAM内にあるプライベート コンフィギュレーション ファイルに鍵ペアを保存するには、copy system:running-config nvram:startup-configコマンドを入力する必要があります。


RSA鍵ペアを生成する手順は、次のとおりです。

 

コマンド
目的
ssl-proxy(config)# crypto key generate rsa general-keys label key-label [ exportable7 ] [ modulus size ]

RSA鍵ペアを生成します。

7.exportableキーワードは、鍵をエクスポート可能に指定します。鍵をエクスポート可能に指定できるのは、鍵を生成するときです。エクスポート可能またはエクスポート不可能として生成された鍵は、鍵の有効期間中に変更できません。


) RSA鍵を生成するとき、鍵のモジュラス長をビット単位で入力するように要求されます。SSLサービス モジュールは、512、768、1024、1536、および2048ビットのモジュラス長をサポートします。512または768も指定できますが、1024以上のモジュラス長を推奨します。モジュラスが長いほど生成や使用に時間がかかりますが、セキュリティが強化されます。


次に、汎用のRSA鍵を生成する例を示します。

ssl-proxy(config)# crypto key generate rsa general-keys label kp1 exportable
 
The name for the keys will be: kp1
 
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]: 1024
 
Generating RSA keys.... [OK].
 

) 鍵ペアを生成したあとに、自己署名証明書を生成してSSLサービスをテストすることができます。テスト用の自己署名証明書を生成するには、「自己署名証明書の生成」を参照してください。


信頼点の宣言

証明書ごとに、モジュールで使用される信頼点を1つ宣言する必要があります。

モジュールが使用する信頼点を宣言し、信頼点の特性を指定するには、グローバル コンフィギュレーション モードから始めて次の作業を行います。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# crypto ca trustpoint trustpoint-label8

モジュールで使用する信頼点を宣言します。このコマンドをイネーブルにすると、ca-trustpointコンフィギュレーション モードになります。

ステップ 2

ssl-proxy(ca-trustpoint)# rsakeypair key-label

証明書に関連づける鍵ペアを指定します。

ステップ 3

ssl-proxy(ca-trustpoint)# enrollment [ mode ra ] [ retry [ period minutes ] [ count count ]] url url

CAの登録パラメータを指定します。

ステップ 4

ssl-proxy(ca-trustpoint)# ip-address server_ip_addr

(任意)この証明書を使用するプロキシ サービスのIPアドレスを指定します9

ステップ 5

ssl-proxy(ca-trustpoint)# subject-name line 10

(任意)プロキシ サービスのホスト名を設定します11

ステップ 6

ssl-proxy(ca-trustpoint)# password password

(任意)チャレンジ パスワードを設定します。

ステップ 7

ssl-proxy(ca-trustpoint)# exit

ca-trustpointコンフィギュレーション モードを終了します。

8.trustpoint-labelは鍵のkey-labelと一致させてください。ただし、必須ではありません。

9.一部のWebブラウザは、SSLサーバ証明書内のIPアドレスと、URLに含まれるIPアドレスを比較します。これらのIPアドレスが一致しない場合、ブラウザは、この証明書を受け入れるかまたは拒否するかをクライアントに確認するダイアログ ボックスを表示することがあります。

10.たとえば、subject-name CN=server1.domain2.comserver1はURLに含まれるSSLサーバの名前)などです。subject-nameコマンドは、Lightweight Directory Access Protocol(LDAP)形式を使用します。

11.一部のブラウザは、SSLサーバ証明書の件名のCNフィールドと、URLに含まれるホスト名を比較します。これらの名前が一致しない場合、ブラウザは、この証明書を受け入れるかまたは拒否するかをクライアントに確認するダイアログ ボックスを表示することがあります。また、証明書にCNフィールドが設定されていない場合、一部のブラウザはSSLセッションの設定を拒否して、セッションを自動的にクローズします。

次に、信頼点PROXY1を宣言して、接続を確認する例を示します。

ssl-proxy(config)# crypto ca trustpoint PROXY1
ssl-proxy(ca-trustpoint)# rsakeypair PROXY1
ssl-proxy(ca-trustpoint)# enrollment url http://exampleCA.cisco.com
ssl-proxy(ca-trustpoint)# ip-address 10.0.0.1
ssl-proxy(ca-trustpoint)# password password
ssl-proxy(ca-trustpoint)# serial-number
ssl-proxy(ca-trustpoint)# subject-name C=US; ST=California; L=San Jose; O=Cisco; OU=Lab; CN=host1.cisco.com
ssl-proxy(ca-trustpoint)# end
ssl-proxy#
ssl-proxy# ping example.cisco.com
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
ssl-proxy#
 

CA証明書の取得

信頼点ごとに、CAの公開鍵が格納された証明書を取得する必要があります。複数の信頼点で同じCAを使用することができます。


) CAに問い合わせて、証明書の正しいフィンガープリントを取得し、コンソールに表示されるフィンガープリントを検証します。


CAの公開鍵が格納された証明書を取得するには、グローバル コンフィギュレーション モードで次の作業を行います。

 

コマンド
目的
ssl-proxy(config)# crypto ca authenticate trustpoint-label

CAの公開鍵が格納された証明書を取得します。信頼点を宣言するときに入力したのと同じ trustpoint_label を入力します。

次に、CAの証明書を取得する例を示します。

ssl-proxy(config)# crypto ca authenticate PROXY1
Certificate has the following attributes:
Fingerprint: A8D09689 74FB6587 02BFE0DC 2200B38A
% Do you accept this certificate? [yes/no]: y
Trustpoint CA certificate accepted.
ssl-proxy(config)# end
ssl-proxy#
 

証明書の要求

信頼点ごとに、CAから署名付き証明書を取得する必要があります。

CAから署名付き証明書を要求するには、グローバル コンフィギュレーション モードで次の作業を行います。

 

コマンド
目的
ssl-proxy(config)# crypto ca enroll trustpoint-label12

信頼点用の証明書を要求します。

12.コンフィギュレーションと共に保存されないチャレンジ パスワードを作成することもできます。チャレンジ パスワードは証明書を取り消す場合に必要となるので、覚えておく必要があります。


crypto ca enrollコマンドを入力してから、証明書を受け取るまでの間にモジュールまたはスイッチを再起動した場合は、このコマンドを再入力して、CA管理者に通知する必要があります。


次に、証明書を要求する例を示します。

ssl-proxy(config)# crypto ca enroll PROXY1
%
% Start certificate enrollment ..
 
% The subject name in the certificate will be: C=US; ST=California; L=San Jose; O=Cisco; OU=Lab; CN=host1.cisco.com
% The subject name in the certificate will be: host.cisco.com
% The serial number in the certificate will be: 00000000
% The IP address in the certificate is 10.0.0.1
 
% Certificate request sent to Certificate Authority
% The certificate request fingerprint will be displayed.
% The 'show crypto ca certificate' command will also show the fingerprint.
Fingerprint: 470DE382 65D8156B 0F84C2AF 4538B913
 
ssl-proxy(config)#end
 

信頼点を設定した後に、証明書および信頼点の情報を確認する場合は、「証明書および信頼点の確認」を参照してください。

3層のCA登録の例

SSLソフトウェアRelease1.2では、SSLサービス モジュールが最大8レベルのCAをサポートします(1つのルートCAと最大7つの下位CA)。次に、3レベルのCAを設定する例を示します。

鍵の生成

ssl-proxy(onfig)# crypto key generate rsa general-keys label key1 exportable
The name for the keys will be:key1
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]:1024
% Generating 1024 bit RSA keys ...[OK]
 

信頼点の定義

ssl-proxy(config)# crypto ca trustpoint 3tier-root
ssl-proxy(ca-trustpoint)# enrollment url http://10.1.1.1
ssl-proxy(ca-trustpoint)#
ssl-proxy(ca-trustpoint)# exit
ssl-proxy(config)# crypto ca trustpoint 3tier-sub1
ssl-proxy(ca-trustpoint)# enrollment url http://10.1.1.2
ssl-proxy(ca-trustpoint)#
ssl-proxy(ca-trustpoint)# exit
ssl-proxy(config)# crypto ca trustpoint tp-proxy1
ssl-proxy(ca-trustpoint)# enrollment url http://10.1.1.3
ssl-proxy(ca-trustpoint)# serial-number
ssl-proxy(ca-trustpoint)# password cisco
ssl-proxy(ca-trustpoint)# subject CN=ste.cisco.com
ssl-proxy(ca-trustpoint)# rsakeypair key1
ssl-proxy(ca-trustpoint)#
ssl-proxy(ste(ca-trustpoint)#show
enrollment url http://10.1.1.3
serial-number
password 7 02050D480809
subject-name CN=ste.cisco.com
rsakeypair key1
end
 
ssl-proxy(ca-trustpoint)# exit
 

3つのCAの認証(1つのルートCAと2つの下位CA)

ssl-proxy(config)# crypto ca authenticate 3tier-root
Certificate has the following attributes:
Fingerprint:84E470A2 38176CB1 AA0476B9 C0B4F478
% Do you accept this certificate? [yes/no]:yes
Trustpoint CA certificate accepted.
ssl-proxy(config)#
ssl-proxy(config)# crypto ca authenticate 3tier-sub1
Certificate has the following attributes:
Fingerprint:FE89FB0D BF8450D7 9934C926 6C66708D
Certificate validated - Signed by existing trustpoint CA certificate.
Trustpoint CA certificate accepted.
ssl-proxy(config)#
ssl-proxy(config)# crypto ca authenticate tp-proxy1
Certificate has the following attributes:
Fingerprint:6E53911B E29AE44C ACE773E7 26A098C3
Certificate validated - Signed by existing trustpoint CA certificate.
Trustpoint CA certificate accepted.
 

3番目のレベルのCAによる登録

ssl-proxy(config)# crypto ca enroll tp-proxy1
%
% Start certificate enrollment ..
 
% The fully-qualified domain name in the certificate will be:ste.
% The subject name in the certificate will be:ste.
% The serial number in the certificate will be:B0FFF0C2
% Include an IP address in the subject name? [no]:
Request certificate from CA? [yes/no]:yes
% Certificate request sent to Certificate Authority
% The certificate request fingerprint will be displayed.
% The 'show crypto ca certificate' command will also show the fingerprint.
 
ssl-proxy(config)# Fingerprint: 74390E57 26F89436 6FC52ABE 24E23CD9
 
ssl-proxy(config)#
*Apr 18 05:10:20.963:%CRYPTO-6-CERTRET:Certificate received from Certificate Authority
 

手動証明書登録

手動証明書登録(TFTPおよびカットアンドペースト)機能を使用すると、証明書要求を生成し、ルータの証明書と同様にCA証明書も受け入れることができます。これらの手順は、TFTPサーバまたは手動のカットアンドペースト操作で行われます。TFTPまたは手動のカットアンドペースト登録を使用しなければならない状況は、次のとおりです。

ご使用のCAが、SCEP(要求および証明書の送受信に通常使用される方法)をサポートしていない場合

ルータとCA間のネットワーク接続(Cisco IOSソフトウェアを実行しているルータが証明書を入手する方法)が不可能な場合

次に、TFTPを使用して証明書登録を設定する例を示します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# crypto ca trustpoint tftp_example
ssl-proxy(ca-trustpoint)# enrollment url tftp://10.1.1.2/win2k
ssl-proxy(ca-trustpoint)# rsakeypair pair3
ssl-proxy(ca-trustpoint)# exit
ssl-proxy(config)# crypto ca auth tftp_example
Loading win2k.ca from 10.1.1.2 (via Ethernet0/0.168): !
[OK - 1436 bytes]
 
Certificate has the following attributes:
Fingerprint: 2732ED87 965F8FEB F89788D4 914B877D
% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
ssl-proxy(config)#
ssl-proxy(config)# crypto ca enroll tftp_example
% Start certificate enrollment ..
 
% The fully-qualified domain name in the certificate will be: ssl-proxy.cisco.com
% The subject name in the certificate will be: ssl-proxy.cisco.com
% Include the router serial number in the subject name? [yes/no]: yes
% The serial number in the certificate will be: 00000000
% Include an IP address in the subject name? [no]:
Send Certificate Request to tftp server? [yes/no]: yes
% Certificate request sent to TFTP Server
% The certificate request fingerprint will be displayed.
% The 'show crypto ca certificate' command will also show the fingerprint.
 
ssl-proxy(config)# Fingerprint: D012D925 96F4B5C9 661FEC1E 207786B7
!!
ssl-proxy(config)# crypto ca import tftp_example cert
% The fully-qualified domain name in the certificate will be: ssl-proxy.cisco.com
Retrieve Certificate from tftp server? [yes/no]: yes
% Request to retrieve Certificate queued
 
ssl-proxy(config)#
Loading win2k.crt from 10.1.1.2 (via Ethernet0/0.168): !
[OK - 2112 bytes]
 
ssl-proxy(config)#
*Apr 15 12:02:33.535: %CRYPTO-6-CERTRET: Certificate received from Certificate Authority
ssl-proxy(config)#
 

次のURLに従って、手動証明書登録(TFTPおよびカットアンドペースト)機能を設定してください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122t/122t13/ftmancrt.htm

鍵ペアおよび証明書のインポートとエクスポート

PKCS12ファイル フォーマットまたはPrivacy-Enhanced Mail(PEM)ファイル フォーマットのいずれかを使用して、鍵ペアと証明書をインポート/エクスポートすることができます。

鍵ペアと証明書をインポート/エクスポートするには、次のいずれかの章を参照してください。

「PKCS12ファイルのインポートとエクスポート」

「PEMファイルのインポートとエクスポート」


) モジュールのSSLソフトウェアには、テスト用PKCS12ファイル(test/testssl.p12)が組み込まれています。このファイルをNVRAMにインストールして、テストや概念の検証に使用することができます。PKCS12ファイルをインストールした後に、このファイルを信頼点にインポートして、テスト用に設定されたプロキシ サービスに割り当てることができます。テスト用PKCS12ファイルのインストールについては、「組み込みテスト証明書のインポート」を参照してください。


PKCS12ファイルのインポートとエクスポート

外部PKIシステムを使用してPKCS12ファイルを生成し、生成されたファイルをモジュールにインポートすることができます。


) PKCS12ファイルを作成する場合は、サーバ証明書からルート証明書までの証明書チェーン全体、および公開鍵と秘密鍵をファイルに含める必要があります。また、モジュール上でPKCS12ファイルを生成して、それをエクスポートすることもできます。



) インポートされた鍵ペアは、エクスポートできません。



) SSHを使用している場合は、PKCS12ファイルをインポートまたはエクスポートするときに、SCP(セキュアなファイル転送)を使用することを推奨します。SCPはホストを認証して、転送セッションを暗号化します。


PKCS12ファイルをインポートまたはエクスポートする手順は、次のとおりです。

 

コマンド
目的
ssl-proxy(config)# crypto ca { import | export } trustpoint_label pkcs12 { scp: | ftp: | nvram: | rcp: | tftp: } [ pkcs12_filename13 ] pass_phrase14

PKCS12ファイルをインポートまたはエクスポートします。


) PKCS12ファイルをインポートする前に信頼点を設定する必要はありません。信頼点が未設定の場合は、PKCS12ファイルから鍵および証明書をインポートすると、信頼点が自動作成されます。


13.pkcs12_filename値を指定しない場合は、デフォルトのファイル名(trustpoint_label)を受け入れるか、またはファイル名を入力するように要求されます。ftp:またはtftp:には、pkcs12_filename値のすべてのパスを含める必要があります。

14.入力したパス フレーズが正しくない場合は、エラーが表示されます。

次に、SCPを使用してPKCS12ファイルをインポートする例を示します。

ssl-proxy(config)# crypto ca import TP2 pkcs12 scp: sky is blue
Address or name of remote host []? 10.1.1.1
Source username [ssl-proxy]? admin-1
Source filename [TP2]? /users/admin-1/pkcs12/TP2.p12
 
Password:password
Sending file modes:C0644 4379 TP2.p12
!
ssl-proxy(config)#
*Aug 22 12:30:00.531:%CRYPTO-6-PKCS12IMPORT_SUCCESS:PKCS #12 Successfully Imported.
ssl-proxy(config)#
 

次に、SCPを使用してPKCS12ファイルをエクスポートする例を示します。

ssl-proxy(config)# crypto ca export TP1 pkcs12 scp: sky is blue
Address or name of remote host []? 10.1.1.1
Destination username [ssl-proxy]? admin-1
Destination filename [TP1]? TP1.p12
 
Password:
 
Writing TP1.p12 Writing pkcs12 file to scp://admin-1@10.1.1.1/TP1.p12
 
Password:
!
CRYPTO_PKI:Exported PKCS12 file successfully.
ssl-proxy(config)#
 

次に、FTPを使用してPKCS12ファイルをインポートする例を示します。

ssl-proxy(config)# crypto ca import TP2 pkcs12 ftp: sky is blue
Address or name of remote host []? 10.1.1.1
Source filename [TP2]? /admin-1/pkcs12/PK-1024
Loading /admin-1/pkcs12/PK-1024 !
[OK - 4339/4096 bytes]
ssl-proxy(config)#
 

次に、FTPを使用してPKCS12ファイルをエクスポートする例を示します。

ssl-proxy(config)# crypto ca export TP1 pkcs12 ftp: sky is blue
Address or name of remote host []? 10.1.1.1
Destination filename [TP1]? /admin-1/pkcs12/PK-1024
Writing pkcs12 file to ftp://10.1.1.1//admin-1/pkcs12/PK-1024
 
Writing /admin-1/pkcs12/PK-1024 !!
CRYPTO_PKI:Exported PKCS12 file successfully.
ssl-proxy(config)#
 

PKCS12ファイルをインポートした後に、証明書および信頼点の情報を確認する場合は、「証明書および信頼点の確認」を参照してください。

PEMファイルのインポートとエクスポート


crypto ca import pemコマンドを使用すると、秘密鍵(.prv)、サーバ証明書(.crt)、および発行者のCA証明書(.ca)のみをインポートします。証明書チェーンに複数のCAレベルがある場合は、このコマンドが認証用に発行される前に、ルートCA証明書および下位CA証明書をインポートする必要があります。ルートCA証明書および下位CA証明書をインポートするには、カットアンドペーストまたはTFTPを使用します。



) インポートされた鍵ペアは、エクスポートできません。



) SSHを使用している場合は、PEMファイルをインポートまたはエクスポートするときに、SCP(セキュアなファイル転送)を使用することを推奨します。SCPはホストを認証して、転送セッションを暗号化します。


PEMファイルをインポートまたはエクスポートするには、次の手順のいずれかを実行します。

 

コマンド
目的
ssl-proxy(config)# crypto ca import trustpoint_label pem [ exportable ] { terminal | url { scp: | ftp: | nvram: | rcp: | tftp: } | usage-keys } pass_phrase15 , 16

PEMファイルをインポートします。


) PEMファイルをインポートする前に信頼点を設定する必要はありません。信頼点が未設定の場合は、PEMファイルから鍵および証明書をインポートすると、信頼点が自動作成されます。


ssl-proxy(config)# crypto ca export trustpoint_label pem { terminal | url { scp: | ftp: | nvram: | rcp: | tftp: } [ des | 3des ] pass_phrase1 , 2

PEMファイルをエクスポートします。


) 鍵、サーバ証明書、およびサーバ証明書の発行者CAのみがエクスポートされます。上位レベルのCAはすべて、TFTPのカットアンドペーストを使用してエクスポートされる必要があります。


15.入力したパス フレーズが正しくない場合は、エラーが表示されます。

16.パス フレーズは、秘密鍵を格納しているPEMファイルを保護します。PEMファイルは、DESまたは3DESにより暗号化されます。暗号鍵は、パス フレーズから取得されます。証明書を格納しているPEMファイルは暗号化されないため、パス フレーズにより保護されません。

次に、TFTPを使用してPEMファイルをインポートする例を示します。


) TP5.ca、TP5.prv、およびTP5.crtファイルは、サーバ上に格納されている必要があります。


ssl-proxy(config)# crypto ca import TP5 pem url tftp://10.1.1.1/TP5 password
% Importing CA certificate...
Address or name of remote host [10.1.1.1]?
Destination filename [TP5.ca]?
Reading file from tftp://10.1.1.1/TP5.ca
Loading TP5.ca from 10.1.1.1 (via Ethernet0/0.168): !
[OK - 1976 bytes]
 
% Importing private key PEM file...
Address or name of remote host [10.1.1.1]?
Destination filename [TP5.prv]?
Reading file from tftp://10.1.1.1/TP5.prv
Loading TP5.prv from 10.1.1.1 (via Ethernet0/0.168): !
[OK - 963 bytes]
 
% Importing certificate PEM file...
Address or name of remote host [10.1.1.1]?
Destination filename [TP5.crt]?
Reading file from tftp://10.1.1.1/TP5.crt
Loading TP5.crt from 10.1.1.1 (via Ethernet0/0.168): !
[OK - 1692 bytes]
% PEM files import succeeded.
ssl-proxy(config)#end
ssl-proxy#
*Apr 11 15:11:29.901: %SYS-5-CONFIG_I: Configured from console by console
 

次に、TFTPを使用してPEMファイルをエクスポートする例を示します。

ssl-proxy(config)# crypto ca export TP5 pem url tftp://10.1.1.1/tp99 3des password
% Exporting CA certificate...
Address or name of remote host [10.1.1.1]?
Destination filename [tp99.ca]?
% File 'tp99.ca' already exists.
% Do you really want to overwrite it? [yes/no]: yes
!Writing file to tftp://10.1.1.1/tp99.ca!
% Key name: key1
Usage: General Purpose Key
% Exporting private key...
Address or name of remote host [10.1.1.1]?
Destination filename [tp99.prv]?
% File 'tp99.prv' already exists.
% Do you really want to overwrite it? [yes/no]: yes
!Writing file to tftp://10.1.1.1/tp99.prv!
% Exporting router certificate...
Address or name of remote host [10.1.1.1]?
Destination filename [tp99.crt]?
% File 'tp99.crt' already exists.
% Do you really want to overwrite it? [yes/no]: yes
!Writing file to tftp://10.1.1.1/tp99.crt!
ssl-proxy(config)#
 

PEMファイルをインポートした後に、証明書および信頼点の情報を確認する場合は、「証明書および信頼点の確認」を参照してください。

3レベルのCA用PEMファイルのインポート例

ここでは、オフライン登録のカットアンドペースト オプションを使用して、ルートCA証明書(Tier 1)および中間CA証明書(Tier 2)を取得します。中間CA証明書(Tier 3)、秘密鍵、およびルータ証明書は、PEMファイルをインポートすることで取得されます。

カットアンドペーストの使用によるルートCA-Tier 1証明書取得

ssl-proxy(config)# crypto ca trustpoint 3tier-root
ssl-proxy(ca-trustpoint)# enrollment terminal
ssl-proxy(ca-trustpoint)# exit
ssl-proxy(config)# crypto ca authenticate 3tier-root
 
Enter the base 64 encoded CA certificate.
End with a blank line or the word ‘quit’ on a line by itself
 
-----BEGIN CERTIFICATE-----
MIID+DCCA2GgAwIBAgIQf9WyCbXCRIxH938UBiXSZTANBgkqhkiG9w0BAQQFADCB
rDEhMB8GCSqGSIb3DQEJARYSaHRoaWFnYXJAY2lzY28uY29tMQswCQYDVQQGEwJV
UzELMAkGA1UECBMCY2ExETAPBgNVBAcTCHNhbiBqb3NlMRwwGgYDVQQKExNjaXNj
byBzeXN0ZW1zLCBpbmMuMQ0wCwYDVQQLEwRpc2J1MS0wKwYDVQQDEyQ2ZWJmOWIz
ZS05YTZkLTQ0MDAtODkzYy1kZDg1ZGNmZTkxMWIwHhcNMDIwNjEzMDAwNTMyWhcN
MDQwNjEzMDAxMTU4WjCBrDEhMB8GCSqGSIb3DQEJARYSaHRoaWFnYXJAY2lzY28u
Y29tMQswCQYDVQQGEwJVUzELMAkGA1UECBMCY2ExETAPBgNVBAcTCHNhbiBqb3Nl
MRwwGgYDVQQKExNjaXNjbyBzeXN0ZW1zLCBpbmMuMQ0wCwYDVQQLEwRpc2J1MS0w
KwYDVQQDEyQ2ZWJmOWIzZS05YTZkLTQ0MDAtODkzYy1kZDg1ZGNmZTkxMWIwgZ8w
DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtGJFtJNwpKKNqu6j6j+C5zxzFyLFvM
v0qAsTIiHWZ2/isSefidLqnoi6L7T2eEnIY/9CCwjjU5DysUnWtCUOEPyO1nmE34
WLYdJnNRxudBLxgZjHfbKl9htfeIdcFv7g3G0Rv6xss6SG9fb3aZbGp+pT1HBJLA
902F057QkrvJAgMBAAGjggEXMIIBEzALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUw
AwEB/zAdBgNVHQ4EFgQUk0u7DvArNTvDbsb/RzzTh6F96w8wgcEGA1UdHwSBuTCB
tjBYoFagVIZSaHR0cDovL3dpbjJrLXNlcnZlcjEuY2lzY28uY29tL0NlcnRFbnJv
bGwvNmViZjliM2UtOWE2ZC00NDAwLTg5M2MtZGQ4NWRjZmU5MTFiLmNybDBaoFig
VoZUZmlsZTovL1xcd2luMmstc2VydmVyMS5jaXNjby5jb21cQ2VydEVucm9sbFw2
ZWJmOWIzZS05YTZkLTQ0MDAtODkzYy1kZDg1ZGNmZTkxMWIuY3JsMBAGCSsGAQQB
gjcVAQQDAgEAMA0GCSqGSIb3DQEBBAUAA4GBAB4bOQTm8Ja9Gk0XZ6cIJ8RuurJ4
nNQJ1jMXQM2pvPhv6Y2zhbjr2VIjfWsqePAkMZOEl7SGAqgk+iomrq1Ivd3Zob2/
U5G4Sn2q0mux0wWV61aG+au0ynz7iIFCSvyr9Ms47VMC1YGWomR8lJsP762bD8lx
oJGL8AEVJHMS4IgF
-----END CERTIFICATE-----
 
Certificate has the following attributes:
Fingerprint:2732ED87 965F8FEB F89788D4 914B877D
% Do you accept this certificate? [yes/no]:yes
Trustpoint CA certificate accepted.
% Certificate successfully imported
 

カットアンドペーストの使用による中間CA-Tier 2証明書取得

ssl-proxy(config)#
ssl-proxy(config)# crypto ca trustpoint 3tier-sub1
ssl-proxy(ca-trustpoint)# enrollment terminal
ssl-proxy(ca-trustpoint)# exit
ssl-proxy(config)# crypto ca authenticate 3tier-sub1
 
Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself
 
-----BEGIN CERTIFICATE-----
MIIFhTCCBO6gAwIBAgIKKaR97wAAAAAE6TANBgkqhkiG9w0BAQQFADCBrDEhMB8G
CSqGSIb3DQEJARYSaHRoaWFnYXJAY2lzY28uY29tMQswCQYDVQQGEwJVUzELMAkG
A1UECBMCY2ExETAPBgNVBAcTCHNhbiBqb3NlMRwwGgYDVQQKExNjaXNjbyBzeXN0
ZW1zLCBpbmMuMQ0wCwYDVQQLEwRpc2J1MS0wKwYDVQQDEyQ2ZWJmOWIzZS05YTZk
LTQ0MDAtODkzYy1kZDg1ZGNmZTkxMWIwHhcNMDIxMjEyMjA1NTE3WhcNMDMxMjEy
MjEwNTE3WjCBkjEdMBsGCSqGSIb3DQEJARYOaW5mb0BjaXNjby5jb20xCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpjYWxpZm9ybmlhMREwDwYDVQQHEwhzYW4gam9zZTEb
MBkGA1UEChMSY2lzY28gc3lzdGVtcywgaW5jMQ0wCwYDVQQLEwRpc2J1MRAwDgYD
VQQDEwdzdWJ0ZXN0MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANK2mcLEc2q1QFLN
PnYhPcluGa927YVznf5NGDzPkZOym+QaTEToUxrQFluY1KyWqKPBed104etyIDyU
5y2DEksCAwEAAaOCAwgwggMEMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBSr
fPPd4af6awKMcss9MNWzfYojOTALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB
/zCB6AYDVR0jBIHgMIHdgBSTS7sO8Cs1O8Nuxv9HPNOHoX3rD6GBsqSBrzCBrDEh
MB8GCSqGSIb3DQEJARYSaHRoaWFnYXJAY2lzY28uY29tMQswCQYDVQQGEwJVUzEL
MAkGA1UECBMCY2ExETAPBgNVBAcTCHNhbiBqb3NlMRwwGgYDVQQKExNjaXNjbyBz
eXN0ZW1zLCBpbmMuMQ0wCwYDVQQLEwRpc2J1MS0wKwYDVQQDEyQ2ZWJmOWIzZS05
YTZkLTQ0MDAtODkzYy1kZDg1ZGNmZTkxMWKCEH/Vsgm1wkSMR/d/FAYl0mUwgcEG
A1UdHwSBuTCBtjBYoFagVIZSaHR0cDovL3dpbjJrLXNlcnZlcjEuY2lzY28uY29t
L0NlcnRFbnJvbGwvNmViZjliM2UtOWE2ZC00NDAwLTg5M2MtZGQ4NWRjZmU5MTFi
LmNybDBaoFigVoZUZmlsZTovL1xcd2luMmstc2VydmVyMS5jaXNjby5jb21cQ2Vy
dEVucm9sbFw2ZWJmOWIzZS05YTZkLTQ0MDAtODkzYy1kZDg1ZGNmZTkxMWIuY3Js
MIIBAgYIKwYBBQUHAQEEgfUwgfIwdgYIKwYBBQUHMAKGamh0dHA6Ly93aW4yay1z
ZXJ2ZXIxLmNpc2NvLmNvbS9DZXJ0RW5yb2xsL3dpbjJrLXNlcnZlcjEuY2lzY28u
Y29tXzZlYmY5YjNlLTlhNmQtNDQwMC04OTNjLWRkODVkY2ZlOTExYi5jcnQweAYI
KwYBBQUHMAKGbGZpbGU6Ly9cXHdpbjJrLXNlcnZlcjEuY2lzY28uY29tXENlcnRF
bnJvbGxcd2luMmstc2VydmVyMS5jaXNjby5jb21fNmViZjliM2UtOWE2ZC00NDAw
LTg5M2MtZGQ4NWRjZmU5MTFiLmNydDANBgkqhkiG9w0BAQQFAAOBgQANmtHd1fUk
mAIHMgmG4eJsvtLLjaeX9WKt04m5SX2aSUcPUsYKuk+ijAkefZGUD2RWs2gpo8Xm
DURATnOw3WDXekNMPcNWAcrqas8V2TCQAOralycOUuUCuB4LuLY7USlPV9+f5zAT
/43avjGho4oXfSwIqFhAuKQb7RIMRIz8Ag==
-----END CERTIFICATE-----
 
Certificate has the following attributes:
Fingerprint:D5DBC20D 07EF26BD 2BA3D13F 82CFE648
Certificate validated - Signed by existing trustpoint CA certificate.
Trustpoint CA certificate accepted.
% Certificate successfully imported
 

PEMファイルのインポート(中間CA-Tier 3、秘密鍵、およびルータ証明書)

ssl-proxy(config)# crypto ca import tp-proxy1 pem url tftp: password
% Importing CA certificate...
Address or name of remote host []? 10.1.1.2
Source filename [tp-proxy1.ca]?
Reading file from tftp://10.1.1.2/tp-proxy1.ca
Loading tp-proxy1.ca from 10.1.1.2 (via Ethernet0/0.3):!
[OK - 1667 bytes]
 
% Importing private key PEM file...
Address or name of remote host []? 10.1.1.2
Source filename [tp-proxy1.prv]?
Reading file from tftp://10.1.1.2/tp-proxy1.prv
Loading tp-proxy1.prv from 10.1.1.2 (via Ethernet0/0.3):!
[OK - 963 bytes]
 
% Importing certificate PEM file...
Address or name of remote host []? 10.1.1.2
Source filename [tp-proxy1.crt]?
Reading file from tftp://10.1.1.2/tp-proxy1.crt
Loading tp-proxy1.crt from 10.1.1.2 (via Ethernet0/0.3):!
[OK - 1509 bytes]
% PEM files import succeeded.
ssl-proxy(config)# ^Z
 

証明書情報の表示

ssl-proxy# show crypto ca certificates tp-proxy1
Certificate
Status:Available
Certificate Serial Number:04A0147B00000000010E
Certificate Usage:General Purpose
Issuer:
CN = sub3ca
C = US
Subject:
Name:ssl-proxy.
Serial Number:B0FFF0C2
OID.1.2.840.113549.1.9.2 = ssl-proxy.
OID.2.5.4.5 = B0FFF0C2
CRL Distribution Point:
http://sample.cisco.com/sub3ca.crl
Validity Date:
start date:18:04:09 UTC Apr 23 2003
end date:21:05:17 UTC Dec 12 2003
renew date:00:00:00 UTC Jan 1 1970
Associated Trustpoints:tp-proxy1
 
CA Certificate
Status:Available
Certificate Serial Number:6D1E6B0F000000000007
Certificate Usage:Signature
Issuer:
CN = subtest
C = US
Subject:
CN = sub3ca
C = US
CRL Distribution Point:
http://sample.cisco.com/subtest.crl
Validity Date:
start date:22:22:52 UTC Mar 28 2003
end date:21:05:17 UTC Dec 12 2003
Associated Trustpoints:tp-proxy1
 
ssl-proxy# show crypto ca certificates 3tier-sub1
CA Certificate
Status:Available
Certificate Serial Number:29A47DEF0000000004E9
Certificate Usage:Signature
Issuer:
CN = 6ebf9b3e-9a6d-4400-893c-dd85dcfe911b
C = US
Subject:
CN = subtest
C = US
CRL Distribution Point:
http://sample.cisco.com/6ebf9b3e-9a6d-4400-893c-dd85dcfe911b.crl
Validity Date:
start date:20:55:17 UTC Dec 12 2002
end date:21:05:17 UTC Dec 12 2003
Associated Trustpoints:3tier-sub1
 
ssl-proxy# show crypto ca certificates 3tier-root
CA Certificate
Status:Available
Certificate Serial Number:7FD5B209B5C2448C47F77F140625D265
Certificate Usage:Signature
Issuer:
CN = 6ebf9b3e-9a6d-4400-893c-dd85dcfe911b
C = US
Subject:
CN = 6ebf9b3e-9a6d-4400-893c-dd85dcfe911b
C = US
CRL Distribution Point:
http://sample.cisco.com/6ebf9b3e-9a6d-4400-893c-dd85dcfe911b.crl
Validity Date:
start date:00:05:32 UTC Jun 13 2002
end date:00:11:58 UTC Jun 13 2004
Associated Trustpoints:3tier-root
 

証明書および信頼点の確認

証明書および信頼点に関する情報を確認するには、EXECモードで次の作業を行います。

 

コマンド
目的

ステップ 1

ssl-proxy(ca-trustpoint)# show crypto ca certificates [ trustpoint_label ]

指定された信頼点に関連づけられた証明書の情報を表示するか、またはご使用の証明書、CA証明書、およびRegistration Authority(RA;登録局)証明書の情報をすべて表示します。

ステップ 2

ssl-proxy(ca-trustpoint)# show crypto ca trustpoints [ trustpoint_label ]

すべての信頼点の情報、または指定された信頼点の情報を表示します。

鍵および証明書の共有

SSLサービス モジュールを使用すると、複数の証明書で同じ鍵ペアを共有できます。ただし、1つの鍵ペアが損なわれた場合に、すべての証明書を取り消して置き換える必要があるため、この方法は推奨しません。

各プロキシ サービスの追加や削除は常時行われるため、各証明書の有効期限もそれぞれ異なります。一部のCAは、証明書を書き換えるときに鍵ペアを更新するように要求します。複数の証明書で1つの鍵ペアを共有している場合は、これらの複数の証明書を同時に書き換える必要があります。一般に、証明書ごとに鍵ペアが異なる場合は、証明書の管理が容易です。

SSLモジュールには、複数のプロキシ サービス間、および複数のSSLサービス モジュール間で証明書を共有する場合の制限がありません。複数のプロキシ サービスに、同じ信頼点を割り当てることができます。

ビジネス上の観点から、CAに制限が設けられる場合があります(たとえば、同じ証明書を使用できるサーバ ファーム内のサーバ数が制限されます)。証明書の共有に関して、契約またはライセンス上の合意が存在することもあります。ビジネス契約については、CAまたは法律スタッフにお問い合わせください。

実際、一部のWebブラウザは、サーバ証明書の件名と、URLに含まれるホスト名またはIPアドレスを比較します。件名がホスト名またはIPアドレスと一致しない場合は、証明書を確認して受け入れるようにユーザに要求するダイアログ ボックスが表示されます。この手順を省略するには、ホスト名またはIPアドレスに基づく証明書の共有を制限します。

設定の保存


注意 RSA鍵ペアはNVRAMにのみ保存されます。copy system:running-config file_system:コマンドに他のファイル システムを指定した場合、RSA鍵は設定と一緒に保存されません

設定を変更した場合は、必ず作業内容を保存してください。

設定をNVRAMに保存する手順は、次のとおりです。

 

コマンド
目的
ssl-proxy# copy [ /erase ] system:running-config nvram:startup-config

設定、鍵ペア、および証明書をNVRAMに保存します。鍵ペアがプライベート コンフィギュレーション ファイルに保存され、各証明書がNVRAM内にバイナリ ファイルとして保存されます。モジュールは、起動時に、証明書を取得するかまたは自動登録するようにCAに問い合わせる必要がなくなります。


) セキュリティ上の理由から、/eraseオプションを入力してパブリックまたはプライベート コンフィギュレーション ファイルを消去してから、NVRAMを更新することを推奨します。/eraseオプションを入力しないと、古いプライベート コンフィギュレーション ファイルの鍵ペアがNVRAMに残ることがあります。



注意 /eraseオプションを入力すると、実行中の設定が
NVRAMに保存されるまえに、NVRAM内の現在のバッファおよびバックアップのバッファが削除されます。バッファは削除されたあとにもかかわらず、実行中の設定が保存される前に停電または再起動が発生すると、両方の設定が失われることになります。

) NVRAMに保存されているファイル数が多い場合は、この作業に最長で2分かかることがあります。


SSLソフトウェアRelease1.2では、NVRAMへの設定の自動バックアップ機能により、最後に保存した設定が自動的にバックアップされます。現在の書き込み過程でエラーが発生した場合は、前回の設定が自動的に回復されます。

コンフィギュレーションのサイズが大きすぎる場合

サイズが大きすぎるコンフィギュレーション(257以上のプロキシ サービス、および357通以上の証明書)を保存すると、NVRAM内の内容が破壊されることがあります。

NVRAMに保存する前に、必ず実行コンフィギュレーションにコピーしてください。実行コンフィギュレーション ファイルをリモート サーバに保管すると、各証明書がファイル内に16進ダンプとして保存されます。実行コンフィギュレーション ファイルを実行コンフィギュレーションにコピーしてから、NVRAMに保存すると、証明書が再度保存されますが、今度はバイナリ ファイルとして保存されます。ただし、実行コンフィギュレーション ファイルをリモート サーバからスタートアップ コンフィギュレーションに直接コピーした場合は、16進ダンプとして保存された証明書も保存されて、同じ証明書のコピーが2通(16進ダンプ形式とバイナリ ファイル形式)存在することになります。2通も必要ではありませんし、またリモート ファイルのサイズが大きい場合はNVRAMの内容の一部が上書きされて、内容が破壊される危険性があります。

保存済みコンフィギュレーションの確認

保存済みコンフィギュレーションを確認する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy# show startup-config

スタートアップ コンフィギュレーションを表示します。

ステップ 2

ssl-proxy# directory nvram:

NVRAM内のファイルの名前およびサイズを表示します。


) プロキシ サービスおよび証明書が上限(それぞれ256、356通)まで設定されている場合は、出力を表示するまで最長で7分かかります。


保存済みコンフィギュレーションの削除

保存済みコンフィギュレーションを削除する手順は、次のとおりです。

 

コマンド
目的
ssl-proxy# erase nvram:

スタートアップ コンフィギュレーションおよび鍵ペアを削除します。

ssl-proxy# erase /all nvram:

NVRAM内のスタートアップ コンフィギュレーション、鍵ペア、証明書、およびその他のすべてのファイルを削除します。


) NVRAMに保存されているファイル数が多い場合は、この作業に最長で2分かかることがあります。



注意 保存された設定を削除する場合は、NVRAM内の自動バックアップ設定も削除されます。

鍵および証明書のバックアップ

鍵および証明書をNVRAMに保存するプロセスを中断する事象(停電など)が発生した場合は、保存中の鍵および証明書が失われることがあります。公開鍵および証明書はCAから取得できますが、秘密鍵は回復できません。

セキュアなサーバが使用可能な場合は、各信頼点をPKCS12ファイルにエクスポートして、鍵ペアおよび対応する証明書チェーンをバックアップすることができます。その後、PKCS12ファイルをインポートして、鍵および証明書を回復できます。

セキュリティに関する注意事項

鍵および証明書をバックアップする場合は、次の注意事項に従ってください。

PKCS12ごとに、容易に推測できないパス フレーズを選択して、厳重に保護する必要があります。PKCS12ファイルをクリア テキスト形式で保存しないでください。

バックアップ サーバはセキュアでなければなりません。権限を持つユーザにのみ、バックアップ サーバへのアクセスを許可します。

PKCS12ファイル(そこにパス フレーズを入力します)のインポートまたはエクスポート時には、モジュール コンソールに直接接続するか、SSHセッションを使用します。

ファイル転送にはSCPを使用します。

鍵および証明書のモニタおよびメンテナンス

ここに記載された次の作業は任意です。

「モジュールからのRSA鍵の削除」

「鍵および証明書の表示」

「コンフィギュレーションからの証明書の削除」

モジュールからのRSA鍵の削除


注意 SSH鍵を削除すると、モジュール上でSSHがディセーブルになります。SSH鍵を削除した場合は、新しい鍵を生成してください。「SSHの設定」を参照してください。

場合によっては、モジュールのRSA鍵を削除しなければならないことがあります。たとえば、RSA鍵が何らかの理由で損なわれて使用できない場合は、鍵を削除する必要があります。

モジュールからRSA鍵をすべて削除するには、グローバル コンフィギュレーション モードで次の作業を行います。

 

コマンド
目的
ssl-proxy(config)# crypto key zeroize rsa [ key-label ]

すべてのRSA鍵ペア、または指定された鍵ペアを削除します。


注意 鍵を削除すると、その鍵に関連づけられたすべての証明書も削除されます。

モジュールのRSA鍵を削除した後に、次に示す2つの作業を行います。

モジュールの証明書をCAで無効にするように、CA管理者に要求します。 crypto ca enroll コマンドを使用して、最初にモジュールの証明書を取得したときに作成したチャレンジ パスワードを指定する必要があります。

コンフィギュレーションから信頼点を手動で削除します(コンフィギュレーションからの証明書の削除を参照)。

鍵および証明書の表示

鍵および証明書を表示するには、EXECモードで次のコマンドを入力します。

 

コマンド
目的
ssl-proxy# show crypto key mypubkey rsa

モジュールのRSA公開鍵を表示します。

ssl-proxy# show crypto ca certificates [ trustpoint_label ]

ご使用の証明書、CA証明書、およびあらゆるRA証明書の情報を表示します。

ssl-proxy# show running-config [ brief ]

公開鍵および証明書チェーンを表示します。 brief オプションを指定すると、各証明書の16進ダンプが表示されません。

ssl-proxy# show ssl-proxy service proxy-name

指定されたプロキシ サービスに使用される鍵ペアおよび証明書チェーンのシリアル番号を表示します。


proxy-name値は大文字/小文字の区別があります。


コンフィギュレーションからの証明書の削除

モジュールには、独自の証明書およびCAの証明書が保存されます。モジュールに保存された証明書は削除できます。

モジュールのコンフィギュレーションから証明書を削除するには、グローバル コンフィギュレーション モードで次の作業を行います。

 

コマンド
目的
ssl-proxy(config)# no crypto ca trustpoint trustpoint-label

証明書を削除します。

プロキシ サービスへの証明書の割り当て

certificate rsa general-purpose trustpoint trustpoint_label サブコマンドを入力すると( ssl-proxy service proxy_service コマンドの下に入力)、指定されたプロキシ サービスに証明書が割り当てられます。プロキシ サービスごとに、 certificate rsa general-purpose trustpoint サブコマンドを何度でも入力できます。

信頼点ラベルを変更した場合は、移行期間の間、プロキシ サービスが一時的に停止します。接続を閉じるか削除しない限り、既存の接続は古い証明書を使用し続けます。新しい接続では新しい信頼点の証明書が使用され、サービスが再び使用可能になります。

ただし、新しい信頼点に証明書がない場合は、サービスの動作ステータスはダウンのままです。新しい接続は、新しい証明書が使用可能になるまで確立されません。 no certificate rsa general-purpose trustpoint サブコマンドを入力して証明書を削除した場合でも、接続を閉じるか削除しない限り、既存の接続はこの証明書を使用し続けます。不用になった証明書も、すべての接続を閉じるか削除しない限り、プロキシ サービスから削除されません。

次に、プロキシ サービスに信頼点を割り当てる例を示します。

ssl-proxy# configure terminal
ssl-proxy(config)# ssl-proxy service s2
ssl-proxy(config-ssl-proxy)# virtual ip 10.1.1.2 p tcp p 443
ssl-proxy(config-ssl-proxy)# server ip 20.0.0.3 p tcp p 80
ssl-proxy(config-ssl-proxy)# inservice
ssl-proxy(config-ssl-proxy)# certficate rsa general trustpoint tp-1
ssl-proxy(config-ssl-proxy)# end
ssl-proxy#
ssl-proxy# show ssl-proxy service s2
Service id:6, bound_service_id:262
Virtual IP:10.1.1.2, port:443
Server IP:20.0.0.3, port:80
rsa-general-purpose certificate trustpoint:tp-1
Certificate chain in use for new connections:
Server Certificate:
Key Label:tp-1
Serial Number:3C2CD2330001000000DB
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
Admin Status:up
Operation Status:up
ssl-proxy#
 

次に、プロキシ サービスの信頼点を変更する例を示します。


) 接続を閉じない限り、既存の接続は古い証明書を使用し続けます。サービスの動作ステータスはアップからダウンに変わり、再度アップになります。新しい接続は、新しい証明書を使用します。


ssl-proxy# configure terminal
ssl-proxy(config)# ssl-proxy service s2
ssl-proxy(config-ssl-proxy)# certificate rsa general trustpoint tp-2
ssl-proxy(config-ssl-proxy)# end
ssl-proxy#
ssl-proxy# show ssl-proxy service s2
Service id:6, bound_service_id:262
Virtual IP:10.1.1.2, port:443
Server IP:20.0.0.3, port:80
rsa-general-purpose certificate trustpoint:tp-2
Certificate chain in use for new connections:
Server Certificate:
Key Label:k2
Serial Number:70FCBFEC000100000D65
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Obsolete certificate chain in use for old connections:
Server Certificate:
Key Label:tp-1
Serial Number:3C2CD2330001000000DB
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
Admin Status:up
Operation Status:up
ssl-proxy#
 

証明書の更新

証明書を更新する場合、一部のCAでは新しい鍵ペアを生成する必要がありますが、その他のCAでは期限切れ証明書の鍵ペアを使用することができます。SSLサービス モジュールは、この両方の場合に対応しています。

通常、SSLサーバ証明書の期限は1~2年です。証明書を適宜に書き換えることにより、サービスが突然停止する事態を避けられます。

次の例では、プロキシ サービスs2は信頼点t2に割り当てられています。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy service s2
ssl-proxy(config-ssl-proxy)# certificate rsa general-purpose trustpoint t2
ssl-proxy(config-ssl-proxy)# end
ssl-proxy#
 
ssl-proxy# show ssl-proxy service s2
Service id:0, bound_service_id:256
Virtual IP:10.1.1.1, port:443
Server IP:10.1.1.10, port:80
Nat pool:pool2
rsa-general-purpose certificate trustpoint:t2
Certificate chain in use for new connections:
Server Certificate:
Key Label:k2
Serial Number:1DFBB1FD000100000D48
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
Admin Status:up
Operation Status:up
 

次の例では、信頼点t2の鍵ペアを更新して、古い証明書をIOSデータベースから削除します。プロキシ サービスs2に対する証明書の書き換えが自動的に開始します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# crypto key generate rsa general-key k2 exportable
% You already have RSA keys defined named k2.
% Do you really want to replace them? [yes/no]:yes
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]:1024
% Generating 1024 bit RSA keys ...[OK]
ssl-proxy(config)#end
 
ssl-proxy# show ssl-proxy service s2
Service id:0, bound_service_id:256
Virtual IP:10.1.1.1, port:443
Server IP:10.1.1.10, port:80
Nat pool:pool2
rsa-general-purpose certificate trustpoint:t2
Certificate chain in graceful rollover, being renewed:
Server Certificate:
Key Label:k2
Serial Number:1DFBB1FD000100000D48
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Server certificate in graceful rollover
Admin Status:up
Operation Status:up
 

次の例では、信頼点t2が再登録されるまで、既存および新規の接続は古い証明書を使用します。信頼点t2を再登録した後、新しい接続は新しい証明書を使用します。既存の接続は接続が閉じるまで、古い証明書を使用し続けます。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# crypto ca enroll t2
%
% Start certificate enrollment ..
 
% The subject name in the certificate will be:CN=host1.cisco.com
% The subject name in the certificate will be:ssl-proxy.cisco.com
% The serial number in the certificate will be:00000000
% The IP address in the certificate is 10.1.1.1
 
% Certificate request sent to Certificate Authority
% The certificate request fingerprint will be displayed.
% The 'show crypto ca certificate' command will also show the fingerprint.
 
Fingerprint: 6518C579 A0498063 C5795057 A6170 075
 
ssl-proxy(config)# end
*Sep 24 15:19:34.339:%CRYPTO-6-CERTRET:Certificate received from Certificate Authority
 
ssl-proxy# show ssl-proxy service s2
Service id:0, bound_service_id:256
Virtual IP:10.1.1.1, port:443
Server IP:10.1.1.10, port:80
Nat pool:pool2
rsa-general-purpose certificate trustpoint:t2
Certificate chain in use for new connections:
Server Certificate:
Key Label:k2
Serial Number:2475A2FC000100000D4D
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Obsolete certificate chain in use for old connections:
Server Certificate:
Key Label:k2
Serial Number:1DFBB1FD000100000D48
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
Admin Status:up
Operation Status:up
 

次の例では、既存の接続をすべて閉じた後に、不用になった証明書を削除します。

ssl-proxy# show ssl-proxy service s2
Service id:0, bound_service_id:256
Virtual IP:10.1.1.1, port:443
Server IP:10.1.1.10, port:80
Nat pool:pool2
rsa-general-purpose certificate trustpoint:t2
Certificate chain in use for new connections:
Server Certificate:
Key Label:k2
Serial Number:2475A2FC000100000D4D
Root CA Certificate:
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
Admin Status:up
Operation Status:up
 

鍵および証明書の履歴のイネーブル化

ssl-proxy pki history コマンドを入力すると、SSLプロキシ サービスの鍵および証明書の履歴がイネーブルになります。この履歴には、プロキシ サービスの鍵ペアおよび証明書チェーンの追加レコードまたは削除レコードがそれぞれ作成されます。

show ssl-proxy certificate-history コマンドを入力すると、各レコードが表示されます。各レコードにはサービス名、鍵ペアの名前、生成またはインポートの時刻、信頼点の名前、証明書の件名と発行者名、シリアル番号、および日付が記録されます。

メモリには最大512個のレコードを格納できます。レコードごとに、Syslogメッセージが生成されます。レコード数が上限である512を超えた場合は、古いレコードから順に削除されます。

鍵および証明書の履歴をイネーブルにして、レコードを表示する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# ssl-proxy pki history

鍵および証明書の履歴をイネーブルにします。

ステップ 2

ssl-proxy# show ssl-proxy certificate-history [ service proxy_service ]

すべてのサービスまたは指定されたサービスの鍵および証明書の履歴レコードを表示します。

次に、鍵および証明書の履歴をイネーブルにして、指定されたプロキシ サービスのレコードを表示する例を示します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)#ssl-proxy pki history
ssl-proxy(config)#end
 
ssl-proxy# show ssl-proxy certificate-history service s2
Record 1, Timestamp:00:00:22, 17:44:18 UTC Sep 29 2002
Installed Server Certificate, Index 0
Proxy Service:s2, Trust Point:t2
Key Pair Name:k2, Key Usage:RSA General Purpose, Not Exportable
Time of Key Generation:06:29:08 UTC Sep 28 2002
Subject Name:CN = host1.cisco.com, OID.1.2.840.113549.1.9.2 = ssl-proxy.cisco.com, OID.1.2.840.113549.1.9.8 = 10.1.1.1
Issuer Name:CN = TestCA, OU = Lab, O = Cisco Systems, L = San Jose, ST = CA, C = US, EA =<16> simpson-pki@cisco.com
Serial Number:3728ADCD000100000D4F
Validity Start Time:15:56:55 UTC Sep 28 2002
End Time:16:06:55 UTC Sep 28 2003
Renew Time:00:00:00 UTC Jan 1 1970
End of Certificate Record
Total number of certificate history records displayed = 1
 

SSLプロキシ サービスの設定

SSLプロキシ サービスを定義するには、 ssl-proxy service ssl_proxy_nameコマンドを使用します。プロキシ サービスに関連づけられた仮想IPアドレス、ポート、および対応するターゲットIPアドレスとポートを設定できます。また、プロキシのクライアント側( virtual )およびサーバ( server )側の両方に、TCPポリシーおよびSSLポリシーを定義することもできます。

SSLプロキシ サービスを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# ssl-proxy service proxy_name

SSLプロキシ サービスの名前を定義します。


proxy-name値は大文字/小文字の区別があります。


ステップ 2

ssl-proxy(config-ssl-proxy)# virtual ipaddr ip_addr protocol tcp port port [ secondary 17 ,18, 19]

SSLサービス モジュールがプロキシとして機能する仮想サーバのIPアドレス、トランスポート プロトコル(TCP)およびポート番号を定義します。

ステップ 3

ssl-proxy(config-ssl-proxy)# virtual policy tcp tcp_policy_name20

プロキシ サーバのクライアント側にTCPポリシーを適用します。TCPポリシーのパラメータについては、「TCPポリシーの設定」を参照してください。

ステップ 4

ssl-proxy(config-ssl-proxy)# virtual policy ssl ssl_policy_name4

プロキシ サーバのクライアント側にSSLポリシーを適用します。SSLポリシーのパラメータについては、「SSLポリシーの設定」を参照してください。

ステップ 5

ssl-proxy(config-ssl-proxy)# server ipaddr ip_addr protocol tcp port port

プロキシのターゲット サーバのIPアドレス、ポート番号、およびトランスポート プロトコルを定義します。


) ターゲット サーバのIPアドレスには、SLBデバイスの仮想IPアドレス、またはWebサーバの実IPアドレスを指定できます。


ステップ 6

ssl-proxy(config-ssl-proxy)# server policy tcp tcp_policy_name

プロキシ サーバのサーバ側にTCPポリシーを適用します。「TCPポリシーの設定」を参照してください。

ステップ 7

ssl-proxy(config-ssl-proxy)# nat {server | client natpool_name }

SSLサービス モジュールによって開かれたサーバ側の接続に、サーバNAT「NATの設定」を参照してください。

ステップ 8

ssl-proxy(config-ssl-proxy)# certificate rsa general-purpose trustpoint trustpoint_label

信頼点の設定をプロキシ サーバに適用します 22


) 信頼点はCAサーバ、鍵パラメータと鍵生成方法、およびプロキシ サーバの証明書登録方法を定義します。信頼点の設定手順については、「信頼点の宣言」を参照してください。


ステップ 9

ssl-proxy(config-ssl-proxy)# inservice

プロキシ サーバを管理上のアップに設定します。

17.secondaryキーワードを指定した場合、SSLサービス モジュールは仮想IPアドレスのAddress Resolution Protocol(ARP)要求に応答しません。

18.SSLサービス モジュールがスタンドアロン構成で使用されているか、またはSSLサービス モジュールがdispatchモード(MAC[メディア アクセス制御]アドレスの再書き込み)で設定されたロード バランサ上の実サーバとして使用されている(Content Switching Module[CSM;コンテント スイッチング モジュール]のように)場合は、secondaryキーワードを入力します。CSMと組み合わせて使用するSSLサービス モジュールの設定に関しては、「各動作モードの設定」を参照してください。

19.同じ仮想IPアドレスを使用して複数のデバイスを設定する場合は、secondaryキーワードを入力します。仮想IPアドレスは、あらゆる法的なIPアドレスになりえて、SSLサービス モジュールと接続したVLAN(サブネット)内にある必要はありません。

20.パラメータを指定しないでポリシーを作成した場合は、デフォルト値が使用されます。

22.512、768、1024、1536、または2048以外の鍵(モジュラス)サイズを指定すると、エラーが表示され、信頼点の設定は適用されません。鍵を生成するか(同じkey_labelを使用)、またはサポート対象のモジュラス サイズを指定して鍵を置き換えてから、ステップ 8を再実行します。

次に、SSLプロキシ サービスを設定する例を示します。

ssl-proxy(config)# ssl-proxy service proxy1
ssl-proxy(config-ssl-proxy)# virtual ipaddr 10.1.1.100 protocol tcp port 443
ssl-proxy(config-ssl-proxy)# server ipaddr 10.1.1.1 protocol tcp port 80
ssl-proxy(config-ssl-proxy)# virtual policy tcp tcp2
ssl-proxy(config-ssl-proxy)# server policy tcp tcp2
ssl-proxy(config-ssl-proxy)# virtual policy ssl ssl1
ssl-proxy(config-ssl-proxy)# nat client t2
ssl-proxy(config-ssl-proxy)# certificate rsa general-purpose trustpoint tp1
ssl-proxy(config-ssl-proxy)# inservice
ssl-proxy(config-ssl-proxy)# end
ssl-proxy#

高度な設定

ここでは、次のような高度な設定について説明します。

「ポリシーの設定」

「NATの設定」

「暗号セルフテストのイネーブル化」

「クラッシュ情報の収集」

「VTSデバッグのイネーブル化」

ポリシーの設定

プロキシ サービスにポリシーを適用する手順については、「SSLプロキシ サービスの設定」を参照してください。

ここでは、SSLポリシーおよびTCPポリシーの設定方法について説明します。

「SSLポリシーの設定」

「TCPポリシーの設定」

SSLポリシーの設定


) SSLサービス モジュールのSSLコマンドは、グローバルにも、また特定のプロキシ サーバにも適用されます。


SSLポリシー テンプレートを使用すると、SSLスタックに関連づけられたパラメータを定義することができます。

特定のプロキシ サーバにSSLポリシーが関連づけられていない場合、プロキシ サーバはデフォルトで、サポート対象の暗号スイートおよびバージョンをすべてイネーブルにします。

SSLポリシー テンプレートを定義して、特定のプロキシ サーバにSSLポリシーを関連づける手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy (config)# ssl-proxy policy ssl ssl_policy_name

SSLポリシー テンプレートを定義します。

ステップ 2

ssl-proxy (config-ssl-policy)# cipher { rsa-with-rc4-128-md5 | rsa-with-rc4-128-sha | rsa-with-des-cbc-sha | rsa-with-3des-ede-cbc-sha | others... }

プロキシ サーバが受け入れ可能な暗号スイートの名前一覧を設定します。暗号スイート名の表記法は、既存のSSLスタックの表記法と同じです。

ステップ 3

ssl-proxy (config-ssl-policy)# protocol { ssl3 | tls1 | all }

プロキシ サーバでサポートされる各種プロトコル バージョンを定義します。

ステップ 4

ssl-proxy (config-ssl-policy)# timeout handshake time

モジュールがハンドシェイク フェーズで接続を維持できる時間を設定します。有効範囲は0~65535秒です。

ステップ 5

ssl-proxy (config-ssl-policy)# close-protocol strict

SSL終了プロトコルの動作を設定します。終了プロトコルがイネーブルの場合、サーバは終了通知アラート メッセージをクライアントに送信して、クライアントからの終了通知アラート メッセージを待機します。ディセーブルの場合、サーバは終了通知アラート メッセージをクライアントに送信しますが、クライアントからの終了通知アラート メッセージを待機せずに、セッションを終了します。終了プロトコルは、デフォルトでディセーブルです。

ステップ 6

ssl-proxy (config-ssl-policy)# session-cache

セッションキャッシュ機能をイネーブルにします。セッション キャッシュはデフォルトでイネーブルです。

ステップ 7

ssl-proxy (config-ssl-policy)# timeout session timeout [ absolute 23]

エントリがセッション キャッシュ内に維持される時間を設定します。有効範囲は1~72000秒です。


) セッションキャッシュ サイズを設定するには、absoluteキーワードが必要です。



absoluteキーワードは、セッション エントリが指定されたtimeoutの間セッション キャッシュ内に維持されるよう指定します。absoluteキーワードが指定されているときは、セッション キャッシュ内に利用できるフリー エントリがない場合、新たな着信接続は拒否されます。


ステップ 8

ssl-proxy (config-ssl-policy)# session-cache size size

(任意)セッション キャッシュのサイズを指定します。1有効範囲は1~262143エントリです。


timeout session コマンドでabsoluteキーワードを入力して、セッション キャッシュのサイズを指定します。このコマンドを入力しない場合、またはsizeが指定されていない場合は、セッション キャッシュのサイズは最大サイズになります(262,144)。


23.absoluteキーワードが設定されると、設定されたセッションのタイムアウトになってから、セッション エントリが再利用されます。absoluteが設定されると、必要なセッション エントリ数は(new_connection_rate * absolute_timeout)と同等になります。タイムアウト設定および新しい接続レートに応じて、セッション エントリ数が大きくなる可能性があります。この場合は、セッションキャッシュ サイズを設定して、使用するセッション エントリ数を制限することができます。

TCPポリシーの設定


) SSLサービス モジュールのTCPコマンドは、グローバルにも、また特定のプロキシ サーバにも適用されます。


TCPポリシー テンプレートを使用すると、TCPスタックに関連づけられたパラメータを定義することができます。

TCPポリシー テンプレートを定義して、特定のプロキシ サーバにTCPポリシーを関連づける手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy (config)# ssl-proxy policy tcp tcp_policy_name

TCPポリシー テンプレートを定義します。特に指定がない場合は、デフォルト設定がすべて適用されます。

ステップ 2

ssl-proxy (config-ssl-policy)# mss max_segment_size

生成されたSYNパケット内で接続が識別するMaximum Segment Size(MSS;最大セグメント サイズ)をバイト単位で設定します。


) このコマンドでは、プロキシ サーバのクライアント側およびサーバ側に異なるMSSを設定できます。デフォルト値は1460バイトです。有効範囲は256~2460バイト24です。


ステップ 3

ssl-proxy (config-ssl-policy)# timeout syn time

接続確立タイムアウトを設定します。デフォルト値は75秒です。有効範囲は5~75秒です。

ステップ 4

ssl-proxy (config-ssl-policy)# timeout reassembly time

リアセンブリ キューが削除までの時間を秒単位で設定します。トランザクションが指定時間内で完了されない場合は、リアセンブリ キューが削除され、接続が中断されます。デフォルト値は60秒です。有効範囲は0~960秒(0 = ディセーブル)です。

ステップ 5

ssl-proxy (config-ssl-policy)# timeout inactivity time

確立された接続が非アクティブである時間を秒単位で設定します。デフォルト値は600秒です。有効範囲は0~960秒(0 = ディセーブル)です。

ステップ 6

ssl-proxy (config-ssl-policy)# timeout fin-wait time

FIN待機タイムアウトを秒単位で設定します。デフォルト値は600秒です。有効範囲は75~600秒です。

ステップ 7

ssl-proxy (config-ssl-policy)# buffer-share rx buffer_limit

接続ごとに共有する最大受信バッファをバイト単位で設定します。デフォルト値は32768バイトです。有効範囲は8192~262144バイトです。

ステップ 8

ssl-proxy (config-ssl-policy)# buffer-share tx buffer_limit

接続ごとに共有する最大送信バッファをバイト単位で設定します。デフォルト値は32768バイトです。有効範囲は8192~262144バイトです。

24.フラグメンテーションが発生すると、フラグメンテーションが解消されるまでMSS値を削減してください。

NATの設定

クライアント接続では、クライアントが接続要求を送信し、SSLサービス モジュールがこれを受信します。サーバ接続では、SSLサービス モジュールが接続要求を送信します。

サーバ接続にはクライアントNAT、サーバNAT、またはその両方を設定できます。

サーバNAT

ssl-proxy service コマンドを使用して設定されたサーバIPアドレスは、SSLサービス モジュールがプロキシとして機能する、CSMまたは実サーバのいずれかの宛先装置のIPアドレスとポートを指定します。サーバNATを設定した場合、サーバIPアドレスはサーバ接続の宛先IPアドレスとして使用されます。サーバNATが設定されていない場合、サーバ接続の宛先IPアドレスはSSLサービス モジュールがプロキシ対象とする virtual ipaddress と同じです。SSLサービス モジュールは常に、 server ipaddress サブコマンドに入力されたポート番号を使用して、ポート変換を行います。

サーバNATを設定するには、 ssl-proxy service コマンドの下に nat server サブコマンドを入力します。

 

コマンド
目的

ステップ 1

ssl-proxy (config)# ssl-proxy service ssl_proxy_name

SSLプロキシ サービスを定義します。

ステップ 2

ssl-proxy (config-ssl-proxy)# nat server

指定されたサービスのSSLオフロード サーバ接続に対して、NATサーバ アドレスをイネーブルにします。

クライアントNAT

クライアントNATを設定した場合、サーバ接続の送信元IPアドレスおよびポートはNATプールから取得されます。クライアントNATが設定されていない場合、サーバ接続の送信元IPアドレスおよびポートは、クライアント接続の送信元IPアドレスおよび送信元ポートから取得されます。

SSLサービス モジュールがサポートする合計接続数(256,000接続)が満たされるように、十分な数のIPアドレスを割り当ててください。各IPアドレスに32,000個のポートを割り当てる場合は、NATプールに8個のIPアドレスを設定します。SSLサービス モジュールがサポートする合計接続数に必要なIPアドレスよりも少ないIPアドレスを設定しようとすると、拒否されます。

NATプールを設定して、プロキシ サービスにNATプールを割り当てる手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy (config)# ssl-proxy natpool natpool_name start_ip_addr end_ip_addr netmask

SSLサービス モジュールがクライアントNATを実装するために使用するIPアドレスのプールを定義します。

ステップ 2

ssl-proxy (config-ssl-proxy)# ssl-proxy service ssl_proxy_name

SSLプロキシ サービスを定義します。

ステップ 3

ssl-proxy (config-ssl-proxy)# nat client natpool_name

指定されたサービスのSSLオフロード サーバ接続に使用されるクライアント アドレス用のNATプールを設定します。

暗号セルフテストのイネーブル化


) 電源投入時暗号チップ セルフテストおよび鍵テストは、起動時に1回のみ行われます。



) セルフテストはトラブルシューティング専用です。このテストを実行すると、実行時のパフォーマンスに影響が出ます。


セルフテストを実行する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

ssl-proxy(config)# ssl-proxy crypto self-test time-interval time

暗号セルフテストをイネーブルにします。 time のデフォルト値は3秒です。有効範囲は1~8です。

ステップ 2

ssl-proxy(config)# show ssl-proxy stats { crypto | ipc | pki | service | ssl | tcp }

指定された統計情報を表示します。

次に、暗号セルフテストをイネーブルにして、暗号情報を表示する例を示します。

ssl-proxy(config)# ssl-proxy crypto self-test time-interval 1
ssl-proxy(config)# end
ssl-proxy# show ssl-proxy stats crypto
Crypto Statistics from SSL Module:1
Self-test is running
Current device index is 1
Time interval between tests is 1 seconds
Device 0 statistics:
Total Number of runs:50
Runs all passed:50
Number of timer error:0
---------------------------------------------------------
Test Name Passed Failed Did-not-run
---------------------------------------------------------
0 Power-on Crypto chip sel 1 0 0
1 Power-on Crypto chip key 1 0 0
2 Hash Test Case 1 50 0 0
3 Hash Test Case 2 50 0 0
4 Hash Test Case 3 50 0 0
5 Hash Test Case 4 50 0 0
6 SSL3 MAC Test Case 1 50 0 0
7 SSL3 MAC Test Case 2 50 0 0
8 TLS1 MAC Test Case 1 50 0 0
9 TLS1 MAC Test Case 2 50 0 0
10 DES Server Test 50 0 0
11 DES Encrypt Test 1 50 0 0
12 DES Decrypt Test 1 50 0 0
13 DES Encrypt Test 2 50 0 0
14 DES Decrypt Test 2 50 0 0
15 ARC4 Test Case 1 50 0 0
16 ARC4 Test Case 2 50 0 0
17 ARC4 Test Case 3 50 0 0
18 ARC4 State Test Case 1 50 0 0
19 ARC4 State Test Case 2 50 0 0
20 ARC4 State Test Case 3 50 0 0
21 ARC4 State Test Case 4 50 0 0
22 HMAC Test Case 1 50 0 0
23 HMAC Test Case 2 50 0 0
24 Random Bytes Generation 50 0 0
25 RSA Encrypt/Decrypt Test 50 0 0
26 Master Secret Generation 50 0 0
27 Key Material Generation 50 0 0
28 SSL3 Handshake Hash Test 50 0 0
29 TLS1 Handshake Hash Test 50 0 0
 
Device 1 statistics:
Total Number of runs:49
Runs all passed:49
Number of timer error:0
---------------------------------------------------------
Test Name Passed Failed Did-not-run
---------------------------------------------------------
0 Power-on Crypto chip sel 1 0 0
1 Power-on Crypto chip key 1 0 0
2 Hash Test Case 1 50 0 0
3 Hash Test Case 2 50 0 0
4 Hash Test Case 3 50 0 0
5 Hash Test Case 4 50 0 0
6 SSL3 MAC Test Case 1 50 0 0
7 SSL3 MAC Test Case 2 50 0 0
8 TLS1 MAC Test Case 1 50 0 0
9 TLS1 MAC Test Case 2 50 0 0
10 DES Server Test 50 0 0
11 DES Encrypt Test 1 50 0 0
12 DES Decrypt Test 1 50 0 0
13 DES Encrypt Test 2 50 0 0
14 DES Decrypt Test 2 50 0 0
15 ARC4 Test Case 1 50 0 0
16 ARC4 Test Case 2 50 0 0
17 ARC4 Test Case 3 50 0 0
18 ARC4 State Test Case 1 49 0 0
19 ARC4 State Test Case 2 49 0 0
20 ARC4 State Test Case 3 49 0 0
21 ARC4 State Test Case 4 49 0 0
22 HMAC Test Case 1 49 0 0
23 HMAC Test Case 2 49 0 0
24 Random Bytes Generation 49 0 0
25 RSA Encrypt/Decrypt Test 49 0 0
26 Master Secret Generation 49 0 0
27 Key Material Generation 49 0 0
28 SSL3 Handshake Hash Test 49 0 0
29 TLS1 Handshake Hash Test 49 0 0
 

次に、PKI情報を表示する例を示します。

ssl-proxy# show ssl-proxy stats pki
PKI Memory Usage Counters:
Malloc count:252
Setstring count:46
Free count:222
Malloc failed:0
Ipc alloc count:56
Ipc free count:84
Ipc alloc failed:0
PKI IPC Counters:
Request buffer sent:28
Request buffer received:0
Request duplicated:0
Request send failed:0
Response buffer sent:0
Response buffer received:28
Response timeout:0
Response failed:0
Response with error reported by SSL Processor:0
Response with no request:0
Response duplicated:0
Message type error:0
Message length error:0
Key Certificate Table Current Usage (cannot be cleared):
Total number of entries in table:8192
Entries in use:7
Free entries:8185
Complete server entries:5
Incomplete new/renew server entries:1
Retiring server entries:0
Obsolete server entries:0
Complete intermediate CA cert:0
Complete root CA cert:1
Obsolete intermediate CA cert:0
Obsolete root CA cert:0
PKI Accumulative Counters (cannot be cleared):
Proxy service trustpoint added:7
Proxy service trustpoint deleted:1
Proxy service trustpoint modified:0
Keypair added:6
Keypair deleted:1
Wrong key type:1
Server certificate added:6
Server certificate deleted:1
Server certificate rolled over:0
Server certificate completed:6
Intermediate CA certificate added:0
Intermediate CA certificate deleted:0
Root CA certificate added:1
Root CA certificate deleted:0
Certificate overwritten:0
No free table entries:0
Rollover failed:0
History records written:4
History records currently kept in memory:4
History records have been cleared:0 times
 
ssl-proxy#
 

クラッシュ情報の収集

クラッシュ情報機能は、ソフトウェア強制リセット問題を修正する開発者に必要な情報を収集します。ソフトウェア強制リセット情報を収集するには、 show ssl-proxy crash-info コマンドを入力します。ソフトウェア強制リセットを複数回行った場合は、最後のクラッシュ情報のみが表示されます。 show ssl-proxy crash-info コマンドが情報収集プロセスを完了するまでに、1~6分かかります。


show stackコマンドは、SSLサービス モジュールのソフトウェア強制リセット情報を収集するためにサポートされているコマンドではありません。


次に、ソフトウェア強制リセット情報を収集する例を示します。

ssl-proxy# show ssl-proxy crash-info
 
===== SSL SERVICE MODULE - START OF CRASHINFO COLLECTION =====
 
 
------------- COMPLEX 0 [FDU_IOS] ----------------------
 
NVRAM CHKSUM:0xEB28
NVRAM MAGIC:0xC8A514F0
NVRAM VERSION:1
 
++++++++++ CORE 0 (FDU) ++++++++++++++++++++++
 
CID:0
APPLICATION VERSION:2003.04.15 14:50:20 built for cantuc
APPROXIMATE TIME WHEN CRASH HAPPENED:14:06:04 UTC Apr 16 2003
THIS CORE DIDN'T CRASH
TRACEBACK:222D48 216894
CPU CONTEXT -----------------------------
 
$0 :00000000, AT :00240008, v0 :5A27E637, v1 :000F2BB1
a0 :00000001, a1 :0000003C, a2 :002331B0, a3 :00000000
t0 :00247834, t1 :02BFAAA0, t2 :02BF8BB0, t3 :02BF8BA0
t4 :02BF8BB0, t5 :00247834, t6 :00000000, t7 :00000001
s0 :00000000, s1 :0024783C, s2 :00000000, s3 :00000000
s4 :00000001, s5 :0000003C, s6 :00000019, s7 :0000000F
t8 :00000001, t9 :00000001, k0 :00400001, k1 :00000000
gp :0023AE80, sp :031FFF58, s8 :00000019, ra :00216894
LO :00000000, HI :0000000A, BADVADDR :828D641C
EPC :00222D48, ErrorEPC :BFC02308, SREG :34007E03
Cause 0000C000 (Code 0x0):Interrupt exception
 
CACHE ERROR registers -------------------
 
CacheErrI:00000000, CacheErrD:00000000
ErrCtl:00000000, CacheErrDPA:0000000000000000
 
PROCESS STACK -----------------------------
stack top:0x3200000
 
Process stack in use:
 
sp is close to stack top;
 
printing 1024 bytes from stack top:
 
031FFC00:06405DE0 002706E0 0000002D 00000001 .@]`.'.`...-....
031FFC10:06405DE0 002706E0 00000001 0020B800 .@]`.'.`..... 8.
031FFC20:031FFC30 8FBF005C 14620010 24020004 ..|0.?.\.b..$...
...........
...........
...........
FFFFFFD0:00000000 00000000 00000000 00000000 ................
FFFFFFE0:00627E34 00000000 00000000 00000000 .b~4............
FFFFFFF0:00000000 00000000 00000000 00000006 ................
 
 
===== SSL SERVICE MODULE - END OF CRASHINFO COLLECTION =======
 

VTSデバッグのイネーブル化

SSLサービス モジュールの複数のプロセッサ(FDU、TCP、SSL)をデバッグするために、モジュールにはVirtual Terminal Server(VTS;仮想端末サーバ)が搭載されています。


) TCPデバッグ コマンドは、負荷がほとんどない場合(仮想サーバまたは実サーバに接続が確立されていない場合など)に、基本的な接続問題のトラブルシューティングを行うときのみ使用してください。

TCPデバッグ コマンドを使用すると、TCPモジュールはコンソールにデバッグ情報を大量に表示するため、これによってモジュールのパフォーマンスが大幅に低下することがあります。モジュールのパフォーマンスが低いと、TCP接続タイマー、パケット、およびステート移行の処理に遅延が生じることがあります。


SSLサービス モジュールのFDU(ポート2001)、TCP(ポート2002)、およびSSL(ポート2003)プロセッサに到達できるように、ワークステーションまたはPCからモジュールのVLAN IPアドレスの1つにTelnet接続を確立します。

デバッグ情報を表示する手順は、次のとおりです。

 

コマンド
目的
ssl-proxy# [ no ] debug ssl-proxy { fdu | ssl | tcp } [ type ]

指定されたシステム コンポーネントのデバッグ フラグをオンまたはオフにします。

Telnet接続を確立後、SSLサービス モジュール コンソールから debug ssl-proxy { tcp | fdu | ssl }コマンドを入力します。クライアントから接続が1つ送信されて、TCPコンソールにログが表示されます。

次に、接続のTCP状態のログを表示して、デバッグ状態を確認する例を示します。

ssl-proxy# debug ssl-proxy tcp state
ssl-proxy# show debugging
STE Mgr:
STE TCP states debugging is on
 

次に、ワークステーションまたはPCの出力の例を示します。

Conn 65066 state CLOSED --> state SYN_RECEIVED
Conn 65066 state SYN_RECEIVED --> state ESTABLISHED
Conn 14711 state CLOSED --> state SYN_SENT
Conn 14711 state SYN_SENT --> state ESTABLISHED
Conn 14711 state ESTABLISHED --> state CLOSE_WAIT
Conn 65066 state ESTABLISHED --> state FIN_WAIT_1
Conn 65066 state FIN_WAIT_1 --> state FIN_WAIT_2
Conn 65066 state FIN_WAIT_2 --> state TIME_WAIT
Conn 14711 state CLOSE_WAIT --> state LAST_ACK
Conn 14711 state LAST_ACK --> state CLOSED
##############Conn 65066 state TIME_WAIT --> state CLOSED

各動作モードの設定

SSLサービス モジュールはスタンドアロン構成、またはCSMと組み合わせた構成のいずれかで稼働します。スタンドアロン構成では、ポリシーベース ルーティングを使用して、セキュアなトラフィックをSSLサービス モジュールに転送します。CSMと組み合わせた構成では、SSLサービス モジュールには暗号化されたクライアント トラフィックのみが転送され、クリア テキスト トラフィックは実サーバに転送されます。

ここではスタンドアロン構成の場合、またはCSMと組み合わせる場合のSSLサービス モジュールの設定方法について説明します。

「ポリシーベース ルーティングの設定」

「CSMの設定」

図 3-2に、1台のCatalyst 6500シリーズ スイッチにSSLサービス モジュールおよびCSMを搭載したネットワーク トポロジーの例を示します。

図 3-2 ネットワーク レイアウト例 ― SSLサービス モジュールとCSMを組み合わせた場合

 

ポリシーベース ルーティングの設定

スタンドアロン構成では、ポリシーベース ルーティングを使用して、暗号化されたSSLトラフィックをSSLサービス モジュールに転送します。

SSLサービス モジュールにポリシーベース ルーティングを設定する場合は、次の注意事項に従ってください。

それぞれ異なるサブネットにクライアントおよびサーバを設定します。

スイッチに2つのVLAN(各サブネットに1つずつ)を設定します。

各VLANにIPインターフェイスを設定します。

SSLサービス モジュールのサーバ側VLANにIPインターフェイスを設定します。

トラフィックの各方向に対応する2つのフローが存在します。クライアントからサーバへのトラフィック フローは、クリア テキストまたは暗号化データとして送信されます(図 3-3を参照)。サーバからクライアントへのトラフィックは、すべてクリア テキストとして送信されます。ただし、サーバからクライアントへのトラフィックがクライアントに転送される前にSSLサービス モジュールで暗号化されるかどうかは送信元ポートによって異なります。

図 3-3 クライアントからサーバへのトラフィック フロー ― スタンドアロン構成

 

図 3-3では、クライアントはサーバにクリア テキスト トラフィックを送信します(フロー1)。スイッチは、クリア テキスト トラフィックをサーバに転送します(フロー2)。

クライアントは暗号化トラフィックをサーバ(ポート443)に送信します。ポリシーベース ルーティングがトラフィックを代行受信して、SSLサービス モジュールに転送します(フロー3)。SSLサービス モジュールはトラフィックを復号化して、ストリームをwell-knownポート(サーバ上で復号化トラフィックを待機するように設定されたポート)に転送します(フロー4)。

ポリシーベース ルーティングをイネーブルにするには、グローバル コンフィギュレーション モードで次の作業を行います。

 

コマンド
目的

ステップ 1

Router(config)# ip access-list extended name

IP拡張アクセス リストを定義します。

ステップ 2

Router(config-ext-nacl)# permit tcp source source-wildcard operator port destination destination-wildcard operator port

名前付きアクセス リストに条件を指定します。


sourceおよびsource-wildcard、または
destination
およびdestination-wildcardが0.0.0.0 255.255.255.255の場合は、その短縮形としてanyキーワードを使用します。


ステップ 3

Router(config-ext-nacl)# route-map map-tag [ permit | deny ] [ sequence-number ]

パケットの出力先を制御するルート マップを定義します。


) このコマンドは、スイッチをルートマップ コンフィギュレーション モードにします。


ステップ 4

Router(config-route-map)# match ip address name

一致基準を指定します。送信元と、1つまたは複数の標準もしくは拡張アクセス リストで許可されている宛先IPアドレスとを照合します。

ステップ 5

Router(config-route-map)# set ip next-hop ip-address

パケットのルーティング先となるネクスト ホップを設定します(ネクスト ホップは隣接していなければなりません)。

ステップ 6

Router(config-route-map)# interface interface-type interface-number

インターフェイスを指定します。


) このコマンドは、スイッチをインターフェイス コンフィギュレーション モードにします。


ステップ 7

Router(config-if)# ip policy route-map map-tag

ポリシーベース ルーティングに使用するルート マップを特定します。


) 1つのインターフェイスには、route-mapタグを1つのみ設定できます。ただし、シーケンス番号が異なるルート マップ エントリはいくつでも設定できます。これらのエントリは、最初の一致が見つかるまで、シーケンス番号順に評価されます。一致が見つからない場合、パケットは通常どおりにルーティングされます。


ポリシーベース ルーティングの設定例

ここでは、実クライアントおよび実サーバを使用したポリシーベース ルーティングの設定例を示します。

図 3-4 クライアントからサーバへのトラフィック フローの例

 

図 3-4では、SSLサービス モジュールおよび実サーバの両方のIPアドレスが3.100.100.151です。SSLサービス モジュールのIPアドレスは secondary として設定されており、このアドレスに対するARP要求には応答しません。したがって、重複したIPアドレスは発行されません。

クライアント(2.200.200.14)は、VLAN 2スイッチポート(アクセス モード)に接続されています。クライアントのデフォルト ゲートウェイは2.100.100.100(スーパバイザ エンジンのVLAN 2 IPアドレス)です。

実サーバは、VLAN 3スイッチポート(アクセス モード)に接続されています。実サーバのデフォルト ゲートウェイは3.100.100.100(スーパバイザ エンジンのVLAN 3 IPアドレス)です。実サーバには、2つのアドレスがあります。3.100.100.151(プライマリ)と3.200.200.146(エイリアス)です。

3.100.100.151のポート80宛のクリア テキスト(HTTP)トラフィックは、実サーバに直接送信され、SSLサービス モジュールをバイパスします。

ポリシーベース ルーティングの場合、3.100.100.151のポート443宛のSSLトラフィックは、SSLサービス モジュールにリダイレクトされて、暗号化されます。暗号化トラフィックは3.200.200.146のポート81(実サーバのエイリアスIPアドレス)に送信されます。実サーバから戻されたトラフィックは、SSLサービス モジュールに転送されます。トラフィックはモジュールで暗号化され、クライアントに送信されます。

許可VLANの設定

以下の例では、SSLサービス モジュールとスーパバイザ エンジンの間でVLAN 3を許可します。

Cisco IOS

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# ssl-proxy module 8 allowed-vlan 3
Router(config)# ^Z
Router#
Router# show ssl-proxy module 8 state
SSL-proxy module 8 data-port:
Switchport:Enabled
Administrative Mode:trunk
Operational Mode:trunk
Administrative Trunking Encapsulation:dot1q
Operational Trunking Encapsulation:dot1q
Negotiation of Trunking:Off
Access Mode VLAN:1 (default)
Trunking Native Mode VLAN:1 (default)
Trunking VLANs Enabled:3
Pruning VLANs Enabled:2-1001
Vlans allowed on trunk:3
Vlans allowed and active in management domain:3
Vlans in spanning tree forwarding state and not pruned:
3
Allowed-vlan :3
 
Router#
 

Catalystオペレーティング システム ソフトウェア

Console> (enable) set trunk 8/1
Adding vlans 3 to allowed list.
Console> (enable) show trunk 8/1
* - indicates vtp domain mismatch
# - indicates dot1q-all-tagged enabled on the port
Port Mode Encapsulation Status Native vlan
-------- ----------- ------------- ------------ -----------
8/1 nonegotiate dot1q not-trunking 1
 
Port Vlans allowed on trunk
-------- ---------------------------------------------------------------------
8/1 3
 
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
8/1 3
 
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
8/1 3
 

アクセス リストおよびルート マップの設定

次に、クライアントからSSLサービス モジュールにSSLトラフィックをリダイレクトするように、および実サーバからSSLサービス モジュールにクリア テキスト トラフィックをリダイレクトするように、アクセス リストおよびルート マップを設定する例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)# ip access-list extended redirect_ssl
Router(config-ext-nacl)# permit tcp any 3.0.0.0 0.255.255.255 eq 443
Router(config-ext-nacl)# !
Router(config-ext-nacl)# ip access-list extended reverse_traffic
Router(config-ext-nacl)# permit tcp 3.0.0.0 0.255.255.255 eq 81 any
Router(config-ext-nacl)# !
Router(config-ext-nacl)# route-map redirect_ssl permit
Router(config-route-map)# match ip address redirect_ssl
Router(config-route-map)# set ip next-hop 3.100.100.150
Router(config-route-map)# !
Router(config-route-map)# route-map reverse_traffic permit
Router(config-route-map)# match ip address reverse_traffic
Router(config-route-map)# set ip next-hop 3.100.100.150
Router(config-route-map)# !
Router(config-route-map)# interface Vlan2
Router(config-if)# ip address 2.100.100.100 255.0.0.0
Router(config-if)# ip policy route-map redirect_ssl
Router(config-if)# !
Router(config-if)# interface Vlan3
Router(config-if)# ip address 3.100.100.100 255.0.0.0
Router(config-if)# ip policy route-map reverse_traffic
Router(config-if)# !
Router(config-if)#^Z
Router#
 

テスト用証明書のインポート

次に、テスト用証明書をインポートする例を示します。信頼点を設定したり、証明書を取得したりする方法については、「鍵および証明書の設定」を参照してください。

ssl-proxy# test ssl-proxy certificate install
% Opening file, please wait ...
% Writing, please wait ............
% Please use the following config command to import the file.
"crypto ca import <trustpoint-name> pkcs12 nvram:test/testssl.p12 sky is blue"
% Then you can assign the trustpoint to a proxy service for testing.
 
*Oct 9 19:49:17.570:%STE-6-PKI_TEST_CERT_INSTALL:Test key and certificate was installed into NVRAM in a PKCS#12 file.
ssl-proxy# configure terminal
ssl-proxy(config)# crypto ca import sample pkcs12 nvram:sky is blue
Source filename [sample]? test/testssl.p12
ssl-proxy(config)#
*Oct 9 19:51:04.674:%SSH-5-ENABLED:SSH 1.5 has been enabled
*Oct 9 19:51:04.678:%CRYPTO-6-PKCS12IMPORT_SUCCESS:PKCS #12 Successfully Imported.
ssl-proxy(config)# ^Z
ssl-proxy#
 

SSLプロキシVLANの設定

次に、SSLサービス モジュールのVLAN 3にインターフェイスを追加する例を示します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy vlan 3
ssl-proxy(config-vlan)# ipaddr 3.100.100.150 255.0.0.0
ssl-proxy(config-vlan)# gateway 3.100.100.100
ssl-proxy(config-vlan)# admin
ssl-proxy(config-vlan)# ^Z
ssl-proxy#
 

SSLプロキシ サービスの設定

次に、プロキシごとに仮想IPアドレスおよびサーバIPアドレスを識別する特定のプロキシ サービスを追加する例を示します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy service sample
ssl-proxy(config-ssl-proxy)# virtual ipaddr 3.100.100.151 protocol tcp port 443 secondary
ssl-proxy(config-ssl-proxy)# server ipaddr 3.200.200.146 protocol tcp port 81
ssl-proxy(config-ssl-proxy)# cert rsa general-purpose trustpoint sample
ssl-proxy(config-ssl-proxy)# inservice
ssl-proxy(config-ssl-proxy)# ^Z
ssl-proxy#
 

サービスおよび接続の確認

次に、SSLプロキシ サービスおよび接続を確認する例を示します。

ssl-proxy# show ssl-proxy service sample
Service id:3, bound_service_id:259
Virtual IP:3.100.100.151, port:443
Server IP:3.200.200.146, port:81
rsa-general-purpose certificate trustpoint:sample
Certificate chain in use for new connections:
Server Certificate:
Key Label:sample
Serial Number:01
Root CA Certificate:
Serial Number:00
Certificate chain complete
Admin Status:up
Operation Status:up
ssl-proxy#
 
ssl-proxy# show ssl-proxy conn
Connections for TCP module 1
Local Address Remote Address VLAN Conid Send-Q Rwind Recv-Q State
------------------- ------------------- ----- ------ ------ ------ ------ ------
3.100.100.151.443 2.200.200.14.37820 3 470 0 32768 0 ESTABLISHED
2.200.200.14.37820 3.200.200.146.81 3 471 0 32768 0 ESTABLISHED
ssl-proxy#
 

CSMの設定


) CSMの設定方法については、次のURLにある『Catalyst 6500 Series Switch Content Switching Module Installation and Configuration Note』 Release 3.1を参照してください。

http://www.cisco.com/univercd/cc/td/doc/product/lan/cat6000/cfgnotes/csm_3_1/index.htm


CSMは、レイヤ4~7のパケット情報に基づいて、ネットワーク装置とサーバ ファーム間にハイパフォーマンスのServer Load Balancing(SLB;サーバ ロードバランス)を実現します。

SSLサービス モジュールとCSMを組み合わせた構成では、SSLサービス モジュールには暗号化されたクライアント トラフィックのみが転送され、クリア テキスト トラフィックは実サーバに転送されます。

CSMはサーバ ファームの仮想IPアドレス(ポート443)宛のトラフィックを解析し、宛先IPアドレスを変更しないでSSLサービス モジュールに転送します。構成内にSSLサービス モジュールが複数存在する場合、CSMはSSLサービス モジュール間でトラフィックを負荷分散します。SSLサービス モジュールはトラフィックを復号化して、新しいストリームをCSMに転送して戻します。SSLサービス モジュールは宛先IPアドレス(元のサーバ ファーム仮想IPアドレス)を変更しませんが、ポート変換は実行します。CSMはこの新しい仮想IPアドレスとポートの組み合わせを使用して、サーバ ファーム内のサーバ間でデータを分散させます(図 3-5を参照)。

図 3-5 クライアントからサーバへのトラフィック フロー ― SSLサービス モジュールとCSMを組み合わせた場合

 

図 3-5では、クリア テキスト トラフィックはクライアントから仮想IPアドレス、非SSLポート(80など)に送信されます(フロー1を参照)。CSMはサーバ ファーム内のサーバ間でクリア テキスト トラフィックを分散させます(フロー2)。

暗号化トラフィックは、クライアントから仮想IPアドレス、SSLポート(443)に送信されます(フロー3)。CSMは暗号化トラフィックをSSLサービス モジュールに転送します(フロー4)。複数のSSLサービス モジュールが存在する場合、CSMはSSLサービス モジュール間で暗号化トラフィックを分散させます。

SSLサービス モジュールはトラフィックを復号化して、仮想IPアドレスおよびCSMのポートに転送します(フロー5)。

CSMはサーバ ファーム内のサーバ間で復号化トラフィックを分散させます(フロー6)。

戻りパス上で、CSMはサーバがデータを伝送したポートをモニタする必要があります。このポートが標準のクリア テキスト ポート(80など)の場合、送信元アドレス以外のデータは変更されずにクライアントに転送されます。クリア テキスト フロー上にサーバNATが設定されている場合、送信元IPアドレスは仮想IPアドレスによって置き換えられます。

トラフィックの宛先が仮想IPアドレスおよびポート443である場合、CSMはこのフローをSSLサービス モジュールに転送します。SSLサービス モジュールはトラフィックを暗号化して、パケット ヘッダー上でポート変換を実行します。SSLサービス モジュールは、送信元ポート443(クライアントが暗号化トラフィックを最初に転送したSSLポート)を使用して、トラフィックをCSMに転送し、CSMがリバース パス トラフィックを処理できるようにします。

VLAN

通常のCSM運用と同様に、クライアントおよびサーバVLANは個別に設定する必要があります。CSMクライアントおよびサーバVLANが同じサブネット上にない場合、CSMはクライアントとサーバVLAN間のスイッチとして機能します。

CSMとSSLサービス モジュール間でトラフィックを転送できるようにするには、これらの間にVLANを1つ設定する必要があります(図 3-6を参照)。CSMとSSLサービス モジュールの間のすべてのフローは、このVLANを通過します。

図 3-6 SSLサービス モジュールとCSMの組み合わせ ― 3 VLANの設定

 

図 3-6のVLAN 4を通過するのは、クライアントとCSM仮想IPアドレスの間のクリア テキスト トラフィックおよび暗号化トラフィックです。

VLAN 2を通過するのは、サーバとクライアント間の次のタイプのトラフィックです。

クライアントとサーバ間のクリア テキスト トラフィック

クライアントから送信され、SSLサービス モジュールによって復号化されたトラフィック

サーバから送信され、SSLサービス モジュールで暗号化する必要があるトラフィック

VLAN 3を通過するのは、CSMとSSLサービス モジュール間の次のタイプのトラフィックです。

復号化する必要がある、暗号化されたクライアント トラフィック

サーバ ファームに転送する必要がある、復号化されたクライアント トラフィック

暗号化する必要がある、暗号化されていないサーバ トラフィック

クライアントに転送する必要がある暗号化されたサーバ トラフィック

CSMにVLANを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router(config)# mod csm slot

CSMのスロットを指定します。

ステップ 2

Router(config-module-csm)# vlan vlan { client | server }

VLANをCSMのクライアントまたはサーバとして設定します。

ステップ 3

Router(config-slb-vlan-client)# ip address ip_addr netmask

VLAN上のインターフェイスのIPアドレスおよびネットマスクを設定します。

ステップ 4

Router(config-slb-vlan-client)# gateway ip_addr

ゲートウェイIPアドレスを設定します。

サーバ ファーム

SSLサービス モジュールとCSMを組み合わせて使用した場合、CSMは2つのタイプのサーバ ファームを参照します。1番目のサーバ ファームは、一連の実サーバで構成される従来のファームです。このサーバ ファームは、1つまたは複数の仮想サーバIPアドレスにマッピングされます。これらのサーバ宛のトラフィック上で、サーバNATまたはクライアントNATを機能させるかどうかを選択できます。

2番目のタイプのサーバ ファームは、シャーシに搭載されたSSLサービス モジュールで構成されます。CSMは、これらのSSLサービス モジュールを実サーバとして参照し、これらのモジュール間でSSLトラフィックを分散させます。

CSMにサーバ ファームを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router(config)# mod csm slot

CSMのスロットを指定します。

ステップ 2

Router(config-module-csm)# serverfarm server_farm

サーバ ファームの名前を設定します。

ステップ 3

Router(config-slb-sfarm)# no nat server

(任意)サーバNATをディセーブルにします。

ステップ 4

Router(config-slb-sfarm)# nat client natpool_name

(任意)クライアントNATをイネーブルにします。

ステップ 5

Router(config-slb-sfarm)# real ip_addr

サーバの実IPアドレスを設定します。

ステップ 6

Router(config-slb-real)# inservice

サーバ ファームを稼働させます。

仮想サーバ

CSMおよびSSLサービス モジュールを組み合わせた構成でサポートされるすべての実サーバ ファームで、3つのタイプの仮想サーバが必要となります。3タイプの仮想サーバの主な違いは、ポート番号です。クリア テキスト仮想サーバおよびSSL仮想サーバの仮想IPアドレスは同じです。復号化仮想サーバの仮想IPアドレスは、同じ場合と異なる場合があります。3つのタイプの仮想サーバを次に示します。

クリア テキスト仮想サーバ ― クライアントから送信されたすべてのクリア テキスト トラフィックの宛先です。通常、このトラフィックの宛先はポート80です。CSMは、この仮想サーバに送信されたトラフィックをサーバ ファーム内の実サーバに直接分散させます。SSLサービス モジュールはクリア テキスト仮想サーバに含まれません。

SSL仮想サーバ ― クライアントからサーバに送信されるすべてのSSL暗号化トラフィックの宛先です。このトラフィックの宛先はポート443です。CSMは、このタイプのトラフィックをSSLサービス モジュールに転送して復号化します。

復号化仮想サーバ ― SSLサービス モジュールがクライアントからのSSLトラフィックを復号化した後、トラフィックはCSMに転送されて戻され、復号化仮想サーバに送信されます。CSMは、このトラフィックをサーバ ファーム内の実サーバに分散させます。この処理は、クリア テキスト仮想サーバ宛のトラフィックの場合と同様です。この復号化仮想サーバに関連づけられたポートは、SSLサービス モジュールによって復号化されたトラフィックを待機するように設定された実サーバのポートと一致しなければなりません。

CSMに仮想サーバを設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router(config)# mod csm slot

CSMのスロットを指定します。

ステップ 2

Router(config-module-csm)# vserver vserver

仮想サーバの名前を設定します。

ステップ 3

Router(config-slb-vserver)# virtual ip_address tcp port

仮想サーバのIPアドレス、プロトコル、およびポートを設定します。

ステップ 4

Router(config-slb-vserver)# serverfarm server_farm

宛先サーバ ファームを設定します。

ステップ 5

Router(config-slb-vserver)# vlan vlan

指定された仮想サーバ宛のトラフィックのうち、CSMが許可するトラフィックの送信元VLANを指定します。


) セキュリティ上の理由から、このコマンドは復号化仮想サーバの場合に必須です。


ステップ 6

Router(config-slb-vserver)# inservice

仮想サーバを稼働させます。

固定接続


) SSL固定機能を設定するには、CSMでCSMソフトウェアRelease 3.1(1a)以降を稼働させる必要があります。


CSMおよびSSLサービス モジュールを組み合わせた構成において、複数のSSLサービス モジュールが1台のCSMに接続されている場合は、CSM上にSSL固定機能を設定します。これにより、CSMは特定のクライアントからのトラフィックを常に同じSSLサービス モジュールに転送できます。

クライアントとSSLサービス モジュール間の接続ごとに、32バイトSSLセッションIDが作成されます。SSL固定機能が設定されている場合、CSMはSSLセッションIDの特定の部分(SSLサービス モジュールのMACアドレス)を参照して、SSLサービス モジュール間でSSLトラフィックを分散させます。


) セッションIDを再ネゴシエーションした場合も、SSLサービス モジュールのMACアドレスは、常にSSLセッションIDのバイト位置21~26を占めます。


CSMに固定接続を設定する手順は、次のとおりです。

 

コマンド
目的

ステップ 1

Router(config)# mod csm mod

CSMのスロットを指定します。

ステップ 2

Router(config-module-csm)# sticky group ssl

固定グループIDを設定します。

ステップ 3

Router(config-module-csm)# vserver vserver

仮想サーバにグループIDを割り当てます。

ステップ 4

Router(config-slb-vserver)# sticky group timeout time

接続を固定する時間を分単位で指定します。

ステップ 5

Router(config-slb-vserver)# ssl-sticky offset 20 length 6

SSL IDにおけるSSLサービス モジュール MACアドレスの位置を指定します。

CSMおよびSSLサービス モジュールを組み合わせた構成の例(ブリッジ モード、NATなし)

ここでは、SSLサービス モジュール×2、CSM×1、クライアント ネットワーク×1、3つのWebサーバ(IPアドレスは10.20.105.10、10.20.105.20、10.20.105.30)を含むサーバ ファーム×1で構成される、CSMとSSLサービス モジュールを組み合わせた構成例を示します。

この例では、SSLサービス モジュール用のCSMクライアントVLANとCSMサーバVLANは、同じIPサブネット(ブリッジ モード)内に設定されますが、Webサーバ用のCSMサーバVLANは別のIPサブネット内に設定されます(図 3-7を参照)。

CSMは、SSLサービス モジュールに暗号化トラフィックを負荷分散するときに、NAT処理を実行しないように設定されます。また、SSLサービス モジュールも、復号化トラフィックをCSMに戻すときにNAT処理を実行しないように設定されます。次に、CSMは、選択された宛先サーバ宛の復号化トラフィックに対してNATを実行するように設定されます。

図 3-7 ブリッジ モード、NATなしの設定例

 

CSM仮想サーバ

クライアント クリア テキスト トラフィック ― 10.20.102.100:80

クライアントSSLトラフィック ― 10.20.102.100:443

SSLサービス モジュールからの復号化トラフィック ― 10.20.102.100:80

SSL仮想サーバ

10.20.103.100:443セカンダリ

図 3-7に、同じサブネット内のVLAN 102とVLAN 103、および別のサブネット内のVLAN 105を示します。

必要なすべてのVLANをVLANデータベースに追加して、MSFC上でVLAN 102のIPインターフェイスを設定します。CSMにVLAN 102、103、および105を設定します。VLANおよびIPインターフェイスの設定方法については、「SSLサービス モジュールの設定準備」を参照してください。


) VLAN 102はMSFCのレイヤ3インターフェイスとして存在します。一方、VLAN 103とVLAN 105は両方ともVLANデータベース内のVLAN、およびCSM VLANとしてのみ存在しますが、MSFC上に対応するレイヤ3インターフェイスはありません。


次に、スロット番号5に搭載されたCSMにクライアントVLANおよびサーバVLANを作成する例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# module csm 5
Router(config-module-csm)# vlan 102 client
Router(config-slb-vlan-client)# ip address 10.20.102.2 255.255.255.0
Router(config-slb-vlan-client)# gateway 10.20.102.99
Router(config-slb-vlan-client)# exit
Router(config-module-csm)# vlan 103 server
Router(config-slb-vlan-server)# ip address 10.20.102.2 255.255.255.0
Router(config-slb-vlan-server)# alias 10.20.102.1 255.255.255.0
Router(config-slb-vlan-server)# exit
Router(config-module-csm)# vlan 105 server
Router(config-slb-vlan-server)# ip address 10.20.105.2 255.255.255.0
Router(config-slb-vlan-server)# alias 10.20.105.1 255.255.255.0
Router(config-slb-vlan-server)# end
 

次に、SSLサービス モジュールとCSMの間でVLAN 103を許可する例を示します。

Cisco IOS

Router(config)# ssl-proxy module 4 allowed-vlan 103
 

Catalystオペレーティング システム ソフトウェア

Console> (enable) set trunk 4/1 103
 

次に、Webサーバのサーバ ファーム(サーバNATを設定)、およびSSLサービス モジュールのサーバ ファーム(サーバNATを設定しない)を作成する例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# module csm 5
Router(config-module-csm)# serverfarm SSLFARM
Router(config-slb-sfarm)# no nat server
Router(config-slb-sfarm)# real 10.20.102.10
Router(config-slb-real)# inservice
Router(config-slb-real)# real 10.20.102.20
Router(config-slb-real)# inservice
Router(config-slb-real)# exit
Router(config-slb-sfarm)# exit
Router(config-module-csm)# serverfarm WEBSERVERS
Router(config-slb-sfarm)# nat server
Router(config-slb-sfarm)# real 10.20.105.10
Router(config-slb-real)# inservice
Router(config-slb-real)# real 10.20.105.20
Router(config-slb-real)# inservice
Router(config-slb-real)# real 10.20.105.30
Router(config-slb-real)# inservice
Router(config-slb-real)# end
 

次に、この3つの仮想サーバを設定する例を示します。次の例では、Webサーバはポート80宛のトラフィックのみを受信します。これらのトラフィックは、クライアントから直接送信されたトラフィック、またはSSLサービス モジュールから送信された復号化トラフィックです(ポート変換が設定されていないため)。

CSMは送信元VLANに基づいて、クライアントから直接受信した要求と、SSLサービス モジュールから受信した要求を区別します。

SSL IDに基づいて固定接続を維持する場合には、固定グループも設定されます。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# module csm 5
Router(config-module-csm)# sticky 100 ssl timeout 30
Router(config-module-csm)# vserver CLEAR_VIP
Router(config-slb-vserver)# virtual 10.20.102.100 tcp www
Router(config-slb-vserver)# vlan 102
Router(config-slb-vserver)# serverfarm WEBSERVERS
Router(config-slb-vserver)# inservice
Router(config-slb-vserver)# exit
Router(config-module-csm)# vserver DECRYPT_VIP
Router(config-slb-vserver)# virtual 10.20.102.100 tcp www
Router(config-slb-vserver)# vlan 103
Router(config-slb-vserver)# serverfarm WEBSERVERS
Router(config-slb-vserver)# inservice
Router(config-slb-vserver)# exit
Router(config-module-csm)# vserver SSL_VIP
Router(config-slb-vserver)# virtual 10.20.102.100 tcp https
Router(config-slb-vserver)# vlan 102
Router(config-slb-vserver)# serverfarm SSLFARM
Router(config-slb-vserver)# sticky 30 group 100
Router(config-slb-vserver)# inservice
Router(config-slb-vserver)# end
 

次に、VLAN 103(管理VLAN)を介してCSMと通信するようにSSLサービス モジュールを設定する例を示します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy vlan 103
ssl-proxy(config-vlan)# ipaddr 10.20.102.10 255.255.255.0
ssl-proxy(config-vlan)# gateway 10.20.102.99
ssl-proxy(config-vlan)# admin
ssl-proxy(config-vlan)# end
 

設定を完了するには、 ssl-proxy service コマンドを入力してSSLサービス モジュールに新しいサービス( test1 )を作成します。次に、CSMに作成された仮想サーバと一致する仮想IPアドレスを設定する例を示します(この仮想IPアドレスは、 secondary として設定されているため、SSLサービス モジュールはこのIPアドレスに対するARP要求に応答しません)。このサービスは、NATを実行せずに、復号化トラフィックをCSMに戻すように設定されています。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy service test1
ssl-proxy(config-ssl-proxy)# virtual ipaddr 10.20.102.100 protocol tcp port 443 secondary
ssl-proxy(config-ssl-proxy)# server ipaddr 10.20.102.1 protocol tcp port 80
ssl-proxy(config-ssl-proxy)# certificate rsa general-purpose trustpoint testtp
ssl-proxy(config-ssl-proxy)# no nat server
ssl-proxy(config-ssl-proxy)# inservice
ssl-proxy(config-ssl-proxy)# end
 

次に、MSFCおよびCSM上で各種 show コマンドを実行した場合の出力例を示します。

Router# show module csm 5 vlan detail
vlan IP address IP mask type
---------------------------------------------------
102 10.20.102.2 255.255.255.0 CLIENT
GATEWAYS
10.20.102.99
103 10.20.102.2 255.255.255.0 SERVER
ALIASES
IP address IP mask
--------------------------------
10.20.102.1 255.255.255.0
105 10.20.105.2 255.255.255.0 SERVER
ALIASES
IP address IP mask
--------------------------------
10.20.105.1 255.255.255.0
 
Router# show module csm 5 vserver detail
SSL_VIP, type = SLB, state = OPERATIONAL, v_index = 13
virtual = 10.20.102.100/32:443, TCP, service = NONE, advertise = FALSE
idle = 3600, replicate csrp = none, vlan = 102, pending = 30
max parse len = 600, persist rebalance = TRUE
conns = 0, total conns = 2
Default policy:
server farm = SSLFARM, backup = <not assigned>
sticky: timer = 30, subnet = 0.0.0.0, group id = 100
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
(default) 2 22 15
 
CLEAR_VIP, type = SLB, state = OPERATIONAL, v_index = 14
virtual = 10.20.102.100/32:80, TCP, service = NONE, advertise = FALSE
idle = 3600, replicate csrp = none, vlan = 102, pending = 30
max parse len = 600, persist rebalance = TRUE
conns = 0, total conns = 0
Default policy:
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
(default) 0 0 0
 
DECRYPT_VIP, type = SLB, state = OPERATIONAL, v_index = 15
virtual = 10.20.102.100/32:80, TCP, service = NONE, advertise = FALSE
idle = 3600, replicate csrp = none, vlan = 103, pending = 30
max parse len = 600, persist rebalance = TRUE
conns = 0, total conns = 2
Default policy:
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
(default) 2 11 7
 

次に、SSLサービス モジュール上で各種 show コマンドを実行した場合の出力例を示します。

ssl-proxy# show ssl-proxy service test1
Service id: 0, bound_service_id: 256
Virtual IP: 10.20.102.100, port: 443 (secondary configured)
Server IP: 10.20.102.1, port: 80
rsa-general-purpose certificate trustpoint: testtp
Certificate chain in use for new connections:
Server Certificate:
Key Label: testtp
Serial Number: 01
Root CA Certificate:
Serial Number: 00
Certificate chain complete
Admin Status: up
Operation Status: up
ssl-proxy#
ssl-proxy# show ssl-proxy stats
TCP Statistics:
Conns initiated : 2 Conns accepted : 2
Conns established : 4 Conns dropped : 4
Conns closed : 4 SYN timeouts : 0
Idle timeouts : 0 Total pkts sent : 26
Data packets sent : 15 Data bytes sent : 8177
Total Pkts rcvd : 27 Pkts rcvd in seq : 11
Bytes rcvd in seq : 5142
 
SSL stats:
conns attempted : 2 conns completed : 2
full handshakes : 2 resumed handshakes : 0
active conns : 0 active sessions : 0
renegs attempted : 0 conns in reneg : 0
handshake failures : 0 data failures : 0
fatal alerts rcvd : 0 fatal alerts sent : 0
no-cipher alerts : 0 ver mismatch alerts : 0
no-compress alerts : 0 bad macs received : 0
pad errors : 0
 
FDU Statistics
IP Frag Drops : 0 Serv_Id Drops : 0
Conn Id Drops : 0 Checksum Drops : 0
IOS Congest Drops : 0 IP Version Drops : 0
Hash Full Drops : 0 Hash Alloc Fails : 0
Flow Creates : 4 Flow Deletes : 4
conn_id allocs : 4 conn_id deallocs : 4
Tagged Drops : 0 Non-Tagged Drops : 0
Add ipcs : 0 Delete ipcs : 0
Disable ipcs : 0 Enable ipcs : 0
Unsolicited ipcs : 0 Duplicate ADD ipcs: 0
ssl-proxy#
 

CSMおよびSSLサービス モジュールを組み合わせた構成の例(ルータ モード、サーバNAT)

ここでは、SSLサービス モジュール×2、CSM×1、クライアント ネットワーク×1、3つのWebサーバ(IPアドレスは10.20.105.10、10.20.105.20、10.20.105.30)を含むサーバ ファーム×1で構成される、CSMとSSLサービス モジュールを組み合わせた構成例を示します。

この例では、異なるIPサブネット(ルータ モード)内に3つのCSM VLAN(クライアントVLAN、SSLサービス モジュール用のサーバVLAN、およびWebサーバ用のサーバVLAN)が設定されています(図 3-8を参照)。

CSMは、SSLサービス モジュールに暗号化トラフィックを負荷分散するときに、サーバNAT処理を実行するように設定されます。また、SSLサービス モジュールも、復号化トラフィックをCSMに戻すときにNAT処理を実行するように設定されます。次に、CSMは、選択された宛先サーバ宛の復号化トラフィックに対してNATを実行するように設定されます。

図 3-8 構成例 ― ルータ モード、サーバNAT

 

CSM仮想サーバ

クライアント クリア テキスト トラフィック ― 10.20.102.100:80

クライアントSSLトラフィック ― 10.20.102.100:443

SSLサービス モジュールからの復号化トラフィック ― 10.20.103.100:80

SSL仮想サーバ

10.20.103.110:443

10.20.103.120:443

図 3-8では、VLAN 102、VLAN 103、およびVLAN 105はそれぞれ異なるサブネット内にあります。VLAN 100(管理)は、管理用の独立したVLANとして設定されています。

必要なすべてのVLANをVLANデータベースに追加して、MSFC上でVLAN 100およびVLAN 102のIPインターフェイスを設定します。CSMにVLAN 102、103、および105を設定します。VLANおよびIPインターフェイスの設定方法については、「SSLサービス モジュールの設定準備」を参照してください。


) VLAN 100およびVLAN 102はMSFCのレイヤ3インターフェイスとして存在します。一方、VLAN 103とVLAN 105はVLANデータベース内のVLAN、およびCSM VLANとしてのみ存在しますが、MSFC上に対応するレイヤ3インターフェイスはありません。


次に、スロット番号5に搭載されたCSMにクライアントVLANおよびサーバVLANを作成する例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# module csm 5
Router(config-module-csm)# vlan 102 client
Router(config-slb-vlan-client)# ip address 10.20.102.2 255.255.255.0
Router(config-slb-vlan-client)# alias 10.20.102.1 255.255.255.0
Router(config-slb-vlan-client)# gateway 10.20.102.99
Router(config-slb-vlan-client)# exit
Router(config-module-csm)# vlan 103 server
Router(config-slb-vlan-server)# ip address 10.20.103.2 255.255.255.0
Router(config-slb-vlan-server)# alias 10.20.103.1 255.255.255.0
Router(config-slb-vlan-server)# exit
Router(config-module-csm)# vlan 105 server
Router(config-slb-vlan-server)# ip address 10.20.105.2 255.255.255.0
Router(config-slb-vlan-server)# alias 10.20.105.1 255.255.255.0
Router(config-slb-vlan-server)# end
 

次に、SSLサービス モジュールとCSMの間にVLAN 103(クライアントVLAN)、およびSSLサービス モジュールとMSFCの間にVLAN 100(管理VLAN)を許可する例を示します。

Cisco IOS

Router(config)# ssl-proxy module 4 allowed-vlan 100,103
 

Catalystオペレーティング システム ソフトウェア

Console> (enable) set trunk 4/1 100,103
 

次に、Webサーバのサーバ ファーム(サーバNATを設定)、およびSSLサービス モジュールのサーバ ファーム(サーバNATを設定)を作成する例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# module csm 5
Router(config-module-csm)# serverfarm SSLFARM
Router(config-slb-sfarm)# nat server
Router(config-slb-sfarm)# real 10.20.103.110
Router(config-slb-real)# inservice
Router(config-slb-real)# real 10.20.103.120
Router(config-slb-real)# inservice
Router(config-slb-real)# exit
Router(config-slb-sfarm)# exit
Router(config-module-csm)# serverfarm WEBSERVERS
Router(config-slb-sfarm)# nat server
Router(config-slb-sfarm)# real 10.20.105.10
Router(config-slb-real)# inservice
Router(config-slb-real)# real 10.20.105.20
Router(config-slb-real)# inservice
Router(config-slb-real)# real 10.20.105.30
Router(config-slb-real)# inservice
Router(config-slb-real)# end
 

次に、この3つの仮想サーバを設定する例を示します。次の例では、Webサーバは、クライアントから直接ポート80に送信された要求、およびSSLサービス モジュールからポート81に送信された復号化要求を受信します(IPおよびポート変換が設定されているため)。

次に、SSL IDに基づいて固定接続を維持するように固定グループを設定する例を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# module csm 5
Router(config-module-csm)# sticky 100 ssl timeout 30
Router(config-module-csm)# vserver CLEAR_VIP
Router(config-slb-vserver)# virtual 10.20.102.100 tcp www
Router(config-slb-vserver)# vlan 102
Router(config-slb-vserver)# serverfarm WEBSERVERS
Router(config-slb-vserver)# inservice
Router(config-slb-vserver)# exit
Router(config-module-csm)# vserver DECRYPT_VIP
Router(config-slb-vserver)# virtual 10.20.103.100 tcp 81
Router(config-slb-vserver)# vlan 103
Router(config-slb-vserver)# serverfarm WEBSERVERS
Router(config-slb-vserver)# inservice
Router(config-slb-vserver)# exit
Router(config-module-csm)# vserver SSL_VIP
Router(config-slb-vserver)# virtual 10.20.102.100 tcp https
Router(config-slb-vserver)# vlan 102
Router(config-slb-vserver)# serverfarm SSLFARM
Router(config-slb-vserver)# sticky 30 group 100
Router(config-slb-vserver)# inservice
Router(config-slb-vserver)# end
 

次に、VLAN 103を介してCSMと通信し、VLAN 100(管理VLAN)を介してMSFCと通信するように、SSLサービス モジュールを設定する例を示します。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy vlan 103
ssl-proxy(config-vlan)# ipaddr 10.20.103.10 255.255.255.0
ssl-proxy(config-vlan)# gateway 10.20.103.1
ssl-proxy(config-vlan)# exit
ssl-proxy(config)# ssl-proxy vlan 100
ssl-proxy(config-vlan)# ipaddr 10.20.100.10 255.255.255.0
ssl-proxy(config-vlan)# gateway 10.20.100.99
ssl-proxy(config-vlan)# admin
ssl-proxy(config-vlan)# end
 

設定を完了するには、 ssl-proxy service コマンドを入力してSSLサービス モジュールに新しいサービス( test1 )を作成します。次に、CSMの実サーバとして機能する仮想IPアドレスを設定する例を示します(ARPに応答するにはこの仮想IPアドレスが必要なため、 secondary キーワードは入力されていません)。サービスは、復号化トラフィックをCSMに戻して、宛先IPアドレスとポートの両方でNATを実行するように設定されています。

ssl-proxy# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
ssl-proxy(config)# ssl-proxy service test1
ssl-proxy(config-ssl-proxy)# virtual ipaddr 10.20.103.110 protocol tcp port 443
ssl-proxy(config-ssl-proxy)# server ipaddr 10.20.102.100 protocol tcp port 81
ssl-proxy(config-ssl-proxy)# certificate rsa general-purpose trustpoint testtp
ssl-proxy(config-ssl-proxy)# nat server
ssl-proxy(config-ssl-proxy)# inservice
ssl-proxy(config-ssl-proxy)# end
 

次に、MSFCおよびCSM上で各種 show コマンドを実行した場合の出力例を示します。

Router# show mod csm 5 vlan deta
vlan IP address IP mask type
---------------------------------------------------
102 10.20.102.2 255.255.255.0 CLIENT
GATEWAYS
10.20.102.99
ALIASES
IP address IP mask
--------------------------------
10.20.102.1 255.255.255.0
103 10.20.103.2 255.255.255.0 SERVER
ALIASES
IP address IP mask
--------------------------------
10.20.103.1 255.255.255.0
105 10.20.105.2 255.255.255.0 SERVER
ALIASES
IP address IP mask
--------------------------------
10.20.105.1 255.255.255.0
 
Router# show mod csm 5 vser deta
CLEAR_VIP, type = SLB, state = OPERATIONAL, v_index = 10
virtual = 10.20.102.100/32:80, TCP, service = NONE, advertise = FALSE
idle = 3600, replicate csrp = none, vlan = 102, pending = 30
max parse len = 600, persist rebalance = TRUE
conns = 0, total conns = 1
Default policy:
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
(default) 1 6 4
 
DECRYPT_VIP, type = SLB, state = OPERATIONAL, v_index = 11
virtual = 10.20.103.100/32:81, TCP, service = NONE, advertise = FALSE
idle = 3600, replicate csrp = none, vlan = 103, pending = 30
max parse len = 600, persist rebalance = TRUE
conns = 0, total conns = 2
Default policy:
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
(default) 2 11 7
SSL_VIP, type = SLB, state = OPERATIONAL, v_index = 13
virtual = 10.20.102.100/32:443, TCP, service = NONE, advertise = FALSE
idle = 3600, replicate csrp = none, vlan = 102, pending = 30
max parse len = 600, persist rebalance = TRUE
conns = 0, total conns = 2
Default policy:
server farm = SSLFARM, backup = <not assigned>
sticky: timer = 30, subnet = 0.0.0.0, group id = 100
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
(default) 2 21 15
 

次に、SSLサービス モジュール上で各種 show コマンドを実行した場合の出力例を示します。

ssl-proxy# show ssl-proxy service test1
Service id: 0, bound_service_id: 256
Virtual IP: 10.20.103.110, port: 443
Server IP: 10.20.103.100, port: 81
rsa-general-purpose certificate trustpoint: testtp
Certificate chain in use for new connections:
Server Certificate:
Key Label: testtp
Serial Number: 01
Root CA Certificate:
Serial Number: 00
Certificate chain complete
Admin Status: up
Operation Status: up
ssl-proxy#
 
ssl-proxy# show ssl-proxy stats
TCP Statistics:
Conns initiated : 2 Conns accepted : 2
Conns established : 4 Conns dropped : 4
Conns closed : 4 SYN timeouts : 0
Idle timeouts : 0 Total pkts sent : 26
Data packets sent : 15 Data bytes sent : 8212
Total Pkts rcvd : 26 Pkts rcvd in seq : 11
Bytes rcvd in seq : 5177
 
SSL stats:
conns attempted : 2 conns completed : 2
full handshakes : 2 resumed handshakes : 0
active conns : 0 active sessions : 0
renegs attempted : 0 conns in reneg : 0
handshake failures : 0 data failures : 0
fatal alerts rcvd : 0 fatal alerts sent : 0
no-cipher alerts : 0 ver mismatch alerts : 0
no-compress alerts : 0 bad macs received : 0
pad errors : 0
 
FDU Statistics
IP Frag Drops : 0 Serv_Id Drops : 0
Conn Id Drops : 0 Checksum Drops : 0
IOS Congest Drops : 0 IP Version Drops : 0
Hash Full Drops : 0 Hash Alloc Fails : 0
Flow Creates : 4 Flow Deletes : 4
conn_id allocs : 4 conn_id deallocs : 4
Tagged Drops : 0 Non-Tagged Drops : 0
Add ipcs : 0 Delete ipcs : 0
Disable ipcs : 0 Enable ipcs : 0
Unsolicited ipcs : 0 Duplicate ADD ipcs: 0