SSLサービス モジュールの設定準備
SSLサービス モジュールにサービスを設定する前に、次の手順を実行する必要があります。
• 「SSLサービス モジュールの初期設定」
• 「Catalyst 6500シリーズ スイッチの初期設定」
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を管理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
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
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
モジュール上での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 |
|
コンフィギュレーション モードを終了します。 |
ステップ 5 |
|
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
How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys ...[OK]
*Aug 28 11:07:54.051: %SSH-5-ENABLED: SSH 1.5 has been enabled
SSH Enabled - version 1.5
Authentication timeout: 120 secs; Authentication retries: 3
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
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 |
|
VLANデータベースを更新して、イネーブルEXECモードに戻ります。 |
次に、スイッチにVLANを設定する例を示します。
Router# configure terminal
レイヤ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 |
|
コンフィギュレーション モードを終了します。 |
次に、レイヤ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
レイヤ2スイッチング用LANポートの設定
サーバまたはクライアントに接続する物理インターフェイスを、対応するVLANに配置する手順は、次のとおりです。
|
|
|
ステップ 1 |
Router(config)#
interface
type
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インターフェイスとして設定して、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
対応する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# configure terminal
Router (config)# ssl-proxy module 6 allowed-vlan 100
初期設定の確認
設定を確認するには、次のコマンドを入力します。
|
|
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
Spanning tree enabled protocol ieee
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
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
次に、表示されたVLAN情報がVLAN設定と一致するかどうかを確認する方法を示します。
Router# show ssl-proxy mod 6 state
SSL-services module 6 data-port:
Administrative 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:
スイッチ上でのVLANの設定
(注) スイッチとモジュールのVLAN IDは同じでなければなりません。詳細については、『Catalyst 6500 Switch Series Software Configuration Guide』のChapter「Configuring VLANs」を参照してください。
(注) SSLソフトウェアは、標準範囲のVLAN(2~1005)だけをサポートします。SSLサービス モジュールの設定を、標準範囲VLANに限定します。
スイッチにVLANを設定する手順は、次のとおりです。
|
|
|
ステップ 1 |
|
イネーブル モードを開始します。 |
ステップ 2 |
Console> (enable)
set vlan
vlan_id
|
VLANを追加します。有効な範囲は2~1001です。
(注) 外部VLANを追加しないでください。
|
次に、スイッチにVLANを設定する例を示します。
Enter Password: <password>
Console> (enable) set vlan 100
Vlan 100 configuration successful
MSFC上でのレイヤ3インターフェイスの設定
Multilayer Switch Feature Card(MSFC;マルチレイヤ スイッチ フィーチャ カード)上に対応するレイヤ3 VLANインターフェイスを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Console> (enable) session [
mod ]
|
Telnetセッションを使用してスイッチCLIからMSFCにアクセスします。 |
ステップ 2 |
|
イネーブル モードを開始します。 |
ステップ 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 |
|
MSFC CLIを終了してスイッチCLIに戻ります。 |
MSFC上にレイヤ3 VLANインターフェイスを設定する例を示します。
Console> (enable) session 15
Type ^C^C^C to switch back...
Router(config)# interface vlan 100
Router(config-if)# ip address 10.10.1.10 255.255.255.0
Router(config-if)# no shutdown
対応する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> show spanntree vlan_ID |
指定されたVLANのスパニングツリー状態を表示します。 |
Console> show trunk mod / port |
トランクの設定を表示します。 |
(注) 次の例では、SSLサービス モジュールはスロット6に搭載されています。
次に、モジュールがFWDステートであるかどうかを確認する例を示します。
Console> show spantree 100
Designated Root 00-06-2a-db-a5-01
Designated Root Priority 32768
Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec
Bridge ID MAC ADDR 00-06-2a-db-a5-01
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
次に、表示されたVLAN情報がVLAN設定と一致するかどうかを確認する方法を示します。
* - 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
-------- ---------------------------------------------------------------------
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
イメージのアップグレード
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 |
|
モジュールのMPがブートしたことを表示します。 |
ステップ 3 |
Router#
copy tftp:
pclc#
mod
-fs:
|
イメージをダウンロードします。 |
ステップ 4 |
Router#
hw-module module
mod
reset
|
モジュールをリセットします。 |
ステップ 5 |
|
モジュールのAPがブートしたことを表示します。 |
次に、APソフトウェアをアップグレードする例を示します。
Router# hw-module module 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
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:
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): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14918353 bytes copied in 643.232 secs (23193 bytes/sec)
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
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
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にアクセスします。 |
ステップ 4 |
Router#
copy tftp:
pclc#
mod
-fs:
|
イメージをダウンロードします。 |
ステップ 5 |
|
MSFC CLIを終了してスイッチCLIに戻ります。 |
ステップ 6 |
Console (enable)
set boot device
cf:4
mod
|
APをブートするようにモジュールを設定します。 |
ステップ 7 |
Console (enable)
reset
mod
|
モジュールをAPにリセットします。
(注) SUP_OSBOOTSTATUSシステム メッセージにより、APがブートされたことが示されます。
|
次に、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) 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
Type ^C^C^C to switch back...
Router# 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): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14918353 bytes copied in 643.232 secs (23193 bytes/sec)
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>>
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 |
|
モジュールの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
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):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9818951 bytes copied in 164.388 secs (59730 bytes/sec)
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
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にアクセスします。 |
ステップ 4 |
Router#
copy tftp:
pclc#
mod
-fs:
|
イメージをダウンロードします。 |
ステップ 5 |
|
MSFC CLIを終了してスイッチCLIに戻ります。 |
ステップ 6 |
Console (enable)
set boot device
cf:1
mod
|
MPをブートするようにモジュールを設定します。 |
ステップ 7 |
Console (enable)
reset
mod
|
モジュールをMPにリセットします。
(注) SUP_OSBOOTSTATUSシステム メッセージにより、MPがブートされたことが示されます。
|
次に、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
Type ^C^C^C to switch back...
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):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9818951 bytes copied in 164.388 secs (59730 bytes/sec)
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.>
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) 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 [
exportable ] [
modulus
size ]
|
RSA鍵ペアを生成します。 |
(注) 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
How many bits in the modulus [512]: 1024
Generating RSA keys.... [OK].
(注) 鍵ペアを生成したあとに、自己署名証明書を生成してSSLサービスをテストすることができます。テスト用の自己署名証明書を生成するには、「自己署名証明書の生成」を参照してください。
信頼点の宣言
証明書ごとに、モジュールで使用される信頼点を1つ宣言する必要があります。
モジュールが使用する信頼点を宣言し、信頼点の特性を指定するには、グローバル コンフィギュレーション モードから始めて次の作業を行います。
|
|
|
ステップ 1 |
ssl-proxy(config)#
crypto ca trustpoint
trustpoint-label
|
モジュールで使用する信頼点を宣言します。このコマンドをイネーブルにすると、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アドレスを指定します。 |
ステップ 5 |
ssl-proxy(ca-trustpoint)#
subject-name
line
|
(任意)プロキシ サービスのホスト名を設定します。 |
ステップ 6 |
ssl-proxy(ca-trustpoint)#
password
password
|
(任意)チャレンジ パスワードを設定します。 |
ステップ 7 |
ssl-proxy(ca-trustpoint)#
exit
|
ca-trustpointコンフィギュレーション モードを終了します。 |
次に、信頼点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# 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
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.
証明書の要求
信頼点ごとに、CAから署名付き証明書を取得する必要があります。
CAから署名付き証明書を要求するには、グローバル コンフィギュレーション モードで次の作業を行います。
|
|
ssl-proxy(config)#
crypto ca enroll
trustpoint-label
|
信頼点用の証明書を要求します。 |
(注) 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
信頼点を設定した後に、証明書および信頼点の情報を確認する場合は、「証明書および信頼点の確認」を参照してください。
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
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
subject-name CN=ste.cisco.com
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)# 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)# 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
*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): !
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)# 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
Loading win2k.crt from 10.1.1.2 (via Ethernet0/0.168): !
*Apr 15 12:02:33.535: %CRYPTO-6-CERTRET: Certificate received from Certificate Authority
次の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_filename ]
pass_phrase
|
PKCS12ファイルをインポートまたはエクスポートします。
(注) PKCS12ファイルをインポートする前に信頼点を設定する必要はありません。信頼点が未設定の場合は、PKCS12ファイルから鍵および証明書をインポートすると、信頼点が自動作成されます。
|
次に、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
Sending file modes:C0644 4379 TP2.p12
*Aug 22 12:30:00.531:%CRYPTO-6-PKCS12IMPORT_SUCCESS:PKCS #12 Successfully Imported.
次に、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
Writing TP1.p12 Writing pkcs12 file to scp://admin-1@10.1.1.1/TP1.p12
CRYPTO_PKI:Exported PKCS12 file successfully.
次に、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 !
次に、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.
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_phrase
,
|
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のカットアンドペーストを使用してエクスポートされる必要があります。
|
次に、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): !
% 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): !
% 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): !
% PEM files import succeeded.
*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!
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!
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
-----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)# 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):!
% 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):!
% 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):!
% PEM files import succeeded.
証明書情報の表示
ssl-proxy# show crypto ca certificates tp-proxy1
Certificate Serial Number:04A0147B00000000010E
Certificate Usage:General Purpose
OID.1.2.840.113549.1.9.2 = ssl-proxy.
http://sample.cisco.com/sub3ca.crl
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
Certificate Serial Number:6D1E6B0F000000000007
Certificate Usage:Signature
http://sample.cisco.com/subtest.crl
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
Certificate Serial Number:29A47DEF0000000004E9
Certificate Usage:Signature
CN = 6ebf9b3e-9a6d-4400-893c-dd85dcfe911b
http://sample.cisco.com/6ebf9b3e-9a6d-4400-893c-dd85dcfe911b.crl
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
Certificate Serial Number:7FD5B209B5C2448C47F77F140625D265
Certificate Usage:Signature
CN = 6ebf9b3e-9a6d-4400-893c-dd85dcfe911b
CN = 6ebf9b3e-9a6d-4400-893c-dd85dcfe911b
http://sample.cisco.com/6ebf9b3e-9a6d-4400-893c-dd85dcfe911b.crl
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 /all nvram:
|
NVRAM内のスタートアップ コンフィギュレーション、鍵ペア、証明書、およびその他のすべてのファイルを削除します。 |
(注) NVRAMに保存されているファイル数が多い場合は、この作業に最長で2分かかることがあります。
注意 保存された設定を削除する場合は、NVRAM内の自動バックアップ設定も削除されます。
鍵および証明書のバックアップ
鍵および証明書をNVRAMに保存するプロセスを中断する事象(停電など)が発生した場合は、保存中の鍵および証明書が失われることがあります。公開鍵および証明書はCAから取得できますが、秘密鍵は回復できません。
セキュアなサーバが使用可能な場合は、各信頼点をPKCS12ファイルにエクスポートして、鍵ペアおよび対応する証明書チェーンをバックアップすることができます。その後、PKCS12ファイルをインポートして、鍵および証明書を回復できます。
セキュリティに関する注意事項
鍵および証明書をバックアップする場合は、次の注意事項に従ってください。
• PKCS12ごとに、容易に推測できないパス フレーズを選択して、厳重に保護する必要があります。PKCS12ファイルをクリア テキスト形式で保存しないでください。
• バックアップ サーバはセキュアでなければなりません。権限を持つユーザにのみ、バックアップ サーバへのアクセスを許可します。
• PKCS12ファイル(そこにパス フレーズを入力します)のインポートまたはエクスポート時には、モジュール コンソールに直接接続するか、SSHセッションを使用します。
• ファイル転送にはSCPを使用します。
モジュールからの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# 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:
Serial Number:3C2CD2330001000000DB
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
次に、プロキシ サービスの信頼点を変更する例を示します。
(注) 接続を閉じない限り、既存の接続は古い証明書を使用し続けます。サービスの動作ステータスはアップからダウンに変わり、再度アップになります。新しい接続は、新しい証明書を使用します。
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# 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:
Serial Number:70FCBFEC000100000D65
Serial Number:313AD6510D25ABAE4626E96305511AC4
Obsolete certificate chain in use for old connections:
Serial Number:3C2CD2330001000000DB
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
証明書の更新
証明書を更新する場合、一部の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# 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
rsa-general-purpose certificate trustpoint:t2
Certificate chain in use for new connections:
Serial Number:1DFBB1FD000100000D48
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
次の例では、信頼点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
How many bits in the modulus [512]:1024
% Generating 1024 bit RSA keys ...[OK]
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
rsa-general-purpose certificate trustpoint:t2
Certificate chain in graceful rollover, being renewed:
Serial Number:1DFBB1FD000100000D48
Serial Number:313AD6510D25ABAE4626E96305511AC4
Server certificate in graceful rollover
次の例では、信頼点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
*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
rsa-general-purpose certificate trustpoint:t2
Certificate chain in use for new connections:
Serial Number:2475A2FC000100000D4D
Serial Number:313AD6510D25ABAE4626E96305511AC4
Obsolete certificate chain in use for old connections:
Serial Number:1DFBB1FD000100000D48
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
次の例では、既存の接続をすべて閉じた後に、不用になった証明書を削除します。
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
rsa-general-purpose certificate trustpoint:t2
Certificate chain in use for new connections:
Serial Number:2475A2FC000100000D4D
Serial Number:313AD6510D25ABAE4626E96305511AC4
Certificate chain complete
鍵および証明書の履歴のイネーブル化
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# 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
,,
]
|
SSLサービス モジュールがプロキシとして機能する仮想サーバのIPアドレス、トランスポート プロトコル(TCP)およびポート番号を定義します。 |
ステップ 3 |
ssl-proxy(config-ssl-proxy)# virtual policy tcp
tcp_policy_name
|
プロキシ サーバのクライアント側に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
|
信頼点の設定をプロキシ サーバに適用します 。
(注) 信頼点はCAサーバ、鍵パラメータと鍵生成方法、およびプロキシ サーバの証明書登録方法を定義します。信頼点の設定手順については、「信頼点の宣言」を参照してください。
|
ステップ 9 |
ssl-proxy(config-ssl-proxy)#
inservice
|
プロキシ サーバを管理上のアップに設定します。 |
次に、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
高度な設定
ここでは、次のような高度な設定について説明します。
• 「ポリシーの設定」
• 「NATの設定」
• 「暗号セルフテストのイネーブル化」
• 「クラッシュ情報の収集」
• 「VTSデバッグのイネーブル化」
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
]
|
エントリがセッション キャッシュ内に維持される時間を設定します。有効範囲は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)。
|
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バイトです。
|
ステップ 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バイトです。 |
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# show ssl-proxy stats crypto
Crypto Statistics from SSL Module:1
Current device index is 1
Time interval between tests is 1 seconds
---------------------------------------------------------
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
---------------------------------------------------------
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:
Request buffer received:0
Response buffer received:28
Response with error reported by SSL Processor:0
Response with no request:0
Key Certificate Table Current Usage (cannot be cleared):
Total number of entries in table:8192
Complete server entries:5
Incomplete new/renew server entries:1
Retiring server entries:0
Obsolete server entries:0
Complete intermediate CA cert:0
Obsolete intermediate CA cert:0
PKI Accumulative Counters (cannot be cleared):
Proxy service trustpoint added:7
Proxy service trustpoint deleted:1
Proxy service trustpoint modified:0
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
History records written:4
History records currently kept in memory:4
History records have been cleared:0 times
クラッシュ情報の収集
クラッシュ情報機能は、ソフトウェア強制リセット問題を修正する開発者に必要な情報を収集します。ソフトウェア強制リセット情報を収集するには、 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] ----------------------
++++++++++ CORE 0 (FDU) ++++++++++++++++++++++
APPLICATION VERSION:2003.04.15 14:50:20 built for cantuc
APPROXIMATE TIME WHEN CRASH HAPPENED:14:06:04 UTC Apr 16 2003
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 -----------------------------
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 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# show ssl-proxy module 8 state
SSL-proxy module 8 data-port:
Administrative 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)
Pruning VLANs Enabled:2-1001
Vlans allowed and active in management domain:3
Vlans in spanning tree forwarding state and not pruned:
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
-------- ---------------------------------------------------------------------
Port Vlans allowed and active in management domain
-------- ---------------------------------------------------------------------
Port Vlans in spanning tree forwarding state and not pruned
-------- ---------------------------------------------------------------------
アクセス リストおよびルート マップの設定
次に、クライアントからSSLサービス モジュールにSSLトラフィックをリダイレクトするように、および実サーバからSSLサービス モジュールにクリア テキスト トラフィックをリダイレクトするように、アクセス リストおよびルート マップを設定する例を示します。
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
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)# interface Vlan3
Router(config-if)# ip address 3.100.100.100 255.0.0.0
Router(config-if)# ip policy route-map reverse_traffic
テスト用証明書のインポート
次に、テスト用証明書をインポートする例を示します。信頼点を設定したり、証明書を取得したりする方法については、「鍵および証明書の設定」を参照してください。
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
*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プロキシ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プロキシ サービスの設定
次に、プロキシごとに仮想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プロキシ サービスおよび接続を確認する例を示します。
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:
Certificate chain complete
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
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
103 10.20.102.2 255.255.255.0 SERVER
--------------------------------
10.20.102.1 255.255.255.0
105 10.20.105.2 255.255.255.0 SERVER
--------------------------------
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
server farm = SSLFARM, backup = <not assigned>
sticky: timer = 30, subnet = 0.0.0.0, group id = 100
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
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
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
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
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
次に、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:
Certificate chain complete
ssl-proxy# show ssl-proxy stats
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
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
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
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
--------------------------------
10.20.102.1 255.255.255.0
103 10.20.103.2 255.255.255.0 SERVER
--------------------------------
10.20.103.1 255.255.255.0
105 10.20.105.2 255.255.255.0 SERVER
--------------------------------
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
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
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
server farm = WEBSERVERS, backup = <not assigned>
sticky: timer = 0, subnet = 0.0.0.0, group id = 0
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
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
server farm = SSLFARM, backup = <not assigned>
sticky: timer = 30, subnet = 0.0.0.0, group id = 100
Policy Tot Conn Client pkts Server pkts
-----------------------------------------------------
次に、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:
Certificate chain complete
ssl-proxy# show ssl-proxy stats
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
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
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