NetScaler 10.5(14)使用SSL保护负载平衡流量

nick814 NetScaler 2,316 次浏览 没有评论

Citrix NetScaler SSL分流功能可透明地提高执行SSL事务的网站的性能。通过将CPU密集型SSL加密和解密任务从本地Web服务器分流到设备,SSL分流可确保Web应用程序的安全传送,而不会在服务器处理SSL数据时产生性能损失。一旦SSL流量被解密,它可以由所有标准服务处理。 SSL协议与各种类型的HTTP和TCP数据无缝地工作,并为使用这种数据的事务提供安全通道。

 

要配置SSL,您必须首先启用它。然后,在设备上配置HTTP或TCP服务和SSL虚拟服务器,并将服务绑定到虚拟服务器。您还必须添加证书/密钥对并将其绑定到SSL虚拟服务器。如果使用Outlook Web Access服务器,则必须创建操作以启用SSL支持和策略应用该操作。 SSL虚拟服务器拦截传入的加密流量,并使用协商的算法对其进行解密。然后,SSL虚拟服务器将解密的数据转发到设备上的其他实体以进行适当处理。

 

本文档包括以下内容:

  • SSL配置任务序列
  • 启用SSL分流
  • 创建HTTP服务
  • 添加基于SSL的虚拟服务器
  • 将服务绑定到SSL虚拟服务器
  • 添加证书密钥对
  • 将SSL证书密钥对绑定到虚拟服务器
  • 配置对Outlook Web Access的支持

     

SSL配置任务序列

要配置SSL,您必须首先启用它。 然后,您必须在NetScaler上创建SSL虚拟服务器和HTTP或TCP服务。 最后,您必须将有效的SSL证书和配置的服务绑定到SSL虚拟服务器。

 

SSL虚拟服务器拦截传入的加密流量,并使用协商的算法对其进行解密。 然后,SSL虚拟服务器将解密的数据转发到NetScaler上的其他实体以进行适当处理。

以下流程图显示了配置基本SSL分流设置的任务顺序。

图1.配置SSL卸载的任务序列

 

启用SSL分流

您应在配置SSL分流之前启用SSL功能。 您可以在设备上配置基于SSL的实体,但不启用SSL功能,但它们不会工作,直到您启用SSL。

 

使用命令行界面启用SSL

在命令提示符下,键入以下命令以启用SSL分流并验证配置:

  • enable ns feature SSL 
  • show ns feature 
    举例

     

    > enable ns feature ssl

    Done

    > show ns feature

    Feature Acronym Status

    ——- ——- ——

    1) Web Logging WL ON

    2) SurgeProtection SP OFF

    3) Load Balancing LB ON . . .

    9) SSL Offloading SSL ON

    10) Global Server Load Balancing GSLB ON . .

    Done >

 

使用配置实用程序启用SSL

  • 在导航窗格中,展开System,然后单击Settings
  • 在详细信息窗格中的Modes and Features下,单击Change basic features
  • 选中SSL Offloading复选框,然后单击OK
  • Enable/Disable Feature(s)? 消息框中,单击”Yes“。

 

创建HTTP服务

设备上的服务表示服务器上的应用程序。 配置后,服务处于禁用状态,直到设备可以到达网络上的服务器并监视其状态。 本主题介绍了创建HTTP服务的步骤。

 

注意:对于TCP流量,请执行此主题和以下主题中的过程,但创建的是TCP服务而不是HTTP服务。

 

使用命令行界面添加HTTP服务

在命令提示符下,键入以下命令以添加HTTP服务并验证配置:

  • add service <name> (<IP> | <serverName>) <serviceType> <port> 
  • show service <name> 

> add service SVC_HTTP1 10.102.29.18 HTTP 80 

 Done 

