管理 SSL 流量

• SSL流量管理简介
• 管理密钥和证书
• 了解SSL Profile
• 配置SSL Profile的常规属性
• 对配置的设置进行配置
• 配置客户机或服务器认证设置
• 管理SSL Profile
SSL流量管理简介
BIG-IP®本地流量管理(LTM)系统提供若干可用于智能控制SSL 流量的
特性。其中一些SSL 流量管理特性如下:
• 能够对客户机和服务器进行认证,以维持客户机系统和BIG-IP系统
之间,以及BIG-IP系统和目标Web服务器之间的安全连接
• 能够从客户机和服务器系统中卸载SSL证书验证任务
• iRule命令,这些命令提供插入标头和重新引导HTTP等特性
• 支持在线证书状态协议(OCSP),以便获得最新的证书撤销状态
• 使用小型目录访问协议(LDAP)服务器进行基于证书的客户机授权
得以控制SSL网络流量的主要方法是配置客户机或服务器的SSL Profile。
Client Profile 是一种流量Profile,允许LTM 系统接受和终止任何通过全
SSL 封装的协议发送的客户机请求。您也可以选择使用Server Profile
来配置SSL Profile,以发起指向目标Web 服务器的安全连接。
管理SSL 流量需要完成以下这些任务:
• 在LTM系统上安装密钥/证书对,以便终止客户机端的安全连接。
• 配置一个Profile,然后将该Profile与一个Real Server进行关联。您
可以使用Configuration工具对Profile进行配置。
• 将Profile与Real Server进行关联。
您也可以选择编写iRule,它使您能够以特定的方式管理各个SSL 连接。
有关详细信息,请参阅第13 章“编写iRule”。
管理客户机端和服务器端的流量
通过LTM 系统,您可以启用客户机端流量或服务器端流量的SSL 流量管
理。客户机端流量指客户机系统和LTM 系统间的连接。服务器端流量指
LTM 系统和目标服务器系统间的连接。
• 管理客户机端SSL流量
启用LTM系统来管理客户机端SSL流量时,LTM系统通过解密客户
机请求来终止流入的SSL连接。随后,LTM系统以明文方式将请求
发送到目标服务器。接着,LTM系统检索明文响应(例如网页)并
加密请求,然后将网页发送回客户机。终止SSL连接的流程中,可
以选择让LTM系统执行所有的SSL证书验证功能,这些功能通常由
目标Web服务器执行。有关配置客户机端SSL Profile的信息,请参
阅第7-12页上的“了解SSL Profile”。
• 管理服务器端SSL流量
启用LTM系统来管理服务器端SSL流量时,LTM系统通过在将已解
密的请求发送到目标服务器之前,重新加密该请求来增强网络安全
性。除了此重新加密之外,还可以选择让LTM系统执行验证服务器
证书的功能,这些功能与LTM系统验证客户机证书的功能相同。有
关配置服务器端SSL Profile的信息,请参阅第7-12页上的“了解SSL
Profile”。
SSL流量控制特性小结
LTM 系统包括若干与控制SSL 流量相关的重要特性。这些特性中最为重
要的是SSL 认证(即证书验证和撤销)以及加密和解密。这些特性中的
大多数都可以通过配置客户机或服务器的SSL Profile 获得,其余特性则
是通过诸如iRules™这样的特性提供的。表7.1 汇总了与SSL 流量管理
相关的特性;表格后的小节介绍了这些特性。
特性 说明 配置工具
证书验证 在终止和启动SSL连接时,LTM系统可以执行完整
范围的证书验证任务,其中既包括客户机证书验
证,也包括服务器证书验证。例如,可以如下定义
系统对客户机证书的验证范围:您可以将系统配置
为请求客户机证书(全部要求或全部忽略)。您还
可以指定诸如证书链遍历深度这样的设置。
客户机和服务器的SSL
Profile iRule
证书撤销 客户机或服务器向LTM系统出示证书时,系统可以
检查证书的撤销状态,这是证书验证流程的一部
分。
客户机和服务器的SSL
Profile OCSP Profile
加密和解密 LTM系统对流入的客户机请求进行解密,这是从目
标Web服务器卸载工作的一种途径。您可以将
Profile配置为在将请求转发到服务器之前,对其进
行重新加密,这个选项提供了额外的安全性。请求
和响应的加密与解密基于您指定的特殊密码,这些
密码是SSL Profile配置的一部分。
客户机和服务器的SSL
Profile
授权 通过以特定方式配置LTM系统,您可以控制对系统
资源的访问权限。例如,您可以创建一个iRule,
将客户机证书信息插入客户机请求,然后根据该信
息授予访问权限。此外,对于包含LDAP数据库服
务器的环境,LTM系统可以使用客户机证书的认证
信息来查询LDAP服务器,从而授予对资源的访问
权限。您还可以限制并发TCP连接的数量。
SSL 客户机证书LDAP
Profile iRule
SSL会话持续性 LTM系统一个功能强大的特性是它能启用SSL会
话的持续性。根据是否已将LTM系统配置为终止
SSL连接,可用的SSL持续性有两类。
客户机和服务器的SSL
Profile
SSL Persistence Profile
iRule
其它SSL特性 除了以上列出的特性,LTM系统还允许您配置其它
一些选项,例如无效协议版本、SSL会话缓存的大
小和超时值以及SSL关闭行为。
客户机和服务器的SSL
Profile
表7.1 与SSL流量控制相关的LTM系统特性小节
了解证书验证
证书验证是确定客户机或服务器是否能够信任对端(即客户机或服务器)
出示的证书的流程。从客户机接收到请求或从服务器接收到响应时,LTM
系统尝试验证客户机或服务器出示的证书是可信。
签发的证书
处理SSL 连接时,对客户机和服务器在安全性方面的一项基本要求是:
任何时候与对端通信时,它们中的每一个都需出示由可信证书授权机构
(CA)签发的证书。您也可以选择将LTM 系统配置为执行客户机证书的
验证任务。
在LTM 系统上配置证书验证时,LTM 系统必须持有能够在处理SSL 请求
时向客户机出示的证书。
此外,您还可以将LTM 系统配置为验证服务器响应。在此情形中,如果
服务器对来自LTM 系统的证书发出明确请求,那么LTM 系统需要持有第
二张证书。
如果将LTM 系统配置为验证客户机和服务器的证书,那么必须在LTM 系
统上生成并安装密钥和证书,之后系统才能管理SSL 流量。您可以通过
Configuration 工具执行此操作。您也可以导入现有的密钥/证书对,以代
替生成新密钥/证书对的操作。有关导入现有密钥/证书对的详细信息,请
参阅第7-10 页上的“导入密钥、证书和档案”。
客户机端证书验证
客户机发出HTTP 请求时,LTM 系统可以执行客户机证书验证任务,该
任务通常由目标服务器执行。
客户机向LTM 系统出示证书时,LTM 系统使用客户机可信CA 文件来确
定自己可以信任的证书授权机构。使用此文件是LTM 系统尝试验证客户
机证书的主要方式。创建客户机端Profile 时,LTM 系统自动创建缺省的
客户机可信CA 文件。您可以使用Profile 中指定的缺省文件名,也可以指
定其它文件名。有关详细信息,请参阅第7-16 页上的“指定可信客户机
CA”。
客户机证书验证中的第二个要素是客户机证书CA文件,LTM系统使用该
文件向客户机提供Profile信任的CA列表。请注意,此列表可以与LTM系统
实际相信的CA的列表不同。如同可信CA文件一样,LTM系统自动创建此
文件的缺省版本。
此外还有一个客户机链文件,LTM 系统将该文件发送至客户机,作为客
户机证书验证流程的一部分。缺省的客户机链文件是客户机可信CA文件。
有关详细信息,请参阅第7-16 页上的“指定可信客户机CA”。
服务器端证书验证
启用服务器SSL Profile 并将出示服务器证书设置为Require 时,便会进
行服务器端验证。
服务器向LTM 系统出示证书时,LTM 系统使用服务器可信CA 文件来确
定自己可以信任的证书授权机构。使用此文件是LTM 系统尝试验证服务
器证书的主要方式。配置服务器端Profile 时,LTM 系统自动创建缺省的
服务器可信CA 文件。您可以使用Profile 中指定的缺省文件名,也可以指
定其它文件名。
此外还有一个服务器链文件,LTM 系统将该文件发送至服务器,作为整
个服务器证书验证流程的一部分。缺省的服务器链文件是服务器可信CA
文件。
了解证书撤销
LTM 系统可以检查客户机或服务器正在出示的证书是否已被撤销。已撤
销的客户机证书指示LTM 系统,应使系统对客户机的认证失败。
对于检查证书撤销状态,LTM 系统支持两种业界标准方法。这两种方法
是:
• 证书撤销列表(CRL)。
LTM系统可以使用CRL方法来检查正向LTM系统出示的证书是否已
被撤销。这种CRL支持是以CRL文件加CRL路径的形式实现的。LTM
系统允许您为客户机端Profile和服务器端Profile分别配置一个CRL
文件和路径。对CRL的使用通过SSL Profile进行配置。有关详细信
息,请参阅第7-25页上的“配置客户机或服务器的认证设置”。
• 在线证书状态协议(OCSP)
与使用CRL不同,OCSP确保证书的撤销状态始终是最新的。对
OCSP的配置通过认证Profile进行。有关详细信息,请参阅第8章“认
证应用流量”。
了解加密/解密
LTM 系统的另一个特性是能够处理加密和解密任务,这些任务通常由目
标服务器执行,是处理客户机请求的一部分。LTM 系统使用客户机端SSL
Profile,在以纯文本形式将流入的请求发送到目标服务器之前,对这些请
求进行解密。LTM 系统使用服务器端Profile,在将请求发送到目标服务
器之前对其进行重新加密,以提供更高的安全性级别。
与加密相关的一个LTM 系统特性是它能够将客户机用来加密自己的请求
的密码插入流入的HTTP 请求中。然后,您可以根据该密码规范来引导流
量。有关指定密码,以控制客户机请求目的地的详细信息,请参阅第13
章“编写iRule”。
了解客户机授权
与认证不同,授权与信任标识无关,它用于控制对系统资源的访问权限。
一旦SSL Profile 证实客户机或服务器可以信任,LTM 系统便可随即控制
连接的级别和对目的地内容的访问权限类型。
支持针对SSL 连接的访问权限控制的LTM 系统特性包括:
• 将客户机证书字段插入HTTP请求中
• 限制并发客户机TCP连接的数量
• 通过LDAP数据库服务器进行客户机授权
要控制客户机对系统资源的访问权限,最有用的方法之一是创建将客户机
证书字段以标头形式插入客户机请求的iRule。例如,iRule 可以将客户机
证书的状态以标头形式插入请求中,然后使用HTTP::header 命令,基于
该状态选择目标服务器。
有关使用此标头插入特性来控制客户机请求的目的地的详细信息,请参阅
第13 章“编写iRule”。
了解SSL会话持续性
可供实施的SSL 持续性有两类。第一类是标准的SSL 持续性模式,此模
式为不涉及SSL 请求的解密和SSL 响应的重新加密的SSL 会话启用持续
性。此SSL 持续性模式可以通过配置SSL 持续性Profile 来启用。有关详
细信息,请参阅第9 章“启用会话持续性”。
第二类SSL 持续性为涉及请求的解密和响应的重新加密的SSL 会话启用
持续性。在此情形中,通过将SSL 会话ID 以标头形式插入HTTP 请求中
来实施SSL 持续性。插入会话ID 标头可通过编写iRule 实现。有关iRule
的详细信息,请参阅第13 章“编写iRule”。
了解其它SSL特性
除了使用上述特性,您还可以执行其它一些任务,例如指定无效协议版本、
配置SSL 会话缓存的大小和超时值以及配置SSL 关闭行为。您还可以将
SSL Profile 配置为基于超时值和数据传输量重新协商SSL 会话。
管理密钥和证书
能够加密和解密SSL 连接之前,必须在LTM 系统上安装一个或多个SSL
证书。第7-3 页上的“了解证书验证”一节中介绍了这些证书的用途。
为使生成证书请求并将它们发送至证书授权机构的任务变得轻松,LTM 系
统在Configuration 工具中提供了一组密钥管理屏幕。这些证书管理屏幕
可从Main 选项卡的Local Traffic 部分进行访问。管理密钥时,您可以执
行以下操作:
• 显示有关全部现有密钥对和证书的信息。
• 为新密钥对和证书生成请求,然后将这些请求提交至证书授权机构。
• 更新证书请求。
• 显示密钥和证书的属性。
• 导入和导出PEM格式的密钥和证书。
显示有关现有密钥和证书的信息
通过Configuration工具可以获得有关现有密钥对和证书的汇总信息。“SSL
证书”屏幕显示以下信息:
• 证书的状态(有效、即将过期或已过期)
• 生成请求时为证书分配的唯一名称
• 证书签发者
• 有效日期
显示有关现有证书和密钥的信息的步骤
1 在Main选项卡上,展开Local Traffic。
2 点击SSL Certificates。
此操作将打开SSL Certificates屏幕,其中列有LTM系统上已安装的
所有证书。
3 点击证书名称。
此操作将显示该证书的属性。
4 如果要查看与该证书关联的密钥的有关信息,请点击菜单栏上的
Key。
此操作将显示密钥的类型和大小。
为新证书和密钥生成请求
使用Configuration工具可以生成自签发的证书(通常仅供内部测试之用),
也可以生成证书/密钥对的请求,以便发送到证书授权机构。将请求发送
到证书授权机构时,该机构将返回已签发的证书。
通过以下两种方式中的任意一种,您都可以将证书请求发送到证书授权机
构:
• 您可以使用剪切和粘贴,从Configuration工具屏幕中将新生成的请
求的文本复制下来,然后提交给证书授权机构。
• 您可以将新生成的请求下载到文件,然后将该文件传送给证书授权
机构。
将请求传送给证书授权机构(通过粘贴文本或通过文件附件)的方法是访
问证书授权机构的网站。用于提交请求,以便证书授权机构签发的
Configuration工具屏幕包含指向各大证书授权机构网站的链路。
请求自签发证书的步骤
1. 在Main选项卡上,展开Local Traffic。
2. 点击SSL Certificates。
此操作将显示SSL Certificates屏幕。
3. 在屏幕的右上方,点击Create。
4. 为证书键入一个唯一的名称。
5. 对于Issuer设置,选择Self。
6. 配置Common Name设置和其它任何想修改的设置。
7. 在Key Properties部分中,选择密钥尺寸。
8. 点击Finished。
向证书授权机构请求证书的步骤
1. 在Main选项卡上,展开Local Traffic。
2. 点击SSL Certificates。
此操作将显示SSL Certificates屏幕。
3. 在屏幕的右上方,点击Create。
4. 为证书键入一个唯一的名称。
5. 在Issuer框中,选择Certificate Authority。
6. 配置Commmon Name设置和其它任何想修改的设置。
7. 点击Finished。
此操作将显示证书请求。
8. 通过以下任何方式之一,将请求下载到您系统上的文件中:
• 从Request Text框中复制证书。
• 点击Request File框中的按钮。
9. 在Certificate Authorities框中,点击一家证书授权机构的名称。
此操作将显示该证书授权机构的网站。
10. 按照网站上的操作说明,粘贴复制的请求或附加生成的请求文件。
11. 点击Finished。
更新证书
所有的证书都具备有效日期。证书过期时,如果希望继续使用该证书,必
须将其更新。
更新证书的步骤
1. 在Main选项卡上,展开Local Traffic。
2. 点击SSL Certificates。
此操作将显示现有证书的列表。
3. 点击要更新的证书的名称。
此操作将显示证书属性。
4. 在屏幕底部,点击Renew。
5. 修改或保留设置。
请注意,Common Name设置的值是必需的。
6. 点击Finished。
删除证书/密钥对
您可以删除不再需要的证书和密钥。
删除证书的步骤
1. 在Main选项卡上,展开Local Traffic。
2. 点击SSL Certificates。
此操作将显示现有证书的列表。
3. 对于要删除的证书,选中其名称左侧的Selective框。
4. 在屏幕底部,点击Delete。
将会显示确认屏幕。
5. 点击Delete。
此操作将删除证书。
导入密钥、证书和档案
如果已从其它系统将密钥/证书对、证书或密钥/证书档案传送到LTM系统
中,且证书或档案的形式为文件或base-64编码的文本字符串,那么您可
以将此证书或档案导入Configuration 工具中。将证书或档案导入
Configuration工具可以使证书或档案的管理任务变得轻松。仅当要导入的
证书为增强型私人邮件(PEM)格式时,才可使用“导入SSL证书和密钥”
屏幕。
导入密钥对、证书或档案的步骤
1 在Main选项卡上,展开Local Traffic。
2 点击SSL Certificates。
此操作将显示现有证书的列表。
3 在屏幕的右上角,点击Import。
选择导入类型(Key、Certificate或Archive)。
4 选择导入方法(文本或文件)。
5 键入密钥、证书或档案的名称。
6 点击Import。
创建档案
您可以为一个或多个密钥和证书创建档案。希望将多个密钥和证书导出至
其它系统时,便可创建档案。
创建档案的步骤
1 在Main选项卡上,展开Local Traffic。
2 点击SSL Certificates。
此操作将显示现有证书的列表。
3 点击Archive。
4 为档案文件键入一个名称。
文件将拥有扩展名.tgz。
5 在Key List区域中,执行以下操作:
a) 选择要归档的密钥。
b) 使用移动按钮(<<)将密钥名称转移到Enabled框。
6 在Certificate List区域中,执行以下操作:
a) 选择要归档的证书。
b) 使用移动按钮(<<)将证书名称转移到Enabled框。
7 点击locallb.sslcert.Generate&DownloadArchive按钮。
8 点击Finished。
了解SSL Profile
如第5章“了解Profile”中所述,Profile是一组带有值的设置,用于确定
LTM系统管理特定应用的网络流量的方式。Profile可以管理的流量类型之
一是SSL流量。SSL Profile最基本的功能是从目标Web服务器卸载证书检
验和验证任务,以及进行加密和解密。
SSL Profile的类型有以下两种:
• 客户机Profile
客户机Profile允许LTM系统处理任何从客户机系统进行LTM系统的
SSL连接的认证和加密任务。实施此类Profile的方法是使用缺省的
clientssl Profile,或者基于该clientssl Profile创建定制Profile。
• 服务器Profile
服务器Profile允许LTM系统处理任何从LTM系统发送到目标服务器
的SSL连接的加密任务。要求LTM系统的认证时,通过向服务器出
示证书的认证信息,服务器SSL Profile可以扮演客户机的角色。实
施此类Profile的方法是使用缺省的serverssl Profile,或者基于该
serverssl Profile创建定制Profile。
♦ 重要信息
启用SSL处理过程之前,首先必须通过可信证书授权机构生成有效的x509
证书,或者生成临时证书,然后将其安装在LTM系统上。有关证书的详细
信息,请参阅第7-3页上的“签发的证书”。有关如何在LTM系统上生成和安
装证书的说明,请参阅第7-7页上的“管理密钥和证书”。
组成客户机或服务器SSL Profile的设置可分为以下三类:常规属性、配置
和客户机认证/服务器认证。您可以在创建SSL Profile时配置这些设置,
也可以在创建Profile之后,通过修改Profile的设置来进行配置。有关对
Profile进行配置的具体流程,请参阅第5章“了解Profile”。
♦ 提示
对于任何单独的SSL连接,您都可以覆盖SSL Profile设置的值。这是通过
编写iRule,将那些与要覆盖的设置相对应的SSL iRule命令包括在内实现
的。有关详细信息,请参阅第13章“编写iRule”。
配置SSL Profile的常规属性
本节介绍Client SSL Profile 或Server SSL Profile 屏幕的General
Properties部分中显示的设置。有关其它SSL Profile设置的信息,请参阅
第7-14页上的“对配置的设置进行配置”和第7-25页上的“配置客户机或
服务器认证设置”。
有关创建或修改Profile的流程,请参阅第5章“了解Profile”。
表7.2显示了可以为Client或Server SSL Profile指定的常规属性。对于那些
带有缺省值的设置,您可保留那些缺省设置,也可以进行修改。此表的下
面是对这些常规属性的介绍。
常规属性 说明 缺省值
Name 指定用户提供的Profile名。 无缺省值
Parent Profile 指定系统提供的、从中衍生定
制Profile的Profile。
clientssl或serverssl
表7.2 SSL Profile的常规属性
配置HTTP Profile的常规属性时,需为Profile指定一个唯一的名称,并选
择一个上级Profile。
指定Profile名称
为了创建SSL Profile,必须为Profile指定一个唯一的名称。创建SSL
Profile时,Name设置是唯一一个必须主动指定的设置;其它所有设置都
具有缺省值。
选择上级Profile
您创建的每个Profile都是从上级Profile衍生而来的。使用Parent Profile
设置,您可以将缺省SSL Profile配置成上级Profile,也可以配置其它已创
建的SSL Profile。
对配置的设置进行配置
本节介绍Client SSL Profile或Server SSL Profile屏幕的Configuration部
分中显示的设置。有关配置其它SSL Profile设置的信息,请参阅第7-13页
上的“配置SSL Profile的常规属性”和第7-25页上的“配置客户机或服务
器认证设置”。
有关创建或修改SSL Profile的流程,请参阅第5章“了解Profile”。
表7.3显示了可以为Client SSL或Server SSL Profile进行配置的设置。对
于那些带有缺省值的设置,您可保留那些缺省设置,也可以进行修改。此
表的下面是对这些设置的介绍。
设置 说明 缺省值
Mode 启用或禁用SSL处理过程。 Enabled
Certificate 指定为终止或启动SSL连接,而在LTM系统上
安装的证书的名称。
default
Key 指定为终止或启动SSL连接,而在LTM系统上
安装的密钥的名称。
default
Pass Phrase 指定用于加密密钥的密码短语的名称。 无缺省值
Confirm Pass
Phrase
确认用于加密密钥的密码短语的名称。 无缺省值
Chain 指定或建立证书链文件,客户机可以使用该文
件来认证Profile。有关详细信息,请参阅第7-16
页上的“配置证书链”。
无缺省值
Trusted Certificate
Authorities
通过指定LTM系统信任的客户机或服务器CA
列表,配置证书验证。有关详细信息,请参阅
第7-16页上的“指定可信客户机CA”。
无缺省值
Ciphers 指定LTM系统支持的密码的列表。有关详细信
息,请参阅第7-16页上的“指定SSL密码”。
Default
Options 指定值All Bugfixes Enabled,此值将启用一
组与SSL处理过程有关的各种行业相关解决方
案。有关详细信息,请参阅第7-17页上的“配置
解决方案”。
All Bugfixes Enabled
ModSSL Methods 启用或禁用ModSSL方法模拟。 未选中
Cache Size 指定SSL会话缓存中的会话数。
注意:此设置仅适用于客户机端Profile。
20000
Cache Timeout 以秒为单位,指定SSL会话缓存条目的超时值。
注意:此设置仅适用于客户机端Profile。
300
Alert Timeout 以秒为单位,指定SSL会话缓存的超时持续时
间。
Indefinite
Renegotiate
Period
强制执行指定的SSL重新协商周期。
Indefinite
Renegotiate Size 强制执行指定的SSL重新协商的吞吐率大小
(字节)。
429496729
Renegotiate Max
Record
Delay
强制执行SSL重新协商的最大记录延迟。
注意:重新协商最大记录延迟属性仅适用于客
户机端Profile。
Indefinited
Unclean Shutdown 将LTM系统配置为启用或禁用非正常关机。
选中
Strict Resume 将LTM配置为启用或禁用在非正常关机之后
恢复SSL会话。
未选中
表7.3 可配置的SSL Profile设置
在配置SSL Profile之前,先对可能要更改的特定设置进行规划描述将会很
有帮助。
指定模式
Mode设置用于启用或禁用Profile。如果将其设置为Enabled,那么Real
Server自动将Profile应用到任何SSL流量。如果该Profile是客户机端
Profile,那么LTM系统将终止所有流入的SSL连接。如果该Profile是服务
器端Profile,那么LTM系统将启动所有流出的SSL连接。
如果将其设置为Disabled,那么LTM系统既不会终止任何流入Real
Server的SSL连接,也不会启动任何流出Real Server的SSL连接。
指定证书名称
Certificate设置的值是安装在LTM系统上,以便对客户机端或服务器端
SSL连接进行认证的证书的名称。如果尚未在LTM系统上生成证书请求或
安装证书,那么可以指定缺省证书的名称default。有关证书的详细信息,
请参阅第7-3页上的“了解证书验证”。
指定密钥名称
Key设置的值是安装在LTM系统上,以便对客户机端或服务器端SSL连接
进行认证的密钥的名称。如果尚未在LTM系统上生成密钥请求或安装密
钥,那么可以指定缺省密钥的名称default。
有关密钥的详细信息,请参阅第7-3页上的“了解证书验证”。
配置证书链
在任何客户机验证流程中,不仅LTM系统需要对客户机进行认证,而且客
户机可能需要对LTM系统进行认证。但有时,LTM系统用来让客户机对自
己进行认证的证书是由该客户机不信任的中间CA签发的。在此情形中,
LTM系统可能需要使用证书链。Profile允许您指定特定证书链文件的名
称。请注意,构成链文件的证书文件必须为PEM格式。
指定可信的客户机CA
针对客户端SSL处理,您可以配置一个SSL Profile,以验证客户机或服务
器出示的证书。使用Trusted Certificate Authorities 设置,您可以指定
可信的客户机CA文件名,LTM系统随后会使用该文件验证客户机或服务
器证书。如果您没有配置可信的CA文件,Profile将使用缺省的文件。
您指定用于验证证书的可信CA文件通常包含一个或多个证书,证书采用
增强保密邮件(PEM)格式。手动建立文件时,该文件包括SSL Profile
信任的客户机或服务器证书列表。如果您没有指定可信CA文件,或者所
指定的可信CA文件无法访问LTM系统,那么系统将使用缺省的文件名。
指定SSL密码
您可以为每个SSL Profile指定可用于SSL连接的密码。在配置密码时,您
必须确保为SSL Profile配置的密码与发送请求的客户机或发送响应的服
务器的密码相匹配。
例如,客户机可能成功建立起与SSL Profile的连接;该Profile可以使用客
户机和服务器端SSL。客户机发送额外数据(例如HTTP请求)之后,SSL
Profile会尝试建立一条指向服务器的SSL连接。
但是,SSL Profile可能被配置为只能使用服务器端SSL的3DES密码,而
服务器可能被配置为只接受RC4密码。此时,由于未启用通用密码,因此
SSL Profile与服务器之间的SSL握手将会失败。结果客户机连接被关闭。
如果客户机正在使用浏览器,那么用户很可能会收到提示网页加载失败的
错误信息。您可以指定一个字符串来指明可用SSL密码的列表,或者也可
以使用缺省的密码字符串 – Default。对于客户机SSL Profile,Default
密码字符串的定义为ALL:!SSLv2:@SPEED。对于服务器SSL Profile,
Default密码字符串的定义为COMPAT+HW:@SPEED。
LTM系统支持的密码为:
• SSLv2
• SSLv3
• TLSv1
• SGC/设置
• RFC 2246中描述的所有标准协议扩展和密码
• AES密码(在RFC 3268中进行了描述)
除非很有必要,否则我们不推荐使用SSLv2密码。因此,已连接的用户应
该将密码字符串设置为DEFAULT:-SSLv2。
♦ 注
LTM系统支持版本0.9.7的OpenSSL密码列表格式。
♦ 提示
除了在SSL Profile中指定密码外,您也可以将密码规范插入到HTTP请求
的标头中,然后根据这些密码引导流量。有关详细信息,请参阅第13章“编
写iRule”。
配置解决方案
OpenSSL支持一系列故障解决方案和SSL选项。您在设置单独的客户机或
服务器端SSL Profile时,可以启用这些解决方案和选项。Options设置的
缺省值为All Options Disabled。ALL_BUGFIXES值可以启用设置中的
所有解决方案。
表7.4列出并说明了您可以为SSL Profile配置的解决方案和选项。
SSL属性 说明
All Bugfixes Enabled 此选项可启用表中所描述的所有故障解决方案。当您希望与兼容存有故障
的措施时,使用启用所有Bugfixes选项来启用故障解决方案选项将会非
常安全。
Cipher server preference 当LTM系统选择一个密码时,此选项会使用服务器偏好代替客户机偏好。
在未设置此选项时,SSL服务器会采用客户机的偏好。设置此选项之后,
服务器会使用自己的偏好来选择SSLv3/TLSv1。由于存在不同的协议,
因此SSLv2,服务器会向客户机发送其偏好列表,并由客户机自由选择密
码。
Don’t insert empty
fragments
这一选项会针对容易影响CBC密码的SSL 3.0/TLS 1.0协议,禁用可能实
施的对策。这些密码不能由某种存在故障的SSL措施进行处理。此选项不
会对使用其他密码的连接造成影响。
Ephemeral RSA 这一选项可在实施RSA操作时使用短暂(临时)的RSA密钥。根据规范,
仅当RSA密钥用于签名操作时(即导出具有严格RSA密钥长度的密码)
才会用到此选项。设置这一选项后,LTM系统总会使用短暂的RSA密钥。
它会破坏与SSL/TLS规范的兼容性,从而导致与客户之间的互操作出现
问题。因此不推荐启用此选项,您应该使用EDH(短暂的Diffie-Hellman)
密钥来进行代替。服务器端SSL会忽略这一选项。
Netscape CA DN bug
workaround
此选项可处理与系统稳定性有关的故障。如果系统接受了要求提供客户
机证书的Netscape浏览器连接,并且系统具有非自签发的CA(而在
Netscape中没有CA),而且浏览器也拥有一个证书,那么系统会崩溃或
挂起。
Netscape demo cipher
change bug workaround
此选项将特意操纵SSL服务器会话恢复,以模拟某些Netscape服务器(参
阅Netscape重用密码变更bug解决方案说明)。我们不推荐在正常使用
情况下设置此选项,并且服务器端SSL处理会忽略此选项。
Netscape reuse cipher
change bug workaround
当通过SSLv2/v3连接,然后又通过SSLv3重新连接时,此选项只会处理
Netscape-Enterprise/2.01( https://merchant.neape.com)中出现的故
障。此时,密码列表会发生变化。
首先,根据RC4-MD5密码列表会建立起一个连接。如果随后需要恢复,
那么连接将切换到使用DES-CBC3-SHA密码列表。但是,根据RFC 2246,
(7.4.1.3节,密码套件),密码列表应该保留RC4-MD5。
作为解决方案,您可以尝试与DES-CBC-SHA:RC4-MD5等密码列表连
接。由于一些原因,每个新连接会使用RC4-MD5密码列表,但是任何重
新进行的连接都会使用DES-CBC-SHA密码列表。因此Netscape在重新
连接时会使用密码列表中的第一个连接。
No SSLv2 不要使用SSLv2协议。
No SSLv3 不要使用SSLv3协议。
No session resumption on
renegotiation
当LTM系统进行SSL服务器重新协商时,此选项会开始一个新的会话(即
会话恢复请求只被最初的握手所接受)。系统在进行服务器端处理时会
忽略此选项。
N0 TLSv1 不要使用SSLv1协议。
Microsoft big SSLV3
buffer
此选项会启用一个解决方案,用于同使用非标准SSL记录尺寸的早期微软
应用进行通信。
Microsoft IE SSLV2 RSA
padding
此选项会启用一个解决方案,用于同使用非标准RSA密钥填充的早期微
软应用进行通信。
服务器端SSL会忽略此选项。
PKCS1 check 1 调试选项将特意操纵SSL客户机PKCS1填充,以便其能够检测特殊的
SSL服务器隐患。正常情况下我们不建议使用该选项。系统在进行客户机
端处理时会忽略此选项。
PKCS1 check 2 调试选项特意操纵SSL客户机PKCS1填充,以便其能够检测特殊的SSL
服务器隐患。正常情况下我们不建议使用该选项。系统在进行客户机端处
理时会忽略此选项。
Single DH use 当使用临时/短暂的DH参数时,此选项会创建新的密钥。在未使用“强”
质数(例如,使用DSA参数时)生成DH参数时,如果您希望防止子群攻
击,那么您必须使用此选项。如果使用了“强”质数,那么可以不必在每
次握手时生成新的DH密钥,但是我们推荐这样做。无论何时使用临时/
短暂DH参数,您都应该启用Single DH use。
SSLEAY 080 client DH
bug workaround
此选项会采用一种解决方案,用于同早期的SSLeay应用进行通信,这些
应用通常指定了错误的Diffie-Hellman公共值长度。服务器端SSL会忽略
此选项。
TLS D5 bug workaround 此选项会采用一种解决方案,用于同早期的启用TLSv1的应用进行通信,
这些应用通常指定了错误加密的RSA密钥长度。服务器端SSL会忽略此选
项。
TLS block padding bug
workaround
此选项会启用一种解决方案,用于同早期的启用TLSv1的应用进行通信,
这些应用通常使用错误的块填充。
TLS rollback bug
workaround
此选项会禁用版本回滚攻击检测。在客户机密钥交换期,当客户机发送第
一个hello信息时必须发送有关可接受的SSL/TLS协议等级的相同信息。
一些客户机会适应服务应答,从而违反了这一规则。例如,客户机发送
SSLv2 hello信息,并且接受到SSLv3.1(TLSv1),但是服务器只能理
解到SSLv3。此时,客户机必须使用相同的SSLv3.1(TLSv1)声明。一
些客户机会将服务器应答降至SSLv3,从而违反了版本回滚保护。服务器
端SSL会忽略此选项。
表7.4 解决方案和其他SSL选项
值得注意的是,当配置协议版本时,您必须确保为LTM系统配置的协议版
本与系统的协议版本相匹配。即,客户机SSL Profile中指定的协议版本必
须与客户机中的协议版本相匹配,服务器端SSL Profile中指定的协议版本
必须与服务器端中的协议版本相匹配。因此,对于客户机和服务器端SSL
连接,您可以指定不希望LTM系统允许的协议版本。
您可以声明3个协议版本中的2个版本无效:SSLv2、SSLv3和TLSv1。如
果没有指定协议版本,LTM系统会允许使用所有的SSL协议版本。
♦ 注
我们推荐您至少将协议版本SSLv2指定为无效。
要指定解决方案选项,应该从Options设置中选择Options List。此时系
统会显示Options List设置。从Options List设置中选择您希望配置的选
项,然后点击Enable按钮。
启用ModSSL方法模拟
此设置可启用或禁用ModSSL方法模拟。当OpenSSL方法不够用时,您可
以启用此设置。
当启用ModSSL Methods 设置时, 您可以使用HTTP::header
insert_modssl_fields命令编写iRule,此命令会将一些ModSSL选项作为
标头插入HTTP请求。表7.5列出了您能够在HTTP请求中插入的选项。
标头类型 标头名称和格式 说明
证书状态 SSLClientCertStatus: [status] 客户机证书的状态。[status] 值可以为
NoClientCert 、OK 或Error 。如果状态是
NoClientCert,那么请求中只会插入标头。如
果状态为Error,那么错误后面应该带有用数字
表示的错误代码。
标头类型 标头名称和格式 说明
证书版本 SSLClientCertVersion:
[version]
证书版本
证书序列号 SSLClientCertSerialNumber:
[serial]
证书的序列号。
证书的签名算法 SSLClientCertSignatureAlgor
ithm: [alg]
证书的签名算法。
证书的签发人 SSLClientCertIssuer: [issuer] 证书的签发人。
证书的有效日期 SSLClientCertNotValidBefore
: [before]
SSLClientCertNotValidAfter:
[after]
证书的有效日期。在[before]之前和[after]之后
的证书都是无效的。
证书主题 SSLClientCertSubject:
[subject]
证书的主题。
主题的公钥 SSLClientCertSubjectPublicK
ey: [key]
公钥类型。允许的公钥类型为RSA ([size] bit)、
DSA或Unknown public key。
证书本身 SSLClientCert: [cert] 实际的客户机证书。
证书的MD5 hash校

SSLClientCertHash: [hash] 客户机证书的MD5 hash校验。
7.5 使用iRule的ModSSL选项
有关向HTTP请求中插入标头的详细信息,请参阅第13章“编写iRule”。
配置SSL会话缓存
只有针对客户端的Profile时,才可以对SSL会话缓存的超时和尺寸值进行
配置。因为每个Profile都具有一个独立的SSL会话缓存,所以您可以在预
Profile中配置相关的值。
设置SSL会话缓存尺寸
使用配置工具,您可以指定SSL会话缓存的最大尺寸。SSL会话缓存尺寸
的缺省值为20,000个条目。值为0表示禁用会话缓存。注意,此设置只能
应用于客户端Profile。
您可以在预Profile中将客户端的会话缓存尺寸配置为最大值。要指定SSL
会话缓存尺寸,应该在Cache Size设置中保持缺省缓存尺寸值或输入新
的值。
设置SSL会话缓存超时时间
您可以使用配置工具指定已协商的SSL会话ID的生命周期秒数。SSL会话
缓存的缺省超时值为300秒。可接受的值为大于或等于5的整数值。
那些使用已过期的会话ID尝试恢复SSL会话的客户机,将被强制在新的会
话中进行协商。
注意,此设置只能应用于客户机Profile。
您可以逐一针对Profile来配置客户机的会话缓存超时值。要指定SSL会话
缓存超时值,应该在Cache Size设置中保持缺省缓存超时值或输入新的
值。
♦ 警告
如果将客户机SSL会话缓存的超时值设置为0,那么SSL会话ID会与会话
缓存中Profile客户机协商,直到缓存充满并开始清除条目为止。如果正在
重新使用那些会话ID的客户机又利用的宝贵资源,那么将数值设置为0会
带来极大的安全风险。因此,实践中SSL会话缓存的超时时间通常设置为
不超过24小时,或更短的时间。
要指定SSL会话缓存的超时时间,应该在Create Timeout设置中保持缺省
值或者从列表中选择Specify、Immediate或Indefinite。如果您选择了
Specify,那么请输入一个值。
指定报警超时时间
Alert Timeout设置表示SSL会话缓存中条目超时的持续时间(以秒为单
位)。
强制SSL会话重新协商
长时间的连接容易受到中间人的攻击。要防止这种攻击,您可以强制LTM
系统根据时间或应用尺寸重新协商SSL会话。您也可以强制LTM系统在收
到指定的记录数之后终止SSL会话。
根据时间段重新协商会话
Renegotiate Period设置会强制LTM系统在指定的秒数后重新协商SSL
会话。
要指定重新协商时间段,应该在Renegotiate Period设置中保持不定值或
选择Specify。如果您选择了Specify,那么请输入一个值。
根据应用数据尺寸重新协商会话
Renegotiate Size设置会强制LTM系统在指定通过安全信道传输的应用
数据量(以MB为单位)之后重新协商SSL会话。
要指定重新协商尺寸,应该在Renegotiate Size设置中保持缺省值或输入
新的值。
指定最大记录延迟
当LTM系统等候客户机启动重新协商时,Renegotiate Max Record
Delay设置会强制LTM系统在接受所指定的最大数量的SSL记录后终止
SSL会话。如果LTM系统收到的记录数超过SSL的最大记录,那么它将关
闭连接。
要指定最大记录延迟,应该在Renegotiate Max Record Delay设置中保
持Indefinite值或选择Specify。如果您选择了Specify,那么请输入一个
值。
配置SSL关机
需要关闭SSL连接时,您可以配置LTM系统上的两个设置:Unclean
Shutdown和Strict Resume。
禁用不完全SSL关机
在Unclean Shutdown中,无需交换所要求的SSL关机报警即可关闭TCP
连接。但是,您可以禁用不完全关机,通过配置设置,强制SSL Profile对
所有SSL连接执行完全关机。
此特性对于Internet Explorer浏览器特别有用。不同的浏览器版本或者同
一版本浏览器的不同模块处理关机报警的方式各不相同。一些版本或模块
会要求服务器的关机报警,而另一些版本或模块不会做出这样的要求,但
是SSL Profile无法总是检测出是否需要关机报警。如果浏览器期望关机报
警,但是SSL Profile没有交换报警(默认设置),那么浏览器会显示错误
消息。
缺省情况下,LTM系统会对所有SSL连接执行不完全关机。要禁用不完全
关机,应该在Unclean Shutdown设置中取消复选框选择。
中断SSL会话
您可以在不完全关机之后配置LTM系统,以便中断SSL会话。缺省情况下,
此设置为禁用,这会使LTM系统在不完全关机后恢复SSL会话。如果您启
用此设置,那么LTM系统不会在不完全关机后恢复SSL会话。
要在不完全关机后中断SSL会话,应该在Strict Resume设置中选中复选
框。
配置客户机或服务器认证设置
这一节将介绍Client SSL Profile屏幕的Client Authentication部分或
Server SSL Profile的Server Authentication屏幕的设置。有关对其他SSL
Profile设置进行配置的详细信息,请参阅第7-13页“配置SSL Profile的常
规属性”和第7-14页“对配置设置进行配置”。
有关创建或修改SSL Profile的程序,请参阅第5章“了解Profile”。
表7.6列出并说明了客户机或服务器SSL Profile的认证设置。对于那些含
有缺省值的设置,您可保留或者修改这些设置。下表是对具体设置的描述。
设置 说明 缺省值
Client or Server Certificate 配置SSL Profile请求、要求或忽略客户机或服务器出
示的证书。
Ignore
Frequency 指定Profile是否应该在每次会话中、或者在会话之后
重新使用SSL会话时对客户机进行认证。有关详细信
息,请参阅第7-27页“配置每次会话认证”。
One
Advertised Trusted
Certificate
Authorities
详细说明了您向客户机建议的受Profile信任的CA。
有关详细信息,请参阅第7-27页的“通告可信客户机
CA列表”。
无缺省值
设置 说明 缺省值
注:此属性只能应用于客户机Profile。
Certificate Chain Traversal
Depth
指定可在客户机证书链中穿越的证书最大数量。有关
详细信息,请参阅7-28页“配置认证深度”。
9
Authenticate Name 根据嵌入服务器证书中的公用名称(CN)对目标服
务器进行认证。有关详细信息,请参阅第7-28页“根
据名称配置认证”。
注:此属性只能应用于服务器端Profile
无缺省值
Certificate Revocation List
(CRL)
通过维护已撤销证书列表来配置证书撤销。有关详细
信息,请参阅7-28页“证书撤销”。
无缺省值
表7.6 SSL Profile中的认证设置
配置证书颁发
在配置Client Certificate或Server Certificate设置时,可以采用多种方法
使LTM系统处理客户机或服务器认证。
对于客户机处理,Client Certificate的设置值为:
• Request
请求并验证客户机证书。此时,SSL Profile通常会授予访问的权限,
而不管是否具有证书或证书的状态如何。
• Require
要求客户机在授予访问权之前出示有效可信的证书。
• Ignore
忽略证书(或缺少证书),因此不会对客户机认证。Ignore设置是
缺省设置,使用此设置会忽略任何每次会话认证设置。有关配置每
次会话认证的信息,请参阅第7-27页“配置每次会话认证”。
• Auto
在认证模块请求证书之前始终忽略客户机证书。与选项设置为
Request时类似,此时LTM系统会启动中间会话SSL握手。我们建
议仅对那些无需出示客户机证书的连接应用此设置。
♦ 警告
如果您正在使用LDAP客户机认证特性,那么使用Request或Ignore选项
有时会造成连接终止。有关基于LDAP客户机授权的详细信息,请参阅第8
章“认证应用流量”。
♦ 提示
请求选项与标头插入特性配合密切。配置SSL Profile,以便向HTTP客户
机请求中插入客户机证书信息并且根据Request选项对客户机认证,从而
使LTM系统或服务器进行诸如将请求重新定向到另一台服务器、将不同的
内容发送回客户机或进行客户机认证或会话ID持续性。
对于服务器端处理,Server Certificate的设置值为:
• Require
要求服务器在授予访问权之前出示有效可信的证书。
• Ignore
忽略一个证书(或缺少一个证书),因此不会对服务器进行认证。
Ignore设置是一个缺省的设置项,使用此设置会忽略任何每次会话
认证设置。有关配置每次会话认证的信息,请参阅第7-27页“配置
每次会话认证”。
配置每次会话认证
通过Frequency设置,您可以配置SSL Profile,以要求对每个SSL会话都
进行一次认证(Once),或者对之后每次重新使用SSL会话进行认证
(Always)。此选项的缺省值为Once。
您可以根据应用将此选项设置为Once或Always。完善设计的网络应用只
需对每次会话进行一次证书验证。我们出于性能的原因,推荐您尽可能使
用缺省设置(Once)。
您可以修改SSL Profile,以要求对每次会话认证一次以及对之后每次重新
使用SSL会话进行认证。
通告可信客户机CA列表
此功能仅限于客户机Profile,如果您打算配置SSL Profile,以要求或请求
对客户机证书认证,那么需要将Profile发送到服务器可能信任的客户机CA
列表。可以通过配置Advertised Tursted Certificate Authorities设置来
实现上述目的。
此列表也称作客户机证书CA文件,它与客户机可信CA文件不同。原因是
在一些情况下,您的客户机可能不会处理有效的客户机证书,此时您可能
不希望展示Profile信任的实际CA列表。客户机证书CA文件允许Profile通
告与证书验证过程中配置的实际客户机可信CA文件不同的CA列表,从而
解决这一问题。
♦ 提示
虽然客户机证书CA文件的内容与客户机可信CA文件的内容不同,但是由
于兼容性的原因,您最好对客户机证书CA选项进行设置,使其与实际的
客户机可信CA文件相匹配。这是因为,如果对等体请求证书客户机没有
提供可信的CA列表,那么现在的浏览器可能不会允许通过SSL会话进行
协商。
要配置Profile发送此列表,您可以指定PEM格式的证书文件,该文件包含
至少一个客户机认证受服务器信任的CA。如果没有指定Client Certificate
CA文件,那么没有可信的CA列表回发送到客户机。
配置认证深度
通过Certificate Chain Traversal Depth设置,您可以配置能够在证书链
中穿越的最大证书数。此数量的缺省值为9。如果证书链较长,并且在此
穿越数中,没有客户机被认证,那么客户机或服务器证书验证将会失败。
如果将认证深度值设置为0,那么只会检测客户机或服务器证书以及其中
的一个证书链文件。
根据名称配置认证
此功能仅限于服务器Profile,LTM系统支持根据名称认证,此特性能够防
止中间人攻击。当您为服务器端Profile配置Authenticate Name设置时,
LTM系统会参照目标服务器向LTM系统出示的证书中列出的公用名称
(CN)来检查此名称。如果您所指定的名称属性与服务器证书中的CN不
匹配,那么LTM系统会关闭连接。CN的示例之一是 www.f5.com
证书撤销
Certificate Revocation List(CRL)设置允许LTM系统在对客户机或服
务器认证之前,使用CRL检查证书的撤销状态。
要为SSL Profile配置CRL,您必须配置CRL文件,该文件包括已撤销的客
户机或服务器证书列表。当指定已撤销证书列表时,您所指定的文件必须
为PEM格式。
♦ 重要信息
CRL文件可能会过期,需要每天进行更新,最长更新时间间隔不得超过30
天。如果您的CRL文件已过期,那么LTM系统会拒绝所有有效或无效的证
书。因此,保持最新的CRL文件至关重要。您可以从/config/ssl/ssl.crl
目录中发出以下命令进行证书更新:openssl crl -in <crlname> -text
–noout。
另一种使用CRL的方法是利用在线证书状态协议(OCSP)特性,此特性
可确保证书撤销状态为最新信息。有关详细信息,请参阅第8章“认证应
用流量”。
管理SSL Profile
您可以使用配置工具查看SSL文件,删除您所创建的任何定制Profile。注
意,您不能删除缺省的Profile clientssl和serverssl。
关于创建和修改SSL Profile的程序,请参阅第5章“Profile简介”。
查看或删除SSL Profile的步骤
1. 在Main选项卡上,展开Local Traffic。
2. 点击Profiles。
将打开Profiles屏幕。
3. 从SSL菜单中选择Client或Server。
这样可以显示任何客户机端或服务器端Profile的列表。
4. 删除Profile的步骤:
a) 点击您希望删除的定制Profile左边的Selective框。
b) 点击Delete。
将会显示确认屏幕。
5. 点击Delete。
此操作将删除Profile。
6. 查看SSL Profile的详细信息时,需要在名称栏中点击您希望查看的
Profile名称。
随后会显示出Profile的详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值