アプリケーション ネットワーキング サービス : Cisco CSS 11500 シリーズ コンテンツ サービス スイッチ

CSS 11500 でのバックエンド SSL の設定例

2010 年 7 月 13 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 1 月 31 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      関連製品
      表記法
設定
      ネットワーク ダイアグラム
      設定
確認とトラブルシューティング
      確認とトラブルシューティングのコマンド例
      TAC サービス リクエストについて
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

Content Services Switch(CSS; コンテント サービス スイッチ)11500 は、内部 Secure Socket Layer(SSL)アクセラレーション モジュールに対応しています。このモジュールを使用して、クライアント トラフィックの暗号を解除して、ロード バランシングの決定を改善することができます(フロントエンド SSL/SSL 終端)。CSS を使用して SSL をサーバからオフロードすれば、サーバのパフォーマンスが大幅に向上し、バックエンド アプリケーションへのトラフィックの分散を改善することができます。CSS 11500 は SSL 終端接続を再暗号化して、暗号化したトラフィックをバックエンドの SSL サーバ(バックエンド SSL)に送信できます。これは、Cookie を使用してセッションの持続性を維持するなど、クライアントとサーバのセキュアな通信と高度なサーバ ロード バランシングが求められる環境に必要です。統合 SSL 機能により、CSS でコンテンツを意識した判断を下して、データが正しいアプリケーションに送られるようにし、一方でネットワーク全体でデータの暗号化を維持することができます。

このドキュメントでは、クライアントから CSS およびバックエンドの SSL サーバへの SSL トラフィックの流れについて説明します。このドキュメントでは、設定およびさまざまな実装シナリオについて説明します。



前提条件

要件

この設定を開始する前に、次の要件が満たされていることを確認してください。

  • Secure Socket Layer / Transport Layer Security(SSL/TLS)の基本概念

  • CSS の基本設定

  • 既存の SSL Web サーバの Web サーバ キーと証明書へのアクセス

  • サーバ上の SSL 設定を変更するための認証



使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • WebNS バージョン 7.20 ビルド 206

  • CSS 11506

  • VeriSign オンサイト証明書

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼動中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



関連製品

この設定は、次のバージョンのハードウェアとソフトウェアにも使用できます。

  • CSS 11501(SSL 搭載)または CSS 11503/506(CSS5-SSL-K9 SSL モジュール インストール済み)。

  • WebNS ソフトウェア バージョン 7.20 以上。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



設定

このセクションでは、このドキュメントで説明する機能の設定に必要な情報を提供します。

注:このドキュメントで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことをご了承ください。



ネットワーク ダイアグラム

このドキュメントでは、次のネットワーク構成を使用しています。

backend_ssl.jpg



設定

このドキュメントでは次の設定を使用しています。

  • CSS 11506 (NWS-5-9)

クライアントからのトラフィックは、入ってくるとコンテンツのフロント ルールを見つけます。このルールはポート 443 です。次に、このルールはサービス ssl_front へのトラフィックの負荷を分散します。さらに、このサービスが SSL プロキシ リストを参照します。

SSL プロキシ リストはクライアントとの SSL ネゴシエーションを定義し、CSS とクライアント間のセキュアな SSL セッションを確立します。この設定で使用する SSL プロキシ IP アドレス、秘密鍵、およびチェーン化された証明書または単一の証明書を定義します。また、見つけようとしているクリア テキストのコンテンツ ルールも定義します。

参照されるコンテンツ ルールは、コンテンツの背景にあります。このデータは現在クリア テキストなので、HTTP ヘッダーを見ることができます。サーバへのスティッキーネスを維持するために、Arrowpoint のクッキーを使用します。CSS は次に、クライアントが既にロード バランシングを受けている場合は Arrowpoint のクッキーに基づいて、まだロード バランシングを受けていない場合は基になるロード バランシング アルゴリズムに基づいて、ロード バランシングを決定します。このケースでは、スイッチはサービス backend1 にロード バランスされています。