> show service SVC_HTTP1 

        SVC_HTTP1 (10.102.29.18:80) - HTTP 

        State: UP 

        Last state change was at Wed Jul 15 06:13:05 2009 

        Time since last state change: 0 days, 00:00:15.350 

        Server Name: 10.102.29.18 

        Server ID : 0   Monitor Threshold : 0 

        Max Conn: 0     Max Req: 0      Max Bandwidth: 0 kbits 

        Use Source IP: NO 

        Client Keepalive(CKA): NO 

        Access Down Service: NO 

        TCP Buffering(TCPB): NO 

        HTTP Compression(CMP): YES 

        Idle timeout: Client: 180 sec   Server: 360 sec 

        Client IP: DISABLED 

        Cacheable: NO 

        SC: OFF 

        SP: OFF 

        Down state flush: ENABLED 

 

1)      Monitor Name: tcp-default 

                State: UP       Weight: 1 

                Probes: 4       Failed [Total: 0 Current: 0] 

                Last response: Success - TCP syn+ack received. 

                Response Time: N/A 

 Done 

 

使用配置实用程序添加HTTP服务

  1. 导航到Traffic Management > SSL Offload > Services
  2. 在详细信息窗格中,单击Add
  3. 在”Create Service“对话框的”Service Name“,” Server“和” Port“文本框中,键入服务名称,IP地址和端口(例如 SVC_HTTP110.102.29.1880)。
  4. Protocol列表中,选择服务的类型(例如,HTTP)。
  5. 单击Create,然后单击Close。您配置的HTTP服务将显示在”服务”页面中。
  6. 通过选择服务并查看窗格底部的”Details“部分,验证配置的参数是否已正确配置。

     

添加基于SSL的虚拟服务器

在基本的SSL分流设置中,SSL虚拟服务器拦截加密的流量,对其进行解密,并将明文消息发送到绑定到虚拟服务器的服务。将CPU密集型SSL处理分流到设备允许后端服务器处理更多数量的请求。

 

使用命令行界面添加基于SSL的虚拟服务器

在命令提示符下,键入以下命令以创建基于SSL的虚拟服务器并验证配置:

  • add lb vserver <name> <serviceType> [<IPAddress> <port>] 
  • show lb vserver <name> 
    举例

     


    > add lb vserver vserver-SSL-1 SSL 10.102.29.50 443

    Done

    > show lb vserver vserver-SSL-1

    vserver-SSL-1 (10.102.29.50:443) – SSL Type: ADDRESS

    State: DOWN[Certkey not bound] Last state change was at Tue Jun 16 06:33:08 2009 (+176 ms)

    Time since last state change: 0 days, 00:03:44.120

    Effective State: DOWN Client Idle Timeout: 180 sec

    Down state flush: ENABLED

    Disable Primary Vserver On Down : DISABLED

    No. of Bound Services : 0 (Total) 0 (Active)

    Configured Method: LEASTCONNECTION Mode: IP

    Persistence: NONE

    Vserver IP and Port insertion: OFF

    Push: DISABLED Push VServer: Push Multi Clients: NO Push Label Rule: Done

警告:要确保安全连接,必须先将有效的SSL证书绑定到基于SSL的虚拟服务器,然后再启用它。

 

使用配置实用程序添加基于SSL的虚拟服务器

  1. 导航到Traffic Management > SSL Offload > Virtual Servers
  2. 在详细信息窗格中,单击Add
  3. 在”Create Virtual Server (SSL Offload)“对话框的”NameIP Address,Port“文本框中,键入虚拟服务器的名称,IP地址和端口(例如, Vserver-SSL-110.102.29.50,和443)。
  4.  Protocol 列表中,选择虚拟服务器的类型,例如SSL
  5. 单击Create,然后单击Close
  6. 通过选择虚拟服务器并查看窗格底部的”Details“部分,验证您配置的参数是否已正确配置。 虚拟服务器被标记为DOWN,因为证书 – 密钥对和服务尚未绑定到它。

警告:要确保安全连接,必须先将有效的SSL证书绑定到基于SSL的虚拟服务器,然后再启用它。

 

将服务绑定到SSL虚拟服务器

在解密传入数据后,SSL虚拟服务器将数据转发到您绑定到虚拟服务器的服务。

