Cisco Application Control Engine モジュール SSL コンフィギュレーション ガイド Software Version A3(1.0)
SSL 開始の設定
SSL 開始の設定
発行日;2012/02/06 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 2MB) | フィードバック

目次

SSL 開始の設定

SSL 開始の概要

SSL 開始の設定に関する前提条件

SSL 開始設定のクイック スタート

SSL パラメータ マップの作成と定義

暗号スイートの追加

失効したサーバ証明書または無効なサーバ証明書の無視

クローズ プロトコルの動作の設定

SSL と TLS のバージョンの定義

SSL セッション キャッシュ タイムアウトの設定

SSL プロキシ サービスの作成と定義

SSL パラメータ マップと SSL プロキシ クライアント サービスの関連付け

サーバ認証での認証グループの使用

SSL 開始用のレイヤ 7 クラス マップの作成

SSL 開始用のレイヤ 7 ポリシー マップの作成

レイヤ 7 ポリシー マップの作成

レイヤ 7 クラス マップとレイヤ 7 ポリシー マップの関連付け

レイヤ 7 SLB ポリシー アクションの指定

SSL 開始用のレイヤ 3 およびレイヤ 4 クラス マップの作成

SSL 開始用のレイヤ 3 およびレイヤ 4 ポリシー マップの作成

レイヤ 3 およびレイヤ 4 ポリシー マップの作成

レイヤ 3 およびレイヤ 4 クラス マップとポリシー マップの関連付け

レイヤ 7 ポリシー マップとクラス マップの関連付け

ポリシー マップの VLAN への適用

ポリシー マップのグローバル適用

特定の VLAN へのポリシー マップの適用

SSL 開始の設定例

SSL 開始の設定

この章では、Cisco 4700 シリーズ Application Control Engine(ACE)Applianceのコンテキストを SSL 開始用の SSL クライアントとして設定するために必要な手順について説明します。

この章の主な内容は、次のとおりです。

SSL 開始の概要

ACE SSL 開始の設定に関する前提条件

SSL 開始設定のクイック スタート

SSL パラメータ マップの作成と定義

SSL プロキシ サービスの作成と定義

SSL 開始用のレイヤ 7 クラス マップの作成

SSL 開始用のレイヤ 7 ポリシー マップの作成

SSL 開始用のレイヤ 3 およびレイヤ 4 クラス マップの作成

SSL 開始用のレイヤ 3 およびレイヤ 4 ポリシー マップの作成

ポリシー マップの VLAN への適用

SSL 開始の設定例

SSL 開始の概要

SSL 開始とは、SSL プロキシ クライアントとして動作する ACE が、SSL サーバとの間の接続を開始して維持することを指します。この特定のアプリケーションでは、ACE が HTTP クライアントからクリア テキストを受信し、データを暗号化し、SSL サーバに暗号文として送信します。逆方向では、ACE が SSL サーバから受信した暗号文を復号化し、データをクライアントにクリア テキストとして送信します。

図4-1 は、次のネットワーク接続を示しています。この接続では、ACE が SSL サーバとの SSL 接続を開始します。

クライアントと ACE ― ACE とクライアントとの間の HTTP 接続

ACE とサーバ ― SSL プロキシ クライアントとして動作する ACE とサーバ間の SSL 接続

図4-1 SSL サーバによる SSL 開始

 

SSL 開始を使用すると、サイト内のデバイス間でクリア テキストを最高速度で送信し、さらにインターネットを介してサイト間または SSL サーバへ暗号文を最高のセキュリティで送信できます。クリア テキスト接続から SSL サーバまたはACE (SSL プロキシ サーバとして動作)が SSL 接続を確立する場合は、SSL 開始ポリシー サービスを ACE 上で設定する必要があります。ACE は、SSL サーバまたは別の ACE をマップします。

図4-2 は、SSL 終了が設定された別の ACE との SSL 開始フローを示しています。この場合、ACE B が仮想フロントエンド SSL サーバとして動作します。

図4-2 SSL 終了を実行する第 2 の ACE との SSL 開始

 

ACE は、パラメータ マップ、SSL プロキシ サービス、およびクラス マップを組み合わせることにより、クライアント、ACE、および SSL サーバ間の情報フローのポリシー マップを確立します。SSL 開始を実行するには、ACE を、SSL サーバが SSL クライアントとして認識するように設定します。設定を確立するには、次のタイプのポリシー マップを設定します。

レイヤ 7 ポリシー マップ ― このポリシー マップには、レイヤ 7 クラス マップおよび SSL プロキシ クライアント サービスとのアソシエーションが含まれます。クラス マップはトラフィック フィルタとして作用し、ユーザが指定したサーバ ロード バランシング(SLB)基準に一致するトラフィックを検出します。SSL 開始の場合は、この一致基準を HTTP ロード バランシング アトリビュート(HTTP Cookie または URL など)の形式で指定します。SSL プロキシ クライアント サービスは、ACE がハンドシェイクおよび後続の SSL セッションで使用する SSL パラメータを定義します。

レイヤ 3 およびレイヤ 4 ポリシー マップ ― レイヤ 7 ポリシー マップを、レイヤ 3 およびレイヤ 4 ポリシー マップに関連付けます。ACE は、レイヤ 3 およびレイヤ 4 ポリシー マップをコンテキスト トラフィックに適用し、そのトラフィックに特定のレイヤ 3 およびレイヤ 4 の一致基準(特定の宛先、送信元、または仮想 IP アドレスなど)が含まれていないかどうかを最初に判別します。作成するレイヤ 3 およびレイヤ 4 クラス マップに一致基準を指定し、このポリシー マップに関連付けます。一致が見つかった場合、ACE は関連するレイヤ 7 ポリシー マップをトラフィックに適用します。

図4-3 に、ACE が SSL 開始に使用する 2 タイプのポリシー マップの作成および適用に必要なプロセスの概要を示します。この図では、ポリシー マップ設定の各種コンポーネントを相互に関連付ける方法も示しています。

図4-3 SSL 開始の基本的な設定フロー

 

ACE SSL 開始の設定に関する前提条件

