Citrix ADC

使用SSL保护负载均衡的流量

Citrix ADC 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卸载和加速

SSL配置任务顺序

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

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

下面的流程图显示了配置基本SSL卸载设置的任务序列。

图1所示。配置SSL卸载的任务顺序

SSL流程图

启用SSL卸载

首先启用SSL特性。您可以在不启用SSL特性的情况下在设备上配置基于SSL的实体,但是在启用SSL之前它们将无法工作。

通过命令行开启SSL

在命令提示符下,输入以下命令以启用SSL卸载并验证配置:

-启用ns feature SSL - show ns feature 

例子:

> enable ns feature ssl Done > show ns feature feature缩略词Status ------- ------- ------ 1) Web日志WL ON 2)热保护SP OFF 3)负载均衡LB ON…9) SSL卸载SSL 10)全球服务器负载平衡GSLB开启。完成> 

通过使用GUI启用SSL

遵循以下步骤:

  1. 在导航窗格中展开系统,然后点击设置
  2. 在详细信息窗格中,在模式与特点,点击改变基本特性
  3. 选择SSL卸载复选框,然后单击好吧
  4. 启用/禁用特性(s) ?消息框,点击是的

创建HTTP服务

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

注:对于TCP流量,请执行以下操作,但创建的不是HTTP服务,而是TCP服务。

通过命令行方式添加HTTP服务

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

-添加服务 ( | )   -显示服务 

例子:

>添加服务SVC_HTTP1 10.102.29.18 HTTP 80做>显示服务SVC_HTTP1 SVC_HTTP1 (10.102.29.18:80) - HTTP状态:去年状态改变是在2009年7月15日06:13:05结婚以来最后的状态变化:0天,00:00:15.350服务器名称:10.102.29.18服务器ID: 0监控阈值:0马克斯康涅狄格州:0马克斯点播:0最大带宽:0来使用源IP:没有客户Keepalive (CKA):没有访问服务:没有TCP缓冲(TCPB):没有HTTP压缩(CMP):是的闲置超时:客户:180秒服务器:360秒客户端IP: DISABLED Cacheable: NO SC: OFF SP: OFF Down状态flush: ENABLED 1)监控名称:TCP -default状态:UP权重:1 Probes: 4 Failed [Total: 0 Current: 0]最后响应:Success - TCP syn+ack received。响应时间:N/A完成

通过使用GUI添加HTTP服务

遵循以下步骤:

  1. 导航到流量管理> SSL卸载>服务
  2. 在详细信息窗格中,单击添加
  3. 创建服务对话框中,输入服务名称、IP地址和端口(例如:SVC_HTTP1、10.102.29.18和80)。
  4. 协议列表中,选择服务类型(以HTTP为例)。
  5. 点击创建,然后点击关闭。您配置的HTTP服务出现在“服务”页面中。
  6. 通过选择服务并查看窗格底部的Details部分,验证您配置的参数是否正确配置。

添加基于SSL的虚拟服务器

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

使用CLI方式添加基于ssl的虚拟服务器

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

- add lb vserver   [ ] - show lb vserver  

警告:为确保连接的安全性,在启用SSL虚拟服务器之前,必须为其绑定有效的SSL证书。

例子:

> 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]上次状态更改时间:0天,00:03:44.120有效状态:DOWN客户端空闲超时:180秒DOWN状态刷新:ENABLED禁用主vserver On DOWN: DISABLEDof Bound Services: 0 (Total) 0 (Active)配置方法:LEASTCONNECTION模式:IP持久:NONE Vserver IP和端口插入:OFF Push: DISABLED Push Vserver: Push多客户端:NO Push标签规则:Done 

使用GUI添加基于ssl的虚拟服务器

遵循以下步骤:

  1. 导航到流量管理> SSL卸载>虚拟服务器
  2. 在详细信息窗格中,单击添加
  3. 创建虚拟服务器(SSL卸载)对话框中,输入虚拟服务器的名称、IP地址和端口。
  4. 协议列表中,选择虚拟服务器的类型,例如SSL。
  5. 点击创建,然后点击关闭
  6. 通过选择虚拟服务器并查看窗格底部的Details部分,验证您配置的参数是否正确配置。虚拟服务器被标记为DOWN,因为没有将证书密钥对和服务绑定到它。