そこで、要求はサービス backend1 に送信されます。このサービスは、ssl-accel-backend タイプとして設定されています。ここには物理サーバはありません。

SSL プロキシ リストが再度参照され、この設定からバックエンドサーバの設定を知ることができます。この設定は、フロント エンドでの SSL 復号化と非常によく似ていますが、逆方向です。クリア テキストを取得して、SSL に変換できます。また、クライアントの hello を使用するように暗号化を定義することもできます。

この要求は暗号化されて物理サーバに送信されます。

CSS 11506(NWS-5-9)

nws-5-2# sh run
 !Generated on 01/09/2004 01:16:00
 !Active version: sg0720206
 configure
 !*************************** GLOBAL ***************************
   cdp run 

 ssl associate rsakey privatekey myprivatekey 
 ssl associate cert certificate mynewcert.pem 


!--- Web サイトに使用する SSL 証明書とキー ファイルを定義します。 
!--- これらはクライアントから SSL モジュールへの接続用です。


 ip route 0.0.0.0 0.0.0.0 10.66.86.17 1 


 !************************* INTERFACE *************************
 interface 3/1
 bridge vlan 41 

 !************************** CIRCUIT **************************
 circuit VLAN1

 ip address 10.1.1.1 255.255.255.0

 circuit VLAN41

 ip address 10.66.86.29 255.255.255.240 

 !*********************** SSL PROXY LIST ***********************
 ssl-proxy-list my_secure_site 
 ssl-server 1 
 ssl-server 1 rsakey privatekey 
 ssl-server 1 rsacert certificate 
 ssl-server 1 cipher rsa-with-rc4-128-md5 10.1.1.10 81 
 ssl-server 1 vip address 10.66.86.28


!--- SSL サーバ設定。これはクライアントから SSL モジュールへの
!--- 接続用です。


 backend-server 10

 
!--- バックエンド SSL 設定。これらは CSS からバックエンド サーバへの 
!--- 接続のパラメータを指定します。 


 backend-server 10 ip address 10.1.1.20 
 backend-server 10 port 81 


!--- これはバックエンド サーバに先行するデータを暗号化するために使用される 
!--- クリア テキスト IP とポートを定義します。

 backend-server 10 server-ip 10.1.1.20 
 backend-server 10 server-port 8003


!--- これは物理サーバです。サーバ ポートが設定されていないので
!--- デフォルトの 443 が使用されます。


 backend-server 10 cipher rsa-export-with-rc4-40-md5 


!--- CSS はクライアントとして動作します。SSL ハンドシェイク クライアントの 
!--- hello パケット内のバックエンド サーバに表示する 
!--- SSL 暗号化の内容を指定します。


 backend-server 20 
 backend-server 20 ip address 10.1.1.21 
 backend-server 20 port 81 
 backend-server 20 server-ip 10.1.1.21 
 backend-server 20 server-port 8003
   backend-server 20 cipher rsa-export-with-rc4-40-md5 

 backend-server 30 
 backend-server 30 ip address 10.1.1.22 
 backend-server 30 port 81 
 backend-server 30 server-ip 10.1.1.22
 backend-server 30 server-port 8003 
 backend-server 30 cipher rsa-export-with-rc4-40-md5 
 active 

 !************************** SERVICE **************************

 service ssl_front 
 slot 6 
 type ssl-accel 
 keepalive type none 
 add ssl-proxy-list my_secure_site 
 active 

 service backend1 
 ip address 10.1.1.20 
 type ssl-accel-backend 
 port 81
 add ssl-proxy-list my_secure_site 
 keepalive port 8003 
 keepalive type ssl 
 protocol tcp 
 active 

 service backend2 
 ip address 10.1.1.21 
 type ssl-accel-backend 
 port 81
 keepalive port 8003 
 add ssl-proxy-list my_secure_site 
 keepalive type ssl 
 protocol tcp 
 active 

 service backend3 
 ip address 10.1.1.22 
 protocol tcp 
 port 81
 keepalive port 8003 
 keepalive type ssl 
 type ssl-accel-backend 
 add ssl-proxy-list my_secure_site 
 active 


 !*************************** OWNER ***************************
 owner my_secure_site

 content back 
 protocol tcp 
 port 81
 url "/*" 
 vip address 10.1.1.10 
 add service backend1 
 add service backend2 
 add service backend3 
 advanced-balance arrowpoint-cookie 
 active 

 content front 
 protocol tcp 
 vip address 10.66.86.28 
 application ssl 
 add service ssl_front 
 port 443 
 active 