设备和服务器之间的数据传输可以加密或以明文形式进行。 如果设备和服务器之间的数据传输被加密,则整个事务从头到尾是安全的。 有关为端到端安全性配置系统的详细信息,请参阅”SSL分流和加速”。

 

使用命令行界面将服务绑定到虚拟服务器

在命令提示符下,键入以下命令将服务绑定到SSL虚拟服务器并验证配置:

  • bind lb vserver <name> <serviceName> 
  • show lb vserver <name> 
    举例e

     

    > bind lb vserver vserver-SSL-1 SVC_HTTP1

    Done

    > show lb vserver vserver-SSL-1 vserver-SSL-1 (10.102.29.50:443) – SSL Type:

    ADDRESS State: DOWN[Certkey not bound]

    Last state change was at Tue Jun 16 06:33:08 2009 (+174 ms)

    Time since last state change: 0 days, 00:31:53.70

    Effective State: DOWN Client Idle

    Timeout: 180 sec

    Down state flush: ENABLED Disable Primary Vserver On Down :

    DISABLED No. of Bound Services : 1 (Total) 0 (Active)

    Configured Method: LEASTCONNECTION Mode: IP Persistence: NONE Vserver IP and

    Port insertion: OFF Push: DISABLED Push VServer: Push Multi Clients: NO Push Label Rule:

     

    1) SVC_HTTP1 (10.102.29.18: 80) – HTTP

    State: DOWN Weight: 1

    Done

 

使用配置实用程序将服务绑定到虚拟服务器

  1. 导航到Traffic Management > SSL Offload > Virtual Servers
  2. 在详细信息窗格中,选择一个虚拟服务器,然后单击Open
  3. 在”Services“选项卡上的”Active “列中,选中要绑定到所选虚拟服务器的服务旁边的复选框。
  4. 单击”OK“。
  5. 验证在窗格底部的”详Details“部分中的”Number of Bound Services“计数器增加了绑定到虚拟服务器的服务数。

 

添加证书密钥对

SSL证书是SSL密钥交换和加密/解密过程的一个组成部分。在SSL握手期间使用证书来建立SSL服务器的身份。您可以使用NetScaler设备上有效的现有SSL证书,也可以创建自己的SSL证书。设备支持高达4096位的RSA / DSA证书。

注意:Citrix建议您使用由受信任的证书颁发机构颁发的有效SSL证书。无效的证书和自创建的证书与所有SSL客户端不兼容。

在证书可用于SSL处理之前,必须将其与其相应的密钥配对。然后,证书密钥对将绑定到虚拟服务器,并用于SSL处理。

 

使用命令行界面添加证书密钥对

在命令提示符下,键入以下命令以创建证书密钥对并验证配置:

  • add ssl certKey <certkeyName> –cert <string> [-key <string>] 
  • show sslcertkey <name> 

    举例

     

    > add ssl certKey CertKey-SSL-1 -cert ns-root.cert -key ns-root.key

    Done

    > show sslcertkey CertKey-SSL-1

    Name: CertKey-SSL-1 Status: Valid,

    Days to expiration:4811 Version: 3

    Serial Number: 00 Signature Algorithm: md5WithRSAEncryption Issuer: C=US,ST=California,L=San

    Jose,O=Citrix ANG,OU=NS Internal,CN=de fault

    Validity Not Before: Oct 6 06:52:07 2006 GMT Not After : Aug 17 21:26:47 2022 GMT

    Subject: C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=d efault Public Key

    Algorithm: rsaEncryption Public Key

    size: 1024

    Done

 

使用配置实用程序添加证书密钥对

  1. 导航到流 Traffic Management > SSL > Certificates
  2. 在详细信息窗格中,单击Add
  3. 在”Install Certificate “对话框的”Certificate-Key Pair Name“文本框中,键入要添加的证书密钥对的名称,例如Certkey-SSL-1
  4. Details下,在Certificate File Name中,单击Browse (Appliance) 以找到证书。证书和密钥都存储在设备上的/ nsconfig / ssl /文件夹中。要使用本地系统上存在的证书,请选择 Local
  5. 选择要使用的证书,然后单击” Select“。
  6. Private Key File Name中,单击Browse (Appliance)以查找私钥文件。要使用本地系统上存在的私钥,请选择Local
  7. 选择要使用的键,然后单击Select。要加密证书密钥对中使用的密钥,请在密码文本框中键入要用于加密的 Password
  8. 单击Install
  9. 双击证书密钥对,然后在”Certificate Details  “窗口中,验证参数是否已正确配置并保存。

 