警告:为确保连接的安全性,在启用SSL虚拟服务器之前,必须为其绑定有效的SSL证书。

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

在对传入数据进行解密后,SSL虚拟服务器将数据转发给已绑定到该虚拟服务器的服务。

设备和服务器之间的数据传输可以加密,也可以明文传输。如果设备和服务器之间的数据传输是加密的,那么整个事务从端到端都是安全的。有关配置系统以实现端到端安全性的详细信息,请参见SSL卸载和加速

该任务指导管理员通过命令行绑定虚拟服务器

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

- bind lb vserver   - show lb vserver  

例子

> 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]上次状态更改时间:0天,00:31:53.70有效状态:DOWN客户端空闲超时:180秒DOWN状态刷新:ENABLED关闭主vserver On DOWN: DISABLED配置方法:LEASTCONNECTION模式:IP持久:NONE Vserver IP和端口插入:OFF Push: DISABLED Push Vserver: Push多客户端:NO Push标签规则:1)SVC_HTTP1 (10.102.29.18: 80) - HTTP状态:DOWN Weight: 1 Done 

通过使用GUI将服务绑定到虚拟服务器

  1. 导航到流量管理> SSL卸载>虚拟服务器
  2. 在详细信息窗格中选择虚拟服务器,然后单击开放
  3. 服务选项卡,在活跃的列中,选中要绑定到所选虚拟服务器的服务旁边的复选框。
  4. 点击好吧
  5. 验证窗格底部“详细信息”部分中的“绑定服务数量”计数器是否随绑定到虚拟服务器的服务数量而增加。

添加证书密钥对

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

ECDSA证书只支持以下曲线:

  • prime256v1 (ADC上的P_256)
  • secp384r1 (ADC上的P_384)
  • secp521r1 (P_521在ADC上;仅支持VPX)
  • secp224r1 (P_224 on ADC;仅支持VPX)

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

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

使用命令行方式添加证书密钥对

注意:有关创建ECDSA证书密钥对的信息,请参见创建ECDSA证书密钥对

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

-添加ssl certKey  -cert  [-key ] -显示sslcertkey  

例子:

> 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签名算法:md5WithRSAEncryption颁发者:C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=de fault有效期Not Before: Oct 6 06:52:07 2006 GMT Not After: Aug 17 21:26:47 2022 GMT主题:C=US,ST=California,L=San Jose,O=Citrix ANG,OU=NS Internal,CN=d fault公钥算法:rsaEncryption公钥大小:1024 Done 

通过GUI界面添加证书密钥对

遵循以下步骤:

  1. 导航到流量管理> SSL >证书
  2. 在详细信息窗格中,单击添加
  3. 安装证书对话框中,在“证书-密钥对名称”文本框中输入要添加的证书密钥对的名称,例如“Certkey-SSL-1”。
  4. 细节,在“证书文件名”中单击浏览(设备)查找证书。证书和密钥都存储在设备的/nsconfig/ssl/文件夹中。要使用本地系统上存在的证书,请选择local。
  5. 选择要使用的证书,然后单击选择
  6. 在“私钥文件名”中单击浏览(设备)定位私钥文件。要使用本地系统上存在的私钥,请选择local。
  7. 选择要使用的键并单击选择。若要加密证书密钥对中使用的密钥,请在“密码”文本框中输入用于加密的密码。
  8. 点击安装
  9. 双击证书密钥对,在“证书详细信息”窗口中,验证参数是否已正确配置并保存。

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

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

该任务指导管理员通过命令行绑定虚拟服务器的SSL证书密钥对

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

-绑定ssl vserver  - certkeyname  -显示ssl vserver  

例子:

> bind ssl vserver vserver - ssl -1 -certkeyName CertKey- ssl -1 Done > show ssl vserver vserver - ssl -1 ssl高级配置:DH: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120秒Cipher Redirect: ENABLED SSLv2 Redirect: ENABLED ClearText Port: 0 Client Auth: DISABLED ssl Redirect: DISABLED Non FIPS Cipher: DISABLED SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED 1) CertKey Name: CertKey- ssl -1服务器证书1)Cipher Name:默认描述:预定义密码别名完成

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