確認とトラブルシューティング

このセクションでは、設定のトラブルシューティングに役立つ情報について説明します。左の列は、セッションのライフサイクルの一覧を示しています。右の列は、ライフサイクルの各部分の状態を確認するために使用できる show コマンドとツールの一覧を示しています。

論理ライフサイクル

コマンド/テクニック(下記の例)

クライアント

クライアント マシンからのスニファ トレース。TCP スリーウェイ ハンドシェイクおよび SSL クライアント hello およびサーバ hello を探します。

コンテンツ ルール(フロント)

show rule:アクティブなルールを探します。ルールの VIP アドレスを ping しようとします。ping には応答があるはずです。クライアント側で CSS に接続するリンク上でスニファ トレースを実行します。

ssl_front サービス

show service summary:サービスが機能していることを確認します。

show service ssl_front:サービスが機能しており、SSL プロキシ my_secure_site がリストされて機能していることを確認します。ローカル接続の合計が増加しているか確認します。

SSL プロキシ リスト my_secure_site

show ssl-proxy-list:状態が「Active」であることを確認します。

show ssl -proxy-list my_secure_site:設定情報を提供します。

show ssl statistics:エラーが増えていないことを確認します。下の例を参照してください。

show ssl flows:現在のフローを表示します。

コンテンツ ルール(バック)

show rule:「Active」なルールを探します。

backend1、backend2、backend3 サービス

show service summary:サービスが機能していることを確認します。

show service service name:1 つ以上のサービスが機能しており、SSL プロキシ my_secure_site がリストされてアクティブであることを確認します。ローカル接続の合計が増加しているか確認します。

SSL プロキシ リスト my_secure_site

show ssl-proxy-list:状態が「Active」であることを確認します。

show ssl -proxy-list my_secure_site:設定情報を提供します。

show ssl statistics:エラーが増えていないことを確認します。下の例を参照してください。

show ssl flows:現在のフローを表示します。

サーバ

クライアント マシンからのスニファ トレース。TCP スリーウェイ ハンドシェイクおよび SSL クライアント hello およびサーバ hello を探します。サーバが SSL 上でリスニングしているか確認します。Windows の場合、port netstat -a コマンドを発行し、Unix/Linux マシンの場合、netstat -l コマンドを発行します。




確認とトラブルシューティングのコマンド例

このセクションでは、上のライフサイクルで示したコマンドに関するトラブルシューティング情報および各コマンドの注意点を説明します。別の状態が表示される場合は、太字のセクションを確認してください。