ACE に SSL 動作を設定する前に、まず ACE にサーバ ロード バランシング(SLB)を設定する必要があります。SLB 設定プロセスでは、次の設定オブジェクトを作成します。

レイヤ 7 クラス マップ

レイヤ 3 およびレイヤ 4 クラス マップ

レイヤ 7 ポリシー マップ

レイヤ 3 およびレイヤ 4 ポリシー マップ

SLB を設定したあと、このマニュアルに記載されている SSL 開始用の SSL 設定要件に基づいて既存の SLB クラス マップおよびポリシー マップを修正します。

ACE の SLB 設定手順については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。

SSL 開始設定のクイック スタート

図4-1 は、ACE に SSL 開始を設定するために必要なステップの概要です。各手順には、その作業を完了するために必要な CLI コマンドまたは手順の参照箇所が示されています。各機能の詳細な説明および各 CLI コマンドに関連付けられているすべてのオプションについては、 表4-1 以降のセクションを参照してください。


) このクイック スタートには、図4-3 に示されているパラメータ マップを作成する手順は含まれていません。ACE は、表4-2 に示されているパラメータ マップのデフォルト値を使用します。


 

表4-1 SSL 開始設定のクイック スタート

作業およびコマンド例

1. 複数のコンテキストを使用している場合は、CLI プロンプトをよく見て、目的のコンテキストで動作していることを確認します。必要な場合は、適切なコンテキストに直接ログイン(変更)してください。

host1/Admin# changeto C1
host1/C1#
 

この表の以降の例では、Admin コンテキストが使用されています。コンテキスト作成に関する詳細は、『 Cisco 4700 Series Application Control Engine Appliance Virtualization Configuration Guide 』を参照してください。

2. コンフィギュレーション モードを開始します。

host1/Admin# config
host1/Admin(config)#

3. レイヤ 7 ポリシー マップに関連付ける SSL プロキシ クライアント サービスを作成します。このクイック スタートでは、プロキシ クライアント サービスのパラメータは定義しません。ACE が SSL クライアントとして動作するように設定する場合は、この汎用的なプロキシ クライアント サービスをポリシー マップに関連付けるだけです。

host1/Admin(config)# ssl-proxy service SSL_PSERVICE_CLIENT
host1/Admin(config-ssl-proxy)# exit

4. レイヤ 7 クラス マップを作成し、必要なロード バランシングの一致基準を設定します。

host1/Admin(config)# class-map type http loadbalance L7SLBCLASS
host1/Admin(config-cmap-http-lb)# match url XYZ.ORG
host1/Admin(config-cmap-http-lb)# exit
host1/Admin(config)#

5. レイヤ 3 およびレイヤ 4 クラス マップを作成し、必要な入力トラフィックの一致基準を設定します。

host1/Admin(config)# class-map match-any L4VIPCLASS
host1/Admin(config-cmap)# match virtual-address 192.168.12.2 255.255.255.0
host1/Admin(config-cmap)# exit
host1/Admin(config)#

6. レイヤ 7 ポリシー マップを作成し、ステップ 4 で作成したレイヤ 7 クラス マップに関連付けます。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)#

7. ステップ 3 で作成した SSL プロキシ クライアント サービスをレイヤ 7 ポリシー マップに関連付けます。

host1/Admin(config-pmap-lb-c)# ssl-proxy client SSL_PSERVICE_CLIENT
host1/Admin(config-pmap-lb-c)# exit
host1/Admin(config-pmap-lb)# exit
host1/Admin(config)#

8. レイヤ 3 およびレイヤ 4 ポリシー マップを作成し、ステップ 5 で作成したレイヤ 3 およびレイヤ 4 クラス マップに関連付けます。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class CLASSMAP_L3
host1/Admin(config-pmap-c)#

9. ステップ 6 で作成したロード バランシング レイヤ 7 ポリシー マップを、レイヤ 3 およびレイヤ 4 ポリシー マップに関連付けます。

host1/Admin(config-pmap-c)# loadbalance L7SLBPOLICY
host1/Admin(config-pmap-c)# exit
host1/Admin(config-pmap)# exit
host1/Admin(config)#

10. レイヤ 3 およびレイヤ 4 ポリシー マップを、希望するインターフェイスの入力トラフィックに次のように適用します。

ポリシー マップをコンテキスト内のすべての VLAN に対してグローバルに適用します。

host1/Admin(config)# service-policy input L4SLBPOLICY
 

ポリシー マップをコンテキスト内の特定の VLAN に適用します。

host1/Admin(config)# interface vlan 50
host1/Admin(config-if)# service-policy input L4SLBPOLICY

11. 実行コンフィギュレーションを表示し、追加した情報が正しく設定されているかどうかを確認します。

host1/Admin(config-if)# do show running-config

12. (任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーすることにより、設定変更をフラッシュ メモリに保存します。

host1/Admin(config-if)# do copy running-config startup-config

SSL パラメータ マップの作成と定義

SSL パラメータ マップには、ACE が SSL プロキシ サービスに適用する SSL セッション パラメータを定義します。SSL パラメータ マップを作成すると、同じ SSL セッション パラメータを異なるプロキシ サービスに適用できるようになります。 表4-2 に各 SSL セッション パラメータとそのデフォルト値を示します。

 

表4-2 SSL パラメータ マップの SSL セッション パラメータ

SSL セッション
パラメータ
説明
デフォルト値

暗号スイート

ACE が SSL ハンドシェイク時にサポートする暗号スイートを定義します(ACE がサポートする使用可能な暗号スイートの一覧は 表4-3 を参照)。

ACE は、使用可能な暗号スイートをすべてサポートしています。

認証失敗の無視

ACE が、失効したサーバ証明書または無効なサーバ証明書を無視し、SSL 開始設定でのバックエンド接続の設定を継続できるようにします。

ディセーブル

クローズ プロトコル

ACE による close-notify メッセージの実行方法を定義します。

none ― ACE はセッションをクローズするとき close-notify アラート メッセージをクライアント/サーバに送信しますが、クライアント/サーバからの応答の受信は待ちません。

バージョン

ACE が SSL ハンドシェイク時にサポートする SSL およびTLS のバージョンを定義します。

ACE は、バージョン SSL3 と TLS1 をサポートします。

セッション キャッシュ タイムアウト

ACE で、新しい SSL セッションを確立するための新しい SSL ハンドシェイクが必要になるまでの、SSL セッション ID が有効な時間を定義します。

ディセーブル


) SSL プロキシ サービスでデフォルトの SSL セッション パラメータ値を使用する場合は、SSL パラメータ マップを作成したり、それをプロキシ サービスに関連付けたりする必要はありません。パラメータ マップを SSL プロキシ サービスに関連付けない場合、ACE は、表4-2 にリストされたセッション パラメータのデフォルト値をプロキシ サービスに自動的に適用します。