遵循以下步骤:

  1. 导航到流量管理> SSL卸载>虚拟服务器
  2. 2 .选择需要绑定证书密钥对的虚拟服务器,如Vserver-SSL-1,单击“打开”。
  3. 配置虚拟服务器(SSL卸载)对话框中SSL设置选项卡,在可用,选择要绑定到虚拟服务器的证书密钥对。然后单击添加
  4. 点击好吧
  5. 验证您选择的证书密钥对是否出现在已配置区域中。

配置支持Outlook web访问

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

注意:您只能对基于http的SSL虚拟服务器和服务启用OWA支持。不能用于基于tcp的SSL虚拟服务器和服务。

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

  • 创建SSL操作以启用OWA支持。
  • 创建SSL策略。
  • 将策略绑定到SSL虚拟服务器。

创建SSL操作以启用OWA支持

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

使用CLI创建SSL操作以启用OWA支持

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

-添加ssl动作 > - owasupport ENABLED -显示ssl动作 

例子:

> show ssl动作action - ssl -OWA名称:action - ssl -OWA数据插入动作:OWA支持:enabled完成

通过使用GUI创建SSL操作来启用OWA支持

遵循以下步骤:

  1. 导航到流量管理> SSL >策略
  2. 在详细信息窗格中,在行动选项卡上,单击添加
  3. 创建SSL操作对话框中,在“名称”文本框中键入Action-SSL-OWA。
  4. 在Outlook Web Access下,选择启用
  5. 点击创建,然后点击关闭
  6. 验证Action-SSL-OWA是否出现在SSL的行为页面。

创建SSL策略

SSL策略是通过使用策略基础设施创建的。每个SSL策略都绑定了一个SSL动作,当进入的流量匹配策略中配置的规则时,将执行该动作。

使用CLI方式创建SSL策略

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

-添加ssl策略 -rule  - reqaction  - show ssl策略 

例子:

> add ssl Policy- ssl -1 -rule ns_true -reqaction Action- ssl - owa完成> show ssl Policy- ssl -1名称:Policy- ssl -1规则:ns_true动作:Action- ssl - owa命中数:0策略绑定以下实体1)优先级:0完成

使用GUI创建SSL策略

遵循以下步骤:

  1. 导航到流量管理> SSL >策略
  2. 在详细信息窗格中,单击添加
  3. 创建SSL策略对话框中,在“名称”文本框中输入SSL策略的名称(例如“Policy-SSL-1”)。
  4. 请求动作,选择要与此策略关联的已配置的SSL动作(例如Action-SSL- owa)。ns_true通用表达式将策略应用于所有成功的SSL握手流量。但是,为了过滤特定的响应,您可以创建具有更高详细级别的策略。有关配置粒度策略表达式的详细信息,请参见SSL操作和策略
  5. 命名表达式,选择内置的通用表达式ns_true,然后单击添加表情。表达式ns_true现在出现在表达式文本框中。
  6. 点击创建,然后点击关闭
  7. 通过选择策略并查看窗格底部的Details部分,验证策略是否正确配置。

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

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

通过命令行方式绑定SSL虚拟服务器

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

- bind ssl vserver  - policyname  - show ssl vserver  

例子:

> bind ssl vserver vserver - ssl -1 -policyName Policy- ssl -1 Done > show ssl vserver vserver - ssl -1 vserver vserver - ssl -1 ssl高级配置:DH: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120秒Cipher Redirect: ENABLED SSLv2 Redirect: ENABLED ClearText Port: 0 Client Auth: DISABLED ssl Redirect: DISABLED Non FIPS Cipher: DISABLED SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED 1) CertKey Name: CertKey- ssl -1服务器证书1)策略名称:Policy-SSL-1优先级:0 1)密码名称:DEFAULT描述:预定义密码别名Done 

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

遵循以下步骤:

  1. 导航到流量管理> SSL卸载>虚拟服务器
  2. 在详细信息窗格中选择虚拟服务器(例如Vserver-SSL-1),然后单击开放
  3. 配置虚拟服务器(SSL卸载)对话框,单击插入政策,然后选择要绑定到SSL虚拟服务器的策略。您还可以双击Priority字段并键入新的优先级级别。
  4. 点击好吧