show rule

      Name:                    back   Owner:          my_secure_site
      State:    Active   Type:                    HTTP
      Balance:          Round Robin   Failover:                  N/A
      Persistence:          Enabled   Param-Bypass:         Disabled
      Session Redundancy:  Disabled
      IP Redundancy:    Not Redundant
      L3:         10.1.1.10   

      !--- これらの行はルールの設定を示します。


      L4:         TCP/81
      Url:        /*          


      !--- これは、CSS が接続をスプーフィングするレイヤ 7 ルールを
      !--- 示しています。

      Redirect: ""
      TCP RST client if service unreachable: Disabled
      Rule Services:
       1: backend1-Alive 

      >>>>>>>>

      Name:                   front   Owner:          my_secure_site
      State:                 Active   Type:       SSL
      Balance:          Round Robin   Failover:                  N/A
      Persistence:          Enabled   Param-Bypass:         Disabled
      Session Redundancy:  Disabled
      IP Redundancy:    Not Redundant
      L3:         10.66.86.28  


      !--- これらの行はルールの設定を示します。

      L4:         TCP/443
      Url:                             


      !--- 設定がないので、これがレイヤ 4 ルールです。

      Redirect: ""
      TCP RST client if service unreachable:Disabled
      Rule Services:
       1: ssl_front-Alive 

show service summary

      Service Name                     State     Conn  Weight  Avg   State
                                                               Load  Transitions

      backend1                     Alive       0     1     2          9
      backend2                         Down          0      1    255            0
      backend3                         Down          0      1    255            0
      ssl_front                    Alive       0     1     2          4

sh service ssl_front

      Name:ssl_front         Index: 4     
        Type:Ssl-Accel        State:Alive
        Rule ( 0.0.0.0  ANY  ANY )
        Session Redundancy:Disabled
        SSL-Accel slot: 6    


      !--- これが SSL モジュールが取り付けられているポートであることを確認します。

      Session Cache Size: 10000 
      Redirect Domain:  
      Redirect String:  
      Keepalive:  (NONE   5   3   5 )
      Last Clearing of Stats Counters: 01/28/2004 22:29:34
      Mtu:                       1500        State Transitions:            4


      !--- 接続カウンタが増えます。

      Total Local Connections:   576         Total Backup Connections:     0
      Current Local Connections:     0           Current Backup Connections:   0
      Total Connections:         576         Max Connections:              65534
      Total Reused Conns:            0         
      Weight:                        1           Load:                         2
      DFP:                           Disable     

  
    SSL Proxy Lists:
       1: my_secure_site-Active

show ssl-proxy-list

      Ssl-Proxy-List Table Entries (1 Entries)
          1) Name:  my_secure_site
             State:  Active
       

    !--- SSL プロキシ リストを参照するサービスの数。これには 
    !--- バックエンド サービスも含まれます。

           Services Associated:  4  

show ssl-proxy-list my_secure_site

       - Ssl-proxy-list Entries for list my_secure_site -

       Number of SSL-Servers:  1 
          Ssl-Server 1 -
     
          Vip address: 10.66.86.28
          Vip port:  443
          RSA Certificate:certificate  
     

          !--- これは、SSL サイトに関連した証明書ファイルです。

          RSA Keypair:privatekey   
     

          !--- これは、SSL サイトに関連した秘密鍵ファイルです。

     DSA Certificate:  none
     DSA Keypair:      none
     DH Param:         none
     Session Cache Timeout:         300     SSL Version:  SSL and TLS
     Re-handshake Timeout:          0       Re-handshake Data:            0
     Virtual TCP Inactivity TO:     240     Server TCP Inactivity TO:     240
     Virtual TCP Syn Timeout:       30      Server TCP Syn Timeout:       30
     Virtual TCP Nagle Algorithm:   enable  Server TCP Nagle Algorithm:   enable
     TCP Receive Buffer:            32768   TCP Transmit Buffer:          65536
     SSL Shutdown Procedure:        normal 

     Cipher Suite(s)               Weight     Port     Server
     ---------------               ------     ----     ------
     rsa-with-rc4-128-md5         1      81     10.1.1.10

    

        !--- これは、クライアントの背景にあるサーバ SSL hello で使用される暗号化スイートです。
        !--- 復号化されたトラフィックのクリア テキスト IP アドレスとポートです。


         URL Rewrite Rule(s) - None
         
      Number of Ssl Proxy backend-servers:  3 
       Backend-server 10 -


     !--- これは、バックエンドサーバのクリア テキスト IP とポートです。

     
         IP address: 10.1.1.20
         Port:  81
     

     !--- これは、バックエンドサーバの SSL サーバ IP とポートです。

     
        Server IP address: 10.1.1.20
        Server port:  8003
         Session Cache Timeout:        300     SSL Version:  SSL and TLS
         Re-handshake Timeout:         0       Re-handshake Data:            0
         Virtual TCP Inactivity TO:    240     Server TCP Inactivity TO:     240
         Virtual TCP Syn Timeout:      30      Server TCP Syn Timeout:       30
         Virtual TCP Nagle Algorithm:  enable  Server TCP Nagle Algorithm:   enable
         TCP Receive Buffer:           32768   TCP Transmit Buffer:          65536

         Cipher Suite(s)               Weight    
         ---------------               ------    
         rsa-export-with-rc4-40-md5       1      

    
 
      !--- これは SSL サーバに対するクライアント hello で使用される暗号化スイートです。
      !--- この場合、SSL モジュールはトラフィックを暗号化し、クライアントとして 
      !--- 動作します。


       Backend-server 20 -
         IP address: 10.1.1.21
         Port:  81
         Server IP address: 10.1.1.21
         Server port:  8003
         Session Cache Timeout:        300     SSL Version:  SSL and TLS
         Re-handshake Timeout:         0       Re-handshake Data:            0
         Virtual TCP Inactivity TO:    240     Server TCP Inactivity TO:     240
         Virtual TCP Syn Timeout:      30      Server TCP Syn Timeout:       30
         Virtual TCP Nagle Algorithm:  enable  Server TCP Nagle Algorithm:   enable
         TCP Receive Buffer:           32768   TCP Transmit Buffer:          65536

         Cipher Suite(s)               Weight    
         ---------------               ------    
         rsa-export-with-rc4-40-md5       1      

       Backend-server 30 -
         IP address: 10.1.1.22
         Port:  81
         Server IP address: 10.1.1.22
         Server port:  8003
         Session Cache Timeout:        300     SSL Version:  SSL and TLS
         Re-handshake Timeout:         0       Re-handshake Data:            0
         Virtual TCP Inactivity TO:    240     Server TCP Inactivity TO:     240
         Virtual TCP Syn Timeout:      30      Server TCP Syn Timeout:       30
         Virtual TCP Nagle Algorithm:  enable  Server TCP Nagle Algorithm:   enable
         TCP Receive Buffer:           32768   TCP Transmit Buffer:          65536

         Cipher Suite(s)               Weight    
         ---------------               ------    
         rsa-export-with-rc4-40-md5       1      

show ssl statistics

        SSL Acceleration Statistics
        Component:SSL Proxy Server   Slot: 6
             Count        Description
        ---------------   -----------
            
                576   Handshake started for incoming SSL connections
                576   Handshake completed for incoming SSL connections


    !--- これらは、クライアントから SSL への接続の SSL ハンドシェイク統計情報です。

            
                560   Handshake started for outgoing SSL connections
                560   Handshake completed for outgoing SSL connections


    !--- これらは、CSS からバックエンド サーバへの SSL ハンドシェイク統計情報です。

             
                12   Active SSL flows high water mark


    !--- これは有効な SSL フローの最大数です。


        SSL Acceleration Statistics
        Component: Crypto   Slot: 6
             Count        Description
        ---------------   -----------
                     14   RSA Private
                      3   RSA Public
                      0   DH Shared
                      0   DH Public
                      0   DSA Sign
                      0   DSA Verify
                      0   SSL MAC
                  7,515   TLS HMAC
                      0   3DES
                  7,918   ARC4
                 69,876   HASH
              
                   0   RSA Private Failed
                   0   RSA Public Failed
                   0   DH Shared Failed
                   0   DH Public Failed
                   0   DSA Sign Failed
                   0   DSA Verify Failed
                   0   SSL MAC Failed
                   0   TLS HMAC Failed
                   0   3DES Failed
                   0   ARC4 Failed
                   0   HASH Failed
                   0   Hardware Device Not Found
                   0   Hardware Device Timed Out
                   0   Invalid Crypto Parameter
                   0   Hardware Device Failed
                   0   Hardware Device Busy
                   0   Out Of Resources
                   0   Cancelled -- Device Reset


    !--- この時点で、エラーを調査する必要があります。


        SSL Acceleration Statistics
        Component: SSL   Slot: 6
             Count        Description
        ---------------   -----------
                     14   RSA Private Decrypt calls
                      3   RSA Public Decrypt calls
                      0   DH Compute key calls
                      0   DH Generate key calls
                      0   DSA Verify calls
                      0   DSA Sign calls
                 34,220   MD5 raw hash calls
                 34,220   SHA1 raw hash calls
                      0   3-DES calls
                  7,918   RC4 calls
                      0   SSL MAC(MD5) calls
                      0   SSL MAC(SHA1) calls
                  7,515   TLS MAC(MD5) calls
                      0   TLS MAC(SHA1) calls
                      0   Level 2 Alerts Received
                    725   Level 1 Alerts Received
                      0   Level 2 Alerts Sent
                  1,134   Level 1 Alerts Sent
      
           1,200,211   SSL received bytes from TCP
           1,155,278   SSL transmitted bytes to TCP
           1,006,669   SSL received Application Data bytes
           1,970,856   SSL transmitted Application Data bytes
             124,497   SSL received non-application data bytes
             152,147   SSL transmitted non-application data bytes
  

    !--- これらは、SSL モジュールのトラフィック統計情報です。情報は増えています。

                      0   RSA Private Decrypt failures
                      0   MAC failures for packets received
                      0   Re-handshake TimerAlloc failed
                      0   Blocks SSL could not allocate
                      0   Dup Blocks SSL could not allocate
                      0   Too many blocks for Block2AccelFragmentArray
                      0   Too many blocks in a SSL message

show ssl flows

        SSL Acceleration Flows for slot 6
                Virtual  Port TCP Proxy Flows  Active SSL Flows  SSL Flows in Handshake
        ---------------  ---- ---------------  ----------------  ----------------------
    
         10.66.86.28   443            6               2                    0
           10.1.1.20    81            6               2                    0
              10.1.1.22    81               0                 0                       0
              10.1.1.21    81               0                 0                       0


    !--- これは、CSS 内の有効なフローの数です。これらは、負荷のほとんどないボックスでは 
    !--- あまり見られません。

show service backend1

    Name:backend1          Index: 1     
  
     Type: Ssl-Accel-Backend State: Alive
     Rule ( 10.1.1.20  TCP  81 )
      Session Redundancy: Disabled
      Redirect Domain:  
      Redirect String:  
      Keepalive: (SSL-8003   5   3   5 )
      Last Clearing of Stats Counters: 01/28/2004 22:29:34
      Mtu:                       1500        State Transitions:            9
      Total Local Connections:   689         Total Backup Connections:     0
      Current Local Connections: 0           Current Backup Connections:   0
      Total Connections:         689         Max Connections:              65534
      Total Reused Conns:        0         
      Weight:                    1           Load:                         2
      DFP:                       Disable     

  
    SSL Proxy Lists:
       1: my_secure_site-Active


TAC サービス リクエストについて

Technical Assistance Center(TAC)サービス リクエストをオープンする前に、次の情報を収集してください。

  1. 上記のライフサイクルを使用して、説明されたコマンドをすべて収集し、ライフサイクル手順別にグループ化します。

  2. script play showtech コマンド出力を提供します。

  3. 詳細なトポロジ ダイアグラムを提供します。

  4. CSS のクライアント側とサーバ側のスニファ トレースを提供します。これは任意ですが、解決時間が短縮される可能性があります。

  5. スニファ トレースを提供する場合、クライアントの IP アドレスを特定します。




関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 47390