パラメータ マップ SSL コンフィギュレーション モードには、queue-delay timeout コマンドが含まれます。キュー遅延は、ACE がクライアントに送信する暗号化データにのみ適用されます。そのため、ACE で処理する SSL 開始接続には、このタイマーは有効ではありません。


SSL パラメータ マップを作成するには、コンフィギュレーション モードで parameter-map type ssl コマンドを使用します。

このコマンドの構文は次のとおりです。

parameter-map type ssl parammap_name

parammap_name 引数は、SSL パラメータ マップの名前です。64 文字以内で、引用符やスペースを含めずに、英数字を入力します。

たとえば、SSL パラメータ マップ PARAMMAP_SSL を作成する場合は、次のように入力します。

host1/Admin(config)# parameter-map type ssl PARAMMAP_SSL
 

SSL プロキシ パラメータ マップを作成すると、CLI はパラメータ マップ SSL コンフィギュレーション モードになります。

host1/Admin(config-parammap-ssl)#
 

SSL セッション パラメータを何も定義せずにパラメータ マップ SSL コンフィギュレーション モードを終了した場合、ACE は 表4-2 に示されているデフォルト値をパラメータ マップに設定します。

既存の SSL パラメータ マップを削除するには、次のように入力します。

host1/Admin(config)# no parameter-map type ssl PARAMMAP_SSL

ここで説明する内容は、次のとおりです。

暗号スイートの追加

失効したサーバ証明書または無効なサーバ証明書の無視

失効したサーバ証明書または無効なサーバ証明書の無視

SSL と TLS のバージョンの定義

SSL セッション キャッシュ タイムアウトの設定

暗号スイートの追加

SSL プロトコルは、次のような動作用に、さまざまな暗号アルゴリズム(暗号文)をサポートしています。

サーバとクライアントの相互認証

証明書の送信

セッション キーの確立

クライアントとサーバがサポートする暗号スイート(暗号文のセット)は、サポートする SSL バージョン、許容できる暗号強度に関する企業ポリシー、SSL 対応ソフトウェアの輸出に対する政府規制など、さまざまな要因によって異なる可能性があります。特に SSL ハンドシェイク プロトコルは、サーバとクライアントが相互認証、証明書の送信、セッション キーの確立に使用する暗号スイートのネゴシエーション方法を決定します。

図4-4 に示されているとおり、暗号スイートは、鍵交換アルゴリズム、データ暗号化アルゴリズム、メッセージ認証(ハッシュ)アルゴリズムという 3 つのアルゴリズムで構成されています。

図4-4 暗号スイート アルゴリズム

 


) 輸出可能な暗号スイートは、ソフトウェア製品に対する米国輸出規制に定義されているいくつかの暗号スイート(128 ビットの 3DES または RC4 暗号)よりも強度が劣る暗号スイートです。輸出可能な暗号スイートは、米国からほとんどの国への輸出が許可されており、輸出可能な製品に使用できる最強の暗号を提供します。


ACE がセキュア セッションでサポートさせる各暗号化スイートを定義するには、ssl パラメータ マップ コンフィギュレーション モードで cipher コマンドを使用します。適切な暗号スイートは、環境やセキュリティ要件によって異なり、ACE にロードした証明書やキーと相関させる必要があります。


) デフォルトでは、ACE は表4-3 に示されているすべての暗号スイートをサポートします。デフォルトの設定が機能するのは、SSL パラメータ マップに具体的な暗号を何も設定しない場合です。all cipher suites の値が使用されるように戻すには、このコマンドの no 形式を使用して、具体的に定義されている暗号をパラメータ マップから削除する必要があります。


このコマンドの構文は次のとおりです。

cipher cipher_name [priority cipher_priority ]

キーワードと引数は次のとおりです。

cipher_name ― ACE でサポートする暗号スイートの名前。ACE のサポート対象となっている暗号スイートについては、 表4-3 を参照してください。この表からサポート対象の暗号スイートを 1 つ入力します。

priority ― 暗号スイートにプライオリティ レベルを割り当てます。プライオリティ レベルは、暗号スイートの優先順位を表します。最も優先順位が高い値は 10、最も低い値は 1 です。デフォルトでは、設定されているすべての暗号スイートのプライオリティ レベルが 1 になります。使用する暗号スイートのネゴシエーション時に、ACE は、クライアント リストからプライオリティ レベルが最も高い暗号スイートを選択します。プライオリティ レベルが高いほど、暗号スイートとして指定されやすくなります。SSL 終了アプリケーションでは、ACE はクライアントの ClientHello ハンドシェイク メッセージ内の暗号スイートの照合にプライオリティ レベルを使用します。SSL 開始アプリケーションでは、プライオリティ レベルは、ACE がサーバへの ClientHello ハンドシェイク メッセージに暗号スイートを配置する順序を表します。

cipher_priority ― 暗号スイートのプライオリティ レベル。1 ~ 10 の範囲の値を入力します。デフォルトのプライオリティ値は 1 です。

たとえば、暗号スイート rsa_with_aes_128_cbc_sha を追加し、この暗号スイートにプライオリティ レベル 2 を割り当てるには、次のように入力します。

host1/Admin(config)# parameter-map type ssl PARAMMAP_SSL
host1/Admin(config-parammap-ssl)# cipher rsa_with_aes_128_cbc_sha priority 2
 

SSL パラメータ マップに設定する各暗号スイートに対して、 cipher コマンドを使用します。

