SSL卸载

一、SSL卸载需求背景及其带来的问题

目前全球已有超过一半的 Web 流量 采用 HTTPS 进行传输,并且正在逐步增长。来自外部的客户端利用 SSL 协议访问数据中心 Web 服务器,提升了 Web 应用的认证安全和数据安全。同时, 日益增长的 SSL 通信量也对系统设计者们提出了更高的要求和前所未有的挑战,尤其是大型网站和数据中心 的场景中,往往需要同时处理数以万计的安全交易,SSL 的加解密过程需要消耗大量的服务器性能,同时各种网络设备对这些加密内容也会变得难以处理。

为了缓解服务器的性能压力,一度较为流行的方法是安装 SSL 加速卡。但是加速卡对 SSL 数据的处理还是 建立在服务器主机之上,不是完全卸除系统负荷。另一方面,SSL 加速卡一般都存在系统兼容性不佳、性 能受制于总线技术瓶颈、对主机的依赖性大等问题,越来越无法满足大型应用的需求。 同时,基于在服务器上安装 SSL 加速卡的方式,造成其他网络设备无法复用解密后的明文流量,需要重复 对 HTTPS 流量进行加解密,造成资源的严重浪费和用户体验的下降。

二、SSL卸载解决方案

SSL 卸载通过将应用访问过程中的 SSL 加解密环节转移到相应提供加解密能力的设备上来实现,在满足高并发访问需求的同时,能够降低服务器的性能压力,提升网站的访问速度,一定情况下,能够帮助用户减少服务器的硬件资源,节省运营成本。 配备 SSL 卸载功能的设备充当 SSL 代理服务器的角色,与客户端建立 SSL 连接,与客户端进行加密通信, 与服务器端进行明文通信,全面卸载 SSL 数据处理的负荷,不影响服务器的硬件资源。SSL 卸载工作原理如下所示:

SSL卸载

SSL卸载

三、SSL卸载示例场景

在某些场景下,如果服务器端开放的普通 HTTP 服务,但是由于一些政策要求,需要客户端采用 HTTPS 访问,此时需要在服务器前端采用某些产品进行 SSL 卸载。山石网科下一代防 火墙支持 SSL 卸载功能(PS:根据测试效果来看,只能识别 443 端口的 HTTPS 做卸载,修改端口后无效)。

1. 在系统-PKI 中,导入 PKI **(一般由 CA 提供)

SSL卸载

2. 创建 PKI 信任域,导入 CA 证书和服务器证书(两个证书一般由 CA 提供,服务器证书 导入到本地证书即可,防火墙替代服务器做证书验证)。

SSL卸载

SSL卸载

注:如果只提供了 CA 证书,没有服务器证书。可以先导入 CA 证书到防火墙,然后填写相关的 CN、OU 等信息,点击申请证书,会得到一个证书申请的字符串。将该字符串发给 CA, 可以制作服务器证书。

SSL卸载

3. 在策略-SSL 代理中,配置 SSL 代理模板

SSL卸载

PS:服务端口指后端服务器实际开放的端口

4. 安全策略中启用 SSL 代理功能:

SSL卸载

测试效果查看:

(1)不启用 SSL 卸载时(策略 disable),无法访问测试网站

SSL卸载

SSL卸载

(2)启用 SSL 卸载时(策略 enable),可以访问测试网站

SSL卸载

四、SSL卸载常见问题

4.1 Location字段导致的HTTPS跳转到HTTP

原因:网站应用程序原因,Location字段为HTTP协议的URL,导致浏览器重定向到HTTP

SSL卸载

决方法:对响应头部的Location字段进行修改

SSL卸载