1 SSL加速原理
1.1 SSL简要介绍
SSL是被设计用来保证信息安全的一个协议,它依赖于可靠的TCP协议来传输数据。它的特点之一是独立于上层的应用层协议(如:HTTP,FTP,TELNET等),这些应用层协议可以透明使地用SSL协议。SSL协议可以协商一个对称加密算法和会话密钥,同时可以在通信之前认证服务器的合法性。
SSL协议提供了一种“管道式安全”,它具有三个特征:
管道是保密的,保密性是通过使用加密技术来保证的,在通过一个简单的握手过程之后获得一个共同的密钥,作为对称加密算法的密钥。
管道是认证过的,服务器端总是需要把自己的证书递交给客户端,以便客户端对服务器进行认证。服务器可以选择是否需要客户端递交证书。
管道是可靠的,消息的传输包含了消息完整性检查。
SSL 协议实际上由两个协议构成,位于下面的一层为SSL记录协议(SSL Record Protocol),其上为SSL控制协议(SSL Control Protocols),SSL记录协议用于封装上层发送和接收的所有数据,当然包括 SSL控制协议的数据, SSL控制协议包含:
SSL握手协议(SSL Handshake Protocol)
SSL密钥交换协议(SSL Change Ciphers Specification)
SSL报警协议(SSL Alert Protocol)
SSL的握手过程是建立SSL的主要加密和安全参数的过程,它是SSL的控制协议执行的控制功能。握手过程体现在浏览器使用HTTPS访问WEB服务器时,包括以下步骤:
1浏览器向安全WEB服务器发出一个HTTPS的请求,比如:https://www.f5.com.cn。
2 该WEB服务器将它的证书递交给浏览器的SSL模块。
3 浏览器检查服务器递交的证书的有效性,比如有效日期和证书的签名等。如果该证书不是被一个浏览器已经信任的发证结构(CA)签发的证书,浏览器将弹出一个对话框来提示用户是否信任该WEB站点证书。如果用户选择不信任该证书,浏览器会选择自动中止该连接。
4 浏览器将把从WEB站点证书里取得的站点名称和浏览器的URL 里的域名相对照,如果相符,浏览器将认为站点为真正的站点。
5 浏览器将自己支持的一系列算法发送给服务器。
6 如果服务器需要客户端递交证书,浏览器将把自己的证书发送给服务器,服务器检查递交的证书,并且检查该证书是否为自己已经信任的发证机构(CA)发放的证书。如果不是,服务器将自动中止该次连接。
7 服务器端选择自己和客户端共同支持的加密算法,然后发送给客户端。
8 浏览器产生一个会话密钥,然后把该密钥通过服务器的公钥加密后传给服务器。
9 服务器接收到该加过密的会话密钥后用自己的私钥解密,得到会话密钥的明文。
10 客户端和服务器使用刚才协商的会话密钥对应用层的数据进行加解密,对传输的数据进行安全保护。
典型的SSL应用部署如下:

1.2 BIGIP SSL 加速
在SSL处理过程中,所有的传输内容均采用加密算法处理。其中最重要的两个部分为SSL握手时交换秘钥的非对称加密和数据传输时的对称加密。
在现有的系统中,通常非对成加密采用1024位的密钥进行加解密,因此对服务器的CPU占用率非常高。在一台最新型号的双Xeon服务器上,大约每秒钟400次非对称加解密就能导致CPU占用率100%。同时对称加密通常采用128位,最高256位加密的加解密也会导致服务器CPU占用率居高不下,同样的服务器SSL流量大约能达到150Mbps。因此当我们在部署SSL应用时,必须考虑到以下参数:
TPS:Transection Per Second,也就是每秒钟完成的非对称加解密次数
Bulk:SSL对称加解密的吞吐能力,通常以Mbps来进行衡量。
当SSL的客户端压力超过400TPS时,单台服务器就很难处理请求了。因此,必须采用SSL加速设备来进行处理。
BIGIP-LTM/ACC系列可从最低2000TPS到64000TPS实现全硬件处理SSL非对称加密和对称加密流量。其实现的结构如下:

所有的SSL流量均在BIGIP上终结,BIGIP与服务器之间可采用HTTP或者弱加密的SSL进行通讯。这样,就极大的减小了服务器端对HTTPS处理的压力,可将服务器的处理能力释放出来,更加专注的处理业务逻辑。
在BIGIP可处理单向SSL连接,双向SSL连接。并且可同时处理多种类型和多个应用的SSL加解密处理。
在BIGIP新的硬件平台BIGIP 8400和8800上,SSL加速的处理能力还会有成倍的提高。由于采用了独立的安全NP硬件加速SSL流量,基本上对于SSL的流量可实现“零”CPU 占用率。因此,当采用内置模式时,SSL加解密动作基本不会影响到负载均衡的处理能力。
1.3 BIGIP SSL加速产品系列
产品型号 配置 功能
BIGIP 3400-ACC 8个10/100/1000M电口,2个可选光纤接口 自带5000TPS SSL加速License,带宽控制,500Mbps HTTP压缩,内存Cache
BIGIP 1500-LTM 4个10/100/1000M电口,2个可选光纤接口 自带100TPS SSL加速License,服务器负载均衡,最大支持2000TPS,500Mbps SSL Bulk
BIGIP 3400-LTM 8个10/100/1000M电口,2个可选光纤接口 自带100TPS SSL加速License,服务器负载均衡,最大支持5000TPS,1Gbps SSL Bulk
BIGIP 6400-LTM
16个10/100/1000M电口,4个可选光纤接口 自带100TPS SSL加速License,服务器负载均衡,最大支持15000TPS,2Gbps SSL Bulk
BIGIP 6800-LTM
16个10/100/1000M电口,4个可选光纤接口 自带100TPS SSL加速License,服务器负载均衡,最大支持20100TPS,2Gbps SSL Bulk
BIGIP 8400-LTM
12个10/100/1000M光/电口,2个可选10G光纤接口 自带100TPS SSL加速License,服务器负载均衡,最大支持22000TPS,2.5Gbps SSL Bulk
除BIGIP 3400-ACC之外,其他的产品系列均可根据客户需求增加SSL处理能力和选配其他功能模块,包括HTTP压缩、内存Cache、带宽控制、IP V6等。
2 主要实现功能
2.1 核心功能
客户机到BIGIP端到端加密通道
BIGIP采用标准的SSL加密通道协议。可以和标准的浏览器配合,支持SSL/TLS各版本的协议标准。在客户端和BIGIP之间建立安全的SSL/TLS加密通道。保证在通道内传输的HTTP请求的安全性,实现对应用安全的完整保护。
证书认证功能
在BIGIP中可导入X509证书,可实现单向认证、双向认证。BIGIP可以提供给客户端自身的证书以供客户端认证。也可以要求客户端提交证书进行验证。确保SSL交易的完整性和不可抵赖性。
服务器SSL传输
通常情况下,客户端与BIGIP采用SSL连接,BIGIP与后台服务器采用HTTP连接。在某些安全要求较高的场合下,需要BIGIP与后台服务器也采用HTTPS加密传输,以保证数据传输的全路径安全加密传输。BIGIP可支持与后台服务器多种加密算法的连接方式。
资源访问控制
在BIGIP中可对客户端可访问资源和不可访问资源进行灵活的定义访问权限控制。可通过客户端是否有证书、Cookie、访问的URL等进行判断,然后确定用户是否有对该资源的访问权限。将不安全和越权访问直接进行控制。
证书信息透传
由于信息安全的完整性要求,当服务器端在收到用户请求时,需要对客户端进行再次确认。以确认用户是通过安全网关访问。BIGIP可以将客户端证书进行解析,将服务器所需要的所有信息以HTTP URI参数或者HTTP Header等方式传递给后台服务器,以提供服务器二次认证的信息。
多应用系统支持
在BIGIP可以支持不限数量的应用系统,并且可以同时支持单向、双向认证方式。便于SSL加解密的集中控制。同时,BIGIP还可以同时支持非HTTPS应用如HTTP、SMTP、POP3、DNS等应用的集群方式。提供用户最大的灵活性和安全性。
完善的日志输出
在BIGIP上可提供多种类型的日志输出:
用户访问日志:可以记录用户的所有访问HTTP请求,并将其存放在BIGIP或者远端Syslog服务器上。
错误信息日志:用户未提交证书、提交证书过期或已吊销等,均将被BIGIP记录在日志中,以提供审计查询。
管理员操作日志:将管理员的所有操作均记录下来,以提供审计查询或系统配置回溯。
系统日志:BIGIP自身的系统运行状态,后端服务器的Down/UP状态等。
安全加密级别控制
BIGIP可支持以下加密协议:
SSLv2
TLSv1
SGC/设置
RFC 2246中描述的所有标准协议扩展和密码
AES(在RFC 3268中进行了描述)
从现有的128位加密方式一直到AES 256位的加密算法,BIGIP均可提供全硬件加速支持
用户自定义功能
BIGIP 内置有iRules可编程控制语言,具有50多个事件、200多个函数,允许用户对流量进行任意处理。典型的诸如客户端三次握手完成、SSL握手、客户端证书提交、SSL握手完成等BIGIP均有对应的事件处理。并且丰富的函数和过程也可以对数据进行灵活处理,比如查找、比对、修改等,然后可以根据查找比对的结果作出相应的处理。
2.2 附加功能
服务器负载均衡和健康检查
考虑到后台服务器所承受的压力和冗余性,BIGIP可以在完成SSL加解密的同时,对后台服务器进行负载均衡,同时检查服务器的真实可用性。以确保交易的不间断性。
服务器慢启动和停机维护
当后台有多台应用服务器,新节点加入或者恢复时,BIGIP可以通过慢启动方式来保证服务器的压力逐步增加,以避免新服务器压力过载。当服务器需要停机维护时,BIGIP可以允许当前的用户连接不中断,而新的请求分配到其他服务器上。保证当前用户访问的不中断,这样,大大减小了维护的压力。
应用兼容性
BIGIP可与多种应用系统进行配合,具有极高的兼容性。现有的系统包括IIS、Apache、TomCat、WebLogic、WebSphere等系统BIGIP都可以实现无缝的配合。
多结构支持
BIGIP可支持负载均衡内置SSL加速方式以实现应用的统一管理,简单维护。也可以支持SSL加速外挂方式以实现系统良好的扩充性和高性能。
灵活的CRL验证机制
BIGIP可支持3种方式的CRL(用户吊销列表)验证
文件方式:将CRL以文件方式加载到BIGIP内存中。
OCSP:通过OCSP认证网关进行客户端证书认证。
CRLDP:通过CRL Distributing Point去读取LDAP或者HTTP服务器上的CRL列表。
透明SSL模式支持
在透明SSL加速模式中,客户端通过域名HTTPS直接访问后台的WEB服务器。在流量通过BIGIP时, BIGIP截获HTTPS流量,并对其进行解密,然后将请求发送到后端服务器的HTTP端口。在服务器处理完成后,将页面内容返回给BIGIP,由 BIGIP进行加密后返回给Client端。这样对于客户端来说根本感觉不到BIGIP的存在。
客户端IP透传
BIGIP 可以不改变客户端源地址直接将请求发送到服务器上,以提供服务器日志和审计需要,也可以将客户端源地址插入到HTTP Header中提供给后台的服务器进行处理。
多CA支持
在BIGIP上的同一个虚拟服务器中,可以支持多个CA所颁发的客户端证书认证、CRL访问控制和客户端证书选择。多CA支持通常用于用户在不改变原有系统的情况下,加入新的CA认证体系,而不让原有的用户感觉到任何改变。实现系统的透明迁移。
应用优化
在BIGIP中拥有许多专利技术的应用优化功能,包括TCP Express、HTTP压缩、HTTP缓存、访问链接聚合等。一方面提高了用户的响应速度,另一方面减小了服务器端的压力。同时,HTTP压缩等功能还减小了带宽的占用,直接为企业减小了带宽租借费用。
带宽控制
BIGIP灵活的七层带宽控制模块,可灵活的根据用户的特征、访问的应用等进行应用的优先级处理,保证关键业务的带宽使用。
2.3 产品特性
专用硬件平台提供高性能SSL加速
BIGIP内置高速安全NP硬件处理芯片,可完全支持SSL握手时的非对称加解密和SSL数据传输时的对称加解密。实现CPU的”零”占用率。
透明和兼容性
BIGIP默认工作在透明模式,在服务器端接收的HTTP请求看上去全部来源于真实的客户端。BIGIP极高的兼容性,保证了和后台的多种业务系统对接时的易于部署。
易用性
BIGIP具备iControl二次开发接口,用户可灵活实现BIGIP上数据的采集和设备控制。简洁的配置界面和对象式的Profile定义也使管理变得轻松和简单。
高安全性
强大的硬件平台和高效的软件设计,保证在BIGIP后台的服务器避免DDOS攻击。ASM模块的加入进一步保证了用户的系统免受各种针对HTTP应用的攻击手段。
高可扩展性
由于负载均衡和SSL加速功能的合二为一,BIGIP可以进行多种组合方式,确保后台服务的高可扩展性和自身的高可扩展性。
高可靠性
完善的负载均衡算法、服务器健康检查以及自身的高可用性设计,都充分保证了系统的高可靠性。
3 BIGIP SSL加速典型部署结构