SSL パラメータ マップから暗号スイートを削除するには、次のように入力します。

host1/Admin(config-parammap-ssl)# no cipher rsa_with_aes_128_cbc_sha
 

表4-3 は、ACE がサポートする使用可能な暗号スイートの一覧表です。この表は、ACE からの海外輸出が可能な暗号スイートがどれかわかるようになっています。この表には、各暗号スイートに必要な認証証明書と暗号鍵も示されています。

デフォルト設定(ACE が 表4-3 に記載されたすべての暗号スイートをサポートする)を使用する場合、ACE は暗号スイートをこの表と同じ順序(先頭は
RSA_WITH_RC4_128_MD5)でピアに送信します。


注意 タイトルに「export」がある暗号スイートは、米国外での使用を目的としたものであり、鍵のサイズが制限されている暗号アルゴリズムを持ちます。

 

表4-3 ACE がサポートしている SSL 暗号スイート

暗号スイート
エクスポート
可能かどうか
使用される認証証明書
使用される鍵交換アルゴリズム

RSA_WITH_RC4_128_MD5

不可

RSA 証明書

RSA 鍵交換

RSA_WITH_RC4_128_SHA

不可

RSA 証明書

RSA 鍵交換

RSA_WITH_DES_CBC_SHA

不可

RSA 証明書

RSA 鍵交換

RSA_WITH_3DES_EDE_CBC_SHA

不可

RSA 証明書

RSA 鍵交換

RSA_EXPORT_WITH_RC4_40_MD5

RSA 証明書

RSA 鍵交換

RSA_EXPORT_WITH_DES40_CBC_SHA

RSA 証明書

RSA 鍵交換

RSA_EXPORT1024_WITH_RC4_56_MD5

RSA 証明書

RSA 鍵交換

RSA_EXPORT1024_WITH_DES_CBC_SHA

RSA 証明書

RSA 鍵交換

RSA_EXPORT1024_WITH_RC4_56_SHA

RSA 証明書

RSA 鍵交換

RSA_WITH_AES_128_CBC_SHA

不可

RSA 証明書

RSA 鍵交換

RSA_WITH_AES_256_CBC_SHA

不可

RSA 証明書

RSA 鍵交換

失効したサーバ証明書または無効なサーバ証明書の無視

失効したサーバ証明書または無効なサーバ証明書を無視し、SSL 開始コンフィギュレーションの close-notify メッセージでバックエンド接続の設定を継続するように、ACE を有効化できます。それには、パラメータ マップ SSL コンフィギュレーション モードで authentication-failure ignore コマンドを使用します。このコマンドによって、ACE はサーバ証明書に関する次の非重大エラーを無視できるようになります。

証明書がまだ有効になっていない

証明書が失効した

発行元の証明書を取得できない

証明書が無効になった

このコマンドの構文は次のとおりです。

authentication-failure ignore

たとえば、失効したサーバ証明書または無効なサーバ証明書を無視するには、次のように入力します。

host1/Admin(config)# parameter-map type ssl SSL_PARAMMAP_SSL
host1/Admin(config-parammap-ssl)# authentication-failure ignore
 

デフォルト設定であるディセーブルに戻すには、このコマンドの no 形式を使用します。

host1/Admin(config-parammap-ssl)# no authentication-failure ignore

クローズ プロトコルの動作の設定

SSL パラメータ マップ コンフィギュレーション モードで close-protocol コマンドを使用すると、ACE による close-notify メッセージ送信の処理方法を設定できます。

このコマンドの構文は次のとおりです。

close-protocol { disabled | none }

キーワードは次のとおりです。

disabled ― ACE はセッション クローズ時に、クライアント/サーバに close-notify アラート メッセージを送信しません。クライアント/サーバからの応答の受信は待ちません。

none ― ACE はセッションをクローズするとき close-notify アラート メッセージをクライアント/サーバに送信しますが、クライアント/サーバからの応答の受信は待ちません。

たとえば、close-protocol を disabled に設定するには、次のように入力します。

host1/Admin(config)# parameter-map type ssl PARAMMAP_SSL
host1/Admin(config-parammap-ssl)# close-protocol disabled
 

close-protocol コマンドをデフォルトの設定にして、close-notify アラート メッセージをクライアント/サーバに送信するには、次のように入力します。

host1/Admin(config-parammap-ssl)# no close-protocol

SSL と TLS のバージョンの定義

パラメータ マップ SSL コンフィギュレーション モードで version コマンドを使用すると、ACE がピアとの SSL ハンドシェイク中にサポートするセキュリティ プロトコルのバージョンを指定できます。

このコマンドの構文は次のとおりです。

version {all | ssl3 | tls1}

キーワードは次のとおりです。

all ― (デフォルト)ACE は SSL バージョン 3.0 と TLS バージョン 1.0 の両方をサポートします。

ssl3 ― ACE は SSL バージョン 3.0 だけをサポートします。

tls1 ― ACE は TLS バージョン 1.0 だけをサポートします。

パラメータ マップに SSL バージョン 3.0 を指定する場合は、次のように入力します。

host1/Admin(config)# parameter-map type ssl PARAMMAP_SSL
host1/Admin(config-parammap-ssl)# version ssl3
 

SSL プロキシ パラメータ マップからセキュリティ プロトコル バージョンを削除するには、次のように入力します。

host1/Admin(config-parammap-ssl)# no version tlsl

SSL セッション キャッシュ タイムアウトの設定

クライアントと ACE が完全な SSL 鍵交換を行い、新しいマスター秘密鍵が生成されるたびに、SSL セッション ID が作成されます。クライアントと ACE 間の SSL ネゴシエーション プロセスを短縮するため、SSL セッション ID の再利用機能によって、ACE がセッション キャッシュの秘密鍵情報を再利用できます。次にクライアントに接続する際に、ACE は最後にネゴシエートされたセッションのキャッシュに格納された鍵を再利用します。

デフォルトでは、ACE でのSSL セッション ID の再利用はディセーブルになっています。セッション ID の再利用をイネーブルにするには、SSL セッション ID の有効期間の合計であるセッション キャッシュ タイムアウト値を設定します。タイムアウトになると、ACE で新しいセッションを確立する完全な SSL ハンドシェイクが必要になります。

