本帖最后由 猫仔粥哩 于 2022-9-26 09:32 编辑
一、问题现象 1、百度网盘未配置SSL内容识别时可以拦截部分文件上传; 2、配置了SSL内容识别后部分网页打不开或者提示不安全。 二、问题分析 2.1 故障原因分析 1、百度网盘未配置SSL内容识别时可以拦截部分文件上传; 原因分析:规则库中的百度网盘[上传策略中,只有一条是针对443端口及不开解密的情况下用来封堵的: 规则的详细内容是用于匹配如下几个域名的443端口特征的流量,当设备在不开解密的时候遇到这几个域名就会判断其为百度网盘的上传行为。 ct01.pcs.baidu.com. cu01.pcs.baidu.com. c3.pcs.baidu.com. c2.pcs.baidu.com. c1.pcs.baidu.com. c.pcs.baidu.com. c5.pcs.baidu.com. 观察其命名也可以发现,加密情况下的封堵具有不稳定性,一个域名于百度网盘而言可能是一个数据中心,现在已经有c1,c2,c3了,将来可能会有c4,c5,c6,这些都是不稳定的因素。所以当不配置SSL内容识别时,部分文件上传会拦截失败。 2、配置了SSL内容识别后部分网页打不开或者提示不安全。 三、问题原理 dns反查和ssl代理机制说明:ssl代理之所以需要依赖dns反查,是因为我们不能等client hello出来,去提取server name在进行代理,所以需要依赖dns反查,提前知道这个ip是否需要代理:dns反查就是只我们会去缓存dns包,会去记录域名和ip的关系并进行绑定,是有可能出现一个ip多个域名的情况 四、解决方案 4.1、安装SSL解密证书。 开启SSL中间人解密之后,匹配解密策略的用户在发起对应解密域名访问时,流量经过AC会被拦截下来,AC充当中间人角色,将数据包解密后识别。然后将数据包转发给公网服务器。公网服务器回复请求时也会回复给AC,AC再将数据包转发给内网终端。整个访问流程从原来的终端请求公网服务器,被拆分为了终端请求AC--AC请求服务器。所以对内网终端来看请求的就是AC。AC回包的时候内网终端会校验服务器证书。AC本身证书是自签名证书,校验证书时如果内网终端本身没有安装AC解密证书,则内网终端会提示服务器证书不受信任,弹出安全告警界面或者中断连接,导致请求页面打不开。 安装解密证书后,AC在回复数据包的时候在校验阶段不再会提示证书不安全或不受信任,则访问数据恢复正常。 4.2、让内网终端的dns流量经过AC 客户端解析客户端进行DNS解析的时候,DNS数据包经过AC的情况,AC会把DNS回包的IP、域名对应关系缓存到AC后台dnscache;当电脑与外网交互的时候,AC会拿着目标去反查dnscache,看这个IP对应的域名是什么,如果这个域名在SSL内容识别的列表中,那这个连接就会被AC代理解密。如果DNS解析不经过AC,电脑使用的内网DNS,那SSL内容识别的匹配大概率不够准确。 此种若使用内网dns环境无法让AC在dns服务器和终端之间,则需要修改AC的dns服务器地址。AC不能把DNS排除,AC会主动向内网DNS发DNS解析ssl内容识别里的域名会定时调用adddns应用程序主动做dns查询,以使AC能够缓存我们关注的dns,这样做SSL内容识别的域名匹配能够准确。 4.3、新建SSL内容识别策略, 将说明中包含的域名添加到SSL解密中。 4.4、打补丁包 若客户不接受安装证书以及DNS流量不经过AC的方式,则需要联系深信服技术支持获取优化补丁包,本地验证是否百度网盘客户端流量全部存在server-name。检测server-name是否匹配解密域名,是才做代理解密,否则直接透传。 |