将SSL证书密钥对绑定到虚拟服务器

在将SSL证书与其对应的密钥配对之后,必须将证书密钥对绑定到SSL虚拟服务器,以便它可以用于SSL处理。 安全会话需要在客户端计算机和设备上基于SSL的虚拟服务器之间建立连接。 然后对虚拟服务器上的传入流量执行SSL处理。 因此,在设备上启用SSL虚拟服务器之前,需要将有效的SSL证书绑定到SSL虚拟服务器。

 

使用命令行界面将SSL证书密钥对绑定到虚拟服务器

在命令提示符下,键入以下命令将SSL证书密钥对绑定到虚拟服务器并验证配置:

  • bind ssl vserver <vServerName> –certkeyName <string> 
  • show ssl vserver <name> 

    举例

    > bind ssl vserver Vserver-SSL-1 -certkeyName CertKey-SSL-1

    Done

    > show ssl vserver Vserver-SSL-1

     

    Advanced SSL configuration for VServer Vserver-SSL-1:

    DH: DISABLED

    Ephemeral RSA: ENABLED Refresh Count: 0

    Session Reuse: ENABLED Timeout: 120 seconds

    Cipher Redirect: ENABLED

    SSLv2 Redirect: ENABLED

    ClearText Port: 0

    Client Auth: DISABLED

    SSL Redirect: DISABLED

    Non FIPS Ciphers: DISABLED

    SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED

     

    1) CertKey Name: CertKey-SSL-1 Server Certificate

    1) Cipher Name: DEFAULT

    Description: Predefined Cipher Alias

    Done

 

使用配置实用程序将SSL证书密钥对绑定到虚拟服务器

  1. 导航到Traffic Management > SSL Offload > Virtual Servers
  2. 选择要绑定证书密钥对的虚拟服务器,例如Vserver-SSL-1,然后单击”Open“。
  3. 在”Configure Virtual Server (SSL Offload)“对话框中的”SSL Settings“选项卡上的”Available“下,选择要绑定到虚拟服务器的证书密钥对(例如,Certkey-SSL-1),然后单击”Add
  4. 单击”OK“。
  5. 验证您选择的证书密钥对出现在”Configured“区域中。

 

配置对Outlook Web Access的支持

如果在NetScaler设备上使用Outlook Web Access(OWA)服务器,则必须将设备配置为在定向到OWA服务器的HTTP请求中插入特殊的头字段FRONT-END-HTTPS:ON,以便服务器生成URL链接为https://,而不是http://。

注意:您可以仅对基于HTTP的SSL虚拟服务器和服务启用OWA支持。您不能将其应用于基于TCP的SSL虚拟服务器和服务。

 

要配置OWA支持,请执行以下操作:

  • Create an SSL action to enable OWA support.
  • Create an SSL policy.
  • Bind the policy to the SSL virtual server.

 

创建SSL操作以启用OWA支持

在启用Outlook Web Access(OWA)支持之前,必须创建SSL操作。 SSL操作绑定到SSL策略,并在传入数据与策略指定的规则匹配时触发。

 

通过使用命令行界面创建SSL操作以启用OWA支持

在命令提示符下,键入以下命令以创建SSL操作以启用OWA支持并验证配置:

  • add ssl action <name> –OWASupport ENABLED 
  • show SSL action <name> 

> add ssl action Action-SSL-OWA -OWASupport enabled  

Done  

> show SSL action Action-SSL-OWA  

   Name: Action-SSL-OWA  

   Data Insertion Action: OWA  

   Support: ENABLED  

Done 

 