パラメータ マップ SSL コンフィギュレーション モードで session-cache timeout コマンドを使用して、セッション キャッシュ タイムアウトを設定できます。このコマンドの構文は次のとおりです。

session-cache timeout seconds

seconds 引数は、セッション ID が削除されるまでに、ACE がキャッシュに格納された鍵を再利用する時間(秒)です。0 ~ 72000(20 時間)の整数値を入力します。デフォルトでは、セッション ID の再利用はディセーブルになっています。値を 0 にすると、キャッシュがいっぱいになったとき、ACE がキャッシュからセッション ID を削除して、Least-Recently Used(LRU)タイムアウト ポリシーを適用します。

たとえば、セッション キャッシュ タイムアウトを 600 秒に設定するには、次のように入力します。

host1/Admin(config-parammap-ssl)# session-cache timeout 600
 

タイマーをディセーブルにして、ACE と接続が確立されるたびに SSL フル ハンドシェイクを実行するには、次のように入力します。

host1/Admin(config-parammap-ssl)# no session-cache timeout
 

コンテキストのセッション キャッシュ情報をクリアするには、 clear crypto session-cache コマンドを使用します。このコマンドの構文は次のとおりです。

clear crypto session-cache [all]

all オプション キーワードは、全コンテキストのすべてのセッション キャッシュ情報をクリアします。このオプションは、Admin コンテキストでのみ利用できます。

SSL プロキシ サービスの作成と定義

SSL プロキシ サービスは、ACE が SSL ハンドシェイク時に使用する SSL パラメータ マップを定義します。SSL 開始を実行するには、ACE は SSL クライアントとして動作するので、ACE に SSL プロキシ クライアント サービスを設定します。


) SSL 開始設定で、鍵と証明書のインポートまたは関連付けの必要はありません。


SSL プロキシ サービスを作成するには、コンフィギュレーション モードで ssl-proxy service コマンドを使用します。

このコマンドの構文は次のとおりです。

ssl-proxy service pservice_name

pservice_name 引数は、SSL プロキシ クライアント サービスの名前です。64 文字以内で、引用符やスペースを含めずに、英数字を入力します。

たとえば、PSERVICE_CLIENT という名前の SSL プロキシ クライアント サービスを作成するには、次のように入力します。

host1/Admin(config)# ssl-proxy service PSERVICE_CLIENT
 

SSL プロキシ クライアント サービスを作成すると、CLI では SSL プロキシ コンフィギュレーション モードになります。

host1/Admin(config-ssl-proxy)#
 

既存の SSL プロキシ クライアント サービスを削除するには、次のコマンドを入力します。

host1/Admin(config)# no ssl-proxy PSERVICE_CLIENT
 

ここで説明する内容は、次のとおりです。

SSL パラメータ マップと SSL プロキシ クライアント サービスの関連付け

サーバ認証での認証グループの使用

SSL パラメータ マップと SSL プロキシ クライアント サービスの関連付け

SSL パラメータ マップを SSL プロキシ クライアント サービスと関連付けるには、SSL プロキシ コンフィギュレーション モードで ssl advanced-options コマンドを使用します。

このコマンドの構文は次のとおりです。

ssl advanced-options parammap_name

parammap_name 引数は、SSL パラメータ マップの名前です(「SSL パラメータ マップの作成と定義」を参照)。64 文字以内で、引用符やスペースを含めずに、英数字を入力します。

たとえば、パラメータ マップ PARAMMAP_SSL を SSL プロキシ サービスと関連付ける場合は、次のように入力します。

host1/Admin(config)# ssl-proxy service PSERVICE_CLIENT
host1/Admin(config-ssl-proxy)# ssl advanced-options PARAMMAP_SSL
 

SSL パラメータ マップと SSL プロキシ サービスの関連付けを削除するには、次のように入力します。

host1/Admin(config-ssl-proxy)# no ssl advanced-options PARAMMAP_SSL

サーバ認証での認証グループの使用

デフォルトでは、SSL 開始設定でサーバ認証は常にイネーブルとなっています。サーバは ACE に証明書を送信する必要があります。ACE は、失効していないことを確認して証明書を認証します。ただし、証明書が認可された CA によって署名されたかについては、ACE は確認しません。サーバ証明書が失効している場合、ACE は、リセット(RST)をサーバに送信することによってバックエンド接続を拒否します。失効していない場合、ACE は通常どおりサーバとの SSL 接続を設定します。

認証グループは、証明書の署名者として信頼できる証明書で構成されています(「証明書および鍵の管理」「認証の証明書グループの設定」を参照)。開始設定でグループを SSL プロキシ サーバに割り当てると、ACE はグループの証明書でサーバ証明書のチェックが可能になります。


) ACE は、SSL 開始およびサーバ認証で Certificate Revocation List(CRL; 証明書失効リスト)サポートしません。SSL 終了とクライアント認証における CRL の使用については、「SSL 終了の設定」を参照してください。


SSL プロキシ サービスでサーバ認証用に認証グループを使用するには、SSL プロキシ コンフィギュレーション モードで authgroup コマンドを使用します。 authgroup コマンドの構文は次のとおりです。

authgroup group_name

group_name 引数は、既存の証明書認証グループの名前です。64 文字以内で、引用符やスペースを含めずに、英数字を入力します。


) サーバ認証をイネーブルにすると、ACE のパフォーマンスが大幅に低下する場合があります。


たとえば、証明書認証グループ AUTH-CERT1 を指定するには、次のように入力します。

host1/Admin(config-ssl-proxy)# authgroup AUTH-CERT1
 

SSL プロキシ サービスから証明書認証グループを削除するには、次のように入力します。

host1/Admin(config-ssl-proxy)# no authgroup AUTH-CERT1

SSL 開始用のレイヤ 7 クラス マップの作成

ポリシー マップと関連付けるレイヤ 7 クラス マップは、指定するサーバ ロード バランシング(SLB)基準に一致するトラフィックのフィルタとして動作します。SSL 開始を実行するには、次の HTTP ロード バランシング アトリビュートの形式で一致基準を指定します。

