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

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

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2010 年 7 月 13 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

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登録ユーザ専用)を使用してください。

ネットワーク構成図

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

/image/gif/paws/47390/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 


!--- Define the SSL certificate and key files to use for the Web site 
!--- These are for the client to SSL module connection.


 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 server configuration. This is for the client to the SSL
!--- module connection.


 backend-server 10

 
!--- Backend SSL configuration. These specify the parameters for 
!--- the connection from the CSS to the backend servers. 


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


!--- This defines the clear text IP and port that are 
!--- used to encrypt data headed for the backend servers.

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


!--- This is the physical server. As there is no server-port
!--- configured, the default 443 will be used.


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


!--- The CSS behaves as a client. Specify what SSL cipher 
!--- you are going to present to the backend server in the SSL 
!--- handshake client hello packet.


 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   


!--- Theses lines indicate the configuration of the rule.


L4:         TCP/81
Url:        /*          


!--- This indicates a Layer 7 rule, where the CSS spoofs the
!--- connection.

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  


!--- Theses lines indicate the configuration of the rule.

L4:         TCP/443
Url:                             


!--- There is no configuration, so this is a Layer 4 rule.

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    


 !--- Make sure this is the slot where the SSL module is installed.

  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


 !--- Connection counters should be increasing.

  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
       

!--- The number of services pointing to the SSL proxy list. This 
!--- includes the back-end services as well.

       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  
     

     !--- This is the certificate file associated for the SSL site.

     RSA Keypair:      privatekey   
     

     !--- This is the private key file associated for the SSL site.

     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

    

    !--- This is the cipher suite used in the server SSL hello back to the client.
    !--- The clear text IP address and port of the decypted traffic.


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


!--- This is the back-end server clear text IP and port.

     
     IP address: 10.1.1.20
     Port:  81
     

!--- This is the back-end server SSL server IP and port.

     
     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      

    
 
!--- This is the cipher suite used in the client hello to the SSL server.
!--- In this case, the SSL module is encypting the traffic and acting as 
!--- a client.


   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


!--- These are the SSL handshake statistics for the client to CSS connection.

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


!--- These are the SSL handshake stats for the CSS to backend servers.

             
             12   Active SSL flows high water mark


!--- This is the maximum number of active SSL flows.


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


!--- At this point, any errors need to be investigated.


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
  

!--- These are the traffic stats for the SSL module; they should be incrementing.

              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


!--- This is the number of active flows in the CSS. These can be difficult to see on a 
!--- box with little load.

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