使用配置实用程序创建SSL操作以启用OWA支持

  1. 导航到Traffic Management > SSL > Policies
  2. 在详细信息窗格中的”Actions“选项卡上,单击”Add“。
  3. 在”Create SSL Action“对话框中,在”Name“文本框中,键入Action-SSL-OWA
  4. Outlook Web Access下,选择 Enabled
  5. 单击Create,然后单击Close
  6. 验证Action-SSL-OWA是否显示在”SSSL Actions“页面中。

 

创建SSL策略

通过使用策略基础结构创建SSL策略。 每个SSL策略都有一个绑定到它的SSL操作,并且当传入流量匹配策略中配置的规则时执行操作。

 

使用命令行界面创建SSL策略

在命令提示符下,键入以下命令以配置SSL策略并验证配置:

  • add ssl policy <name> -rule <expression> -reqAction <string>
  • show ssl policy <name> 
    举例

     

    > add ssl policy Policy-SSL-1 -rule ns_true -reqaction Action-SSL-OWA

    Done

    > show ssl policy Policy-SSL-1

    Name: Policy-SSL-1 Rule: ns_true

    Action: Action-SSL-OWA Hits: 0

    Policy is bound to following entities

    1) PRIORITY : 0

    Done

 

使用配置实用程序创建SSL策略
  1. 导航到Traffic Management > SSL > Policies
  2. 在详细信息窗格中,单击Add
  3. 在”Create SSL Policy“对话框的”名称”文本框中,键入SSL策略的名称(例如,Policy-SSL-1)。
  4. 在”Request Action“中,选择要与此策略关联的已配置SSL操作(例如,Action-SSL-OWA)。 ns_true通用表达式将策略应用于所有成功的SSL握手流量。但是,如果需要过滤特定响应,则可以创建具有更高级别详细信息的策略。有关配置粒度策略表达式的详细信息,请参见”了解策略和表达式”。
  5. Named Expressions中,选择内置的一般表达式ns_true,然后单击Add Expression。现在,表达式文本框中将显示表达式ns_true。
  6. 单击Create,然后单击 Close
  7. 通过选择策略并查看窗格底部的”Details“部分来验证策略是否已正确配置。

将SSL策略绑定到SSL虚拟服务器

为Outlook Web Access配置SSL策略后,将该策略绑定到将拦截传入Outlook流量的虚拟服务器。如果传入数据与SSL策略中配置的任何规则匹配,则触发策略并执行与其关联的操作。

 

使用命令行界面将SSL策略绑定到SSL虚拟服务器

在命令提示符下,键入以下命令将SSL策略绑定到SSL虚拟服务器并验证配置:

  • bind ssl vserver <vServerName> –policyName <string> 
  • show ssl vserver <name> 
    举例

    > bind ssl vserver Vserver-SSL-1 -policyName Policy-SSL-1

    Done

    > show ssl vserver Vserver-SSL-1

    Advanced SSL configuration for VServer Vserver-SSL-1:

    DH: DISABLED

    Ephemeral RSA: ENABLED Refresh Count: 0

    Session Reuse: ENABLED Timeout: 120 seconds

    Cipher Redirect: ENABLED

    SSLv2 Redirect: ENABLED

    ClearText Port: 0

    Client Auth: DISABLED

    SSL Redirect: DISABLED

    Non FIPS Ciphers: DISABLED

    SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED

     

    1) CertKey Name: CertKey-SSL-1 Server Certificate

     

    1) Policy Name: Policy-SSL-1

    Priority: 0

    1) Cipher Name: DEFAULT

    Description: Predefined Cipher Alias

    Done

    >

 

使用配置实用程序将SSL策略绑定到SSL虚拟服务器
  1. 导航到Traffic Management > SSL Offload > Virtual Servers
  2. 在详细信息窗格中,选择虚拟服务器(例如,Vserver-SSL-1),然后单击Open
  3. 在” Configure Virtual Server (SSL Offload) “对话框中,单击”Insert Policy“,然后选择要绑定到SSL虚拟服务器的策略。 或者,您可以双击Priority字段并键入新的优先级。
  4. 单击”OK“。

 

发表评论

Go