Cookie

HTTP ヘッダー

URL

送信元 IP アドレス

レイヤ 7 クラス マップを作成するには、コンフィギュレーション モードで class-map type http loadbalance コマンドを使用します。レイヤ 7 クラス マップ設定の詳細については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。

SSL 開始用のレイヤ 7 ポリシー マップの作成

レイヤ 7 ポリシー マップによって、ACE 上でのサーバ ロード バランシングがイネーブルになります。このポリシー マップには、レイヤ 7 クラス マップと SSL プロキシ クライアント サービスとのアソシエーションが含まれます。レイヤ 7 SLB ポリシー マップを使用するには、最初にポリシー マップを作成し、次に match ステートメントとポリシー アクションを定義します。レイヤ 7 ポリシー マップは子ポリシーなので、レイヤ 7 ポリシー マップを適切なレイヤ 3 およびレイヤ 4 ポリシー マップに関連付け、レイヤ 7 SLB トラフィック分類のエントリ ポイントを提供する必要があります。レイヤ 7 ポリシー マップをインターフェイスに直接適用することはできません。コンテキスト内の特定のインターフェイス、またはグローバルに全インターフェイスに適用できるのは、レイヤ 3 およびレイヤ 4 のポリシー マップだけです。

ここで説明する内容は、次のとおりです。

レイヤ 7 ポリシー マップの作成

レイヤ 7 クラス マップとレイヤ 7 ポリシー マップの関連付け

レイヤ 7 SLB ポリシー アクションの指定

レイヤ 7 ポリシー マップの作成

レイヤ 7 SLB ポリシー マップを作成するには、コンフィギュレーション モードで policy-map コマンドを使用します。

このコマンドの構文は次のとおりです。

policy-map type loadbalance first-match map_name

キーワードと引数は次のとおりです。

type loadbalance ― ロード バランシング ポリシー マップを指定します。

first-match ― レイヤ 7 ロード バランシング ポリシー マップの実行を定義します。ACE は、最初に一致した分類に対してのみ、指定されたアクションを実行します。

map_name ― ポリシー マップに割り当てる識別子。64 文字以内で、引用符やスペースを含まない英数字を入力します。

たとえば、L7SLBPOLICY という名前のポリシー マップを作成するには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
 

レイヤ 7 ポリシー マップを作成すると、CLI ではポリシー マップ ロード バランシング コンフィギュレーション モードになります。

host1/Admin(config-pmap-lb)#
 

既存のポリシー マップを削除するには、次のように入力します。

host1/Admin(config)# no policy-map L7SLBPOLICY

レイヤ 7 クラス マップとレイヤ 7 ポリシー マップの関連付け

クラス マップとポリシー マップを関連付けるには、ポリシー マップ ロード バランシング コンフィギュレーション モードで class コマンドを使用します。

このコマンドの構文は次のとおりです。

class { name1 | class-default} [insert-before name2 ]

キーワード、引数、およびオプションは次のとおりです。

name1 ― トラフィック ポリシーにトラフィックを関連付けるため、以前に定義したトラフィック クラス( class-map コマンドで設定)の名前を指定します。64 文字以内で、引用符やスペースを含まない英数字を入力します。

class-default ― ACE で作成する、予約済みの well-known クラス マップ。このクラスをユーザ側で削除または修正することはできません。名前付きクラス マップ内の他の一致基準のどれとも一致しないトラフィックはすべて、このデフォルトのトラフィック クラスに属します。指定された分類でトラフィックに一致するものがない場合、ACE は class class-default コマンドで指定されたアクションを実行します。 class-default クラス マップには暗黙的な match any ステートメントがあり、すべてのトラフィックとの一致が可能です。

insert-before name2 ― (任意)現在のクラス マップを、ポリシーマップ コンフィギュレーションの name2 引数で指定した既存のクラス マップまたは match ステートメントの前に置きます。ACE は、シーケンスの変更を設定の一部分として保存しません。

たとえば、クラス マップ L7SLBCLASS をポリシー マップに関連付けるには、次のように入力します。

host1/Admin(config-pmap-lb)# class L7SLBCLASS
 

クラス マップをポリシー マップに関連付けると、CLI ではポリシー マップ ロード バランシング クラス コンフィギュレーション モードになります。

host1/Admin(config-pmap-lb-c)#
 

次に、 insert-before オプションを使用して、ポリシー マップ内でのクラス マップの位置を定義する例を示します。

host1/Admin(config-pmap-lb)# class L7SLBCLASS insert-before HTTP_CLASS
host1/Admin(config-pmap-lb-c)#
 

次に、 class class-default コマンドの使用例を示します。

host1/Admin(config-pmap-lb)# class class-default
host1/Admin(config-pmap-lb-c)#
 

クラス マップとポリシー マップのアソシエーションを削除するには、次のように入力します。

(config-pmap-lb)# no class L7SLBCLASS

レイヤ 7 SLB ポリシー アクションの指定

レイヤ 7 SLB クラス マップをレイヤ 7 SLB ポリシー マップに関連付けるか、インライン match コマンドを指定したあと、ネットワーク トラフィックがクラス マップまたはインライン match コマンドに一致した場合に ACE が実行する、次の 1 つまたは複数のアクションを指定する必要があります。

要求の廃棄

ロード バランシングを実行せずに要求を転送

HTTP ヘッダー情報のイネーブル化

サーバ ファームへのロード バランシングのイネーブル化

スティッキ サーバ ファームの設定

パケットの IP Differentiated Services Code Point(DSCP; DiffServ コード ポイント)の指定

SSL プロキシ サービスの関連付け

ここでは、SSL プロキシ サービスとポリシー マップの関連付けプロセスについて説明します。その他のポリシー アクションの詳しい設定手順については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。

SSL プロキシ クライアント サービスとポリシー マップを関連付けるには、ポリシー マップ ロード バランシング クラス コンフィギュレーション モードで ssl-proxy コマンドを使用します。

このコマンドの構文は次のとおりです。

ssl-proxy client name

name 引数は、既存の SSL プロキシ クライアント サービスの識別子です。64 文字以内で、引用符やスペースを含まない英数字を入力します。

たとえば、SSL クライアント プロキシ サービス PSERVICE_CLIENT とクラス マップを関連付けるには、次のように入力します。

host1/Admin(config)# policy-map type loadbalance first-match L7SLBPOLICY
host1/Admin(config-pmap-lb)# class L7SLBCLASS
host1/Admin(config-pmap-lb-c)# ssl-proxy client PSERVICE_CLIENT
 

SSL クライアント プロキシ サービスとクラス マップのアソシエーションを削除するには、次のように入力します。

host1/Admin(config-pmap-lb-c)# no ssl-proxy client PSERVICE_CLIENT

SSL 開始用のレイヤ 3 およびレイヤ 4 クラス マップの作成

レイヤ 3 およびレイヤ 4 ポリシー マップと関連付けるレイヤ 3 およびレイヤ 4 クラス マップは、指定した基準に一致するトラフィックのフィルタとして動作します。SSL 開始では、次の 1 つまたは複数のトラフィック特性に基づいて一致基準を定義できます。

アクセス リスト

仮想 IP アドレス

送信元 IP アドレスとサブネット マスク

宛先 IP アドレスとサブネット マスク

TCP/UDP ポート番号またはポート範囲

レイヤ 3 およびレイヤ 4 クラス マップを作成するには、コンフィギュレーション モードで class-map コマンドを使用します。レイヤ 3 およびレイヤ 4 クラス マップの作成および設定の詳細については、『 Cisco 4700 Series Application Control Engine Appliance Server Load-Balancing Configuration Guide 』を参照してください。

SSL 開始用のレイヤ 3 およびレイヤ 4 ポリシー マップの作成

SSL 開始用に作成するレイヤ 3 およびレイヤ 4 ポリシー マップには、ACE がロード バランシングに使用するレイヤ 7 ポリシー マップとのアソシエーションが含まれます。コンテキスト インターフェイスに直接適用できるのはレイヤ 3 およびレイヤ 4 ポリシー マップだけなので、レイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 ポリシー マップに関連付ける必要があります。

ここで説明する内容は、次のとおりです。

レイヤ 3 およびレイヤ 4 ポリシー マップの作成

レイヤ 3 およびレイヤ 4 クラス マップとポリシー マップの関連付け

レイヤ 7 ポリシー マップとクラス マップの関連付け

レイヤ 3 およびレイヤ 4 ポリシー マップの作成

レイヤ 3 およびレイヤ 4 ポリシー マップを作成するには、コンフィギュレーション モードで policy-map コマンドを使用します。

このコマンドの構文は次のとおりです。

policy-map multi-match policy_name

policy_name 引数は、ポリシー マップに割り当てる名前です。64 文字以内で、引用符やスペースを含まない英数字を入力します。

たとえば、L4SLBPOLICY という名前のポリシー マップを作成するには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
 

ポリシー マップを作成すると、CLI はポリシー マップ コンフィギュレーション モードになります。

host1/Admin(config-pmap)#
 

既存のポリシー マップを削除するには、次のように入力します。

host1/Admin(config)# no policy-map L4SLBPOLICY

SSL クラス マップとポリシー マップの関連付けについては、「レイヤ 7 クラス マップとレイヤ 7 ポリシー マップの関連付け」を参照してください。

レイヤ 3 およびレイヤ 4 クラス マップとポリシー マップの関連付け

レイヤ 3 およびレイヤ 4 クラス マップとポリシー マップを関連付けるには、ポリシー マップ コンフィギュレーション モードで class コマンドを使用します。

このコマンドの構文は次のとおりです。

class class-map

class-map 引数は、既存のクラス マップの名前です。64 文字以内で、引用符やスペースを含まない英数字を入力します。

たとえば、クラス マップ L4SLBCLASS をポリシー マップに関連付けるには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class L4SLBCLASS
 

クラス マップをポリシー マップに関連付けると、CLI はポリシー マップ クラス コンフィギュレーション モードになります。

host1/Admin(config-pmap-c)#
 

ポリシー マップとクラス マップの関連付けを削除するには、次のように入力します。

host1/Admin(config-pmap)# no class L4SLBCLASS

レイヤ 7 ポリシー マップとクラス マップの関連付け

レイヤ 7 ポリシー マップをレイヤ 3 およびレイヤ 4 クラス マップに関連付けるには、ポリシー マップ クラス コンフィギュレーション モードで loadbalance コマンドを使用します。このアソシエーションにより、ACE がトラフィックに直接適用するレイヤ 3 およびレイヤ 4 ポリシー マップに、レイヤ 7 ポリシー マップがネストされます。

このコマンドの構文は次のとおりです。

loadbalance policy policymap

policy policymap キーワードと引数は、既存のレイヤ 7 ポリシー マップの名前を指定します。64 文字以内で、引用符やスペースを含めずに、英数字を入力します。

たとえば、レイヤ 7 ポリシー マップ L7SLBPOLICY をクラス マップに関連付けるには、次のように入力します。

host1/Admin(config)# policy-map multi-match L4SLBPOLICY
host1/Admin(config-pmap)# class L4SLBCLASS
host1/Admin(config-pmap-c)# loadbalance policy L7SLBPOLICY
 

レイヤ 7 ポリシー マップとクラス マップのアソシエーションを削除するには、次のように入力します。

host1/Admin(config-pmap-c)# no loadbalance policy L7SLBPOLICY

ポリシー マップの VLAN への適用

ここでは、レイヤ 3 およびレイヤ 4 ポリシー マップを VLAN トラフィックに適用する方法について説明します。ACE を使用すると、現在のコンテキスト内のすべての VLAN にグローバルにポリシーを適用することも、また、コンテキスト内の特定の VLAN にポリシーを適用することもできます。

ここで説明する内容は、次のとおりです。

ポリシー マップのグローバル適用

特定の VLAN へのポリシー マップの適用

ポリシー マップのグローバル適用

コンテキスト内のすべての VLAN に対してグローバルにポリシー マップを適用するには、コンフィギュレーション モードで service-policy コマンドを使用します。

このコマンドの構文は次のとおりです。

service-policy input policy_name

policy_name 引数は、既存のポリシー マップの名前です。64 文字以内で、引用符やスペースを含まない英数字を入力します。

たとえば、コンテキスト内のすべての VLAN にポリシー マップ L4SLBPOLICY を適用するには、次のように入力します。

host1/Admin(config)# service-policy input L4SLBPOLICY
 

すべての VLAN からグローバルにポリシー マップを削除するには、次のように入力します。

host1/Admin(config)# no service-policy input L4SLBPOLICY

特定の VLAN へのポリシー マップの適用

特定の VLAN インターフェイスにポリシー マップを適用するには、コンフィギュレーション モードで interface コマンドを使用して、インターフェイス コンフィギュレーション モードを開始します。

このコマンドの構文は次のとおりです。

interface vlan vlan

vlan 引数はコンテキストの VLAN 番号です。2 ~ 4094 の整数値を入力します。

たとえば、VLAN 10 のインターフェイス コンフィギュレーション モードを開始するには、次のように入力します。

host1/Admin(config)# interface vlan 10
host1/Admin(config-if)#
 

ポリシー マップをインターフェイスに適用するには、インターフェイス コンフィギュレーション モードで service-policy コマンドを使用します。

このコマンドの構文は次のとおりです。

service-policy input policy-name

policy-name 引数は、既存のポリシー マップの名前です。64 文字以内で、引用符やスペースを含まない英数字を入力します。

たとえば、ポリシー マップ L4SLBPOLICY を VLAN 10 に適用するには、次のように入力します。

host1/Admin(config)# interface vlan 10
host1/Admin(config-if)# service-policy input L4SLBPOLICY
 

インターフェイスからポリシーを削除するには、次のように入力します。

host1/Admin(config-if)# no service-policy input L4SLBPOLICY
 

SSL 開始の設定例

次の例は、SSL プロキシ クライアントとして動作し、SSL サーバとの SSL 接続の開始と維持を行う ACE の実行コンフィギュレーションを示しています。ACE は HTTP クライアントからクリア テキストを受信し、データを暗号化し、SSL サーバに暗号文として送信します。逆方向では、ACE は SSL サーバから受信した暗号文を復号化し、データをクライアントにクリア テキストとして送信します。この例では、SSL 開始の設定を太字で示しています。

access-list ACL1 line 10 extended permit ip any any
 
probe http GEN-HTTP
port 80
interval 50
faildetect 5
expect status 200 200
 
serverfarm host SFARM1
description SERVER FARM 1 FOR SSL INITIATION
probe GEN_HTTP
rserver SERVER1 443
inservice
rserver SERVER2 443
inservice
rserver SERVER3 443
inservice
rserver SERVER4 443
inservice
 
serverfarm host SFARM2
description SERVER FARM 2 FOR SSL TERMINATION
probe GEN_HTTP
rserver SERVER5 443
inservice
rserver SERVER6 443
inservice
rserver SERVER7 443
inservice
rserver SERVER8 443
inservice
 
parameter-map type http PARAMMAP_HTTP
server-conn reuse
case-insensitive
persistence-rebalance
parameter-map type ssl PARAMMAP_SSL_INITIATION
cipher RSA_WITH_RC4_128_MD5
cipher RSA_WITH_RC4_128_SHA
cipher RSA_WITH_DES_CBC_SHA
cipher RSA_WITH_3DES_EDE_CBC_SHA
cipher RSA_WITH_AES_128_CBC_SHA
cipher RSA_WITH_AES_256_CBC_SHA
cipher RSA_EXPORT_WITH_RC4_40_MD5
cipher RSA_EXPORT1024_WITH_RC4_56_MD5
cipher RSA_EXPORT_WITH_DES40_CBC_SHA
cipher RSA_EXPORT1024_WITH_DES_CBC_SHA
cipher RSA_EXPORT1024_WITH_RC4_56_SHA
version all
parameter-map type connection TCP_PARAM
syn-data drop
exceed-mss allow
 
ssl-proxy service SSL_PSRVICE_CLIENT
ssl advanced-options PARAMMAP_SSL_INITIATION
class-map type http loadbalance match-all L7_SERVER_CLASS
description Sticky for SSL Testing
2 match http url .*.jpg
3 match source-address 192.168.130.0 255.255.255.0
class-map type http loadbalance match-all L7_SLB-HTTP_CLASS
2 match http url .*
3 match source-address 192.168.130.0 255.255.255.0
class-map match-all L4_SSL-INIT_CLASS
description SSL Initiation VIP
2 match virtual-address 192.168.130.12 tcp eq www
policy-map type loadbalance first-match L7_SSL-INIT_POLICY
class L7_SERVER_CLASS
serverfarm SFARM1
insert-http SRC_IP header-value "%is"
insert-http I_AM header-value "SSL_INIT"
insert-http SRC_Port header-value "%ps"
insert-http DEST_IP header-value "%id"
insert-http DEST_Port header-value "%pd"
ssl-proxy client SSL_PSERVICE_CLIENT
class L7_SLB-HTTP_CLASS
serverfarm SFARM2
insert-http SRC_IP header-value "%is"
insert-http I_AM header-value "SSL_INIT"
insert-http DEST_Port header-value "%pd"
insert-http DEST_IP header-value "%id"
insert-http SRC_Port header-value "%ps"
ssl-proxy client SSL_PSERVICE_CLIENT
policy-map multi-match L4_SSL-VIP_POLICY
class L4_SSL-INIT_CLASS
loadbalance vip inservice
loadbalance policy L7_SSL-INIT_POLICY
loadbalance vip icmp-reply active
appl-parameter http advanced-options PARAMMAP_HTTP
connection advanced-options TCP_PARAM
 
interface vlan 120
description Upstream VLAN_120 - Clients and VIPs
ip address 192.168.120.1 255.255.255.0
fragment chain 20
fragment min-mtu 68
access-group input ACL1
nat-pool 1 192.168.120.70 192.168.120.80 netmask 255.255.255.0 pat
service-policy input L4_SSL-VIP_POLICY
no shutdown
ip route 10.1.0.0 255.255.255.0 192.168.120.254