Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
1. TMG HTTPS Inspection 介绍
TMG HTTPS Inspection (HTTPS 检测) 可以防止内部客户端访问一些非法的 HTTPS 网站。总体来说是为了避免客户端直接和外部服务器建立 SSL 连接,解决 SSL 加密的内容得不到检查而导致的安全问题。
2. TMG HTTPS Inspection 的处理过程
基本处理过程如下图所示
图1- HTTPS Inspection 处理过程
1) TMG 从配置存储服务器读取配置,包括读取 HTTPS Inspection 所用的 CA 证书。
2) 客户端发起连接 HTTP CONNECT 请求,这对客户端是透明的
3) TMG 与目标服务器建立 SSL 连接。
4) TMG 按照配置服务器证书来进行 HTTPS Inspection,流程如下:
a. 需要阻止站点:发送错误页给客户端;
b. 站点属于例外列表:TMG 关闭与服务器的连接,与客户端建立新的连接,发送”200 Connected” 给客户端。客户端和外部站点直接建立 SSL 连接;
c. 站点检查合法:与客户端建立 SSL 连接。
5) TMG 与客户端建立 SSL 连接。
您可以根据需求来修改 HTTP Inspection 的策略,例如,您可以修改证书有效时间,参见下图。
图2 - 证书检查策略
另外有一些界面上没有的证书检查策略,例如:
- 证书名字是否匹配
- 服务器证书是否信任
- 服务器证书类型(是否是用于服务器验证)
3. 在 TMG 上部署 HTTPS Inspection 客户端容易发生的问题
任何一种安全策略应用到企业内部,都可能引起一些问题,或者收到最终用户的负面反馈, 用户常会抱怨原先一些能正常访问的网站,现在不能访问了。 用户可能认为 HTTPS 的连接是安全的,但殊不知,外部服务器可能使用假冒的服务器证书或者包含恶意代码。
虽然 HTTPS Inspection 能保护内部客户端访问一些 HTTPS 的恶意网站,但它也会引起部署问题。以下列出一些常见问题。
问题1: 客户端访问 HTTPS 网页时,收到 TMG 的报错:The page cannot be displayed - Error Code 502 (Proxy Error) – the certification authority that issued the SSL Server certificate supplied by a destination server is not trusted by the local computer.
原因: 这个问题是由于 TMG 不信任外部 HTTPS 站点的证书。对于大多数使用商业证书的网站,不会发生此类问题。如果需要让用户访问这些网站,TMG 管理员需要导入站点的 CA 证书到 TMG local trusted root certificate store。另外也可以把该站点加入到排除列表中,并设为不作证书检查。
问题2: 客户端访问一个 HTTPS 网站,收到报错:Error Code 502 (Proxy Error) – the name on the SSL server certificate supplied by a destination server does not match the name of the host requested.
原因: 证书名和访问的 URL 名字不匹配,有以下几种情况:
- Web 服务器使用了通配符 (例如*.domain.com)
- 客户端使用IP地址来访问 Web 服务器
- TMG 上反向名字解析不匹配 (IP 地址到名字)
TMG 需要进行反向名字解析,来验证证书名是否和访问 URL 匹配。如果反向名字解析失败,TMG 不能完成证书名匹配。 如果客户端确实需要访问这些 HTTPS 站点,可以把域名加到排除列表中,并设为不作证书检查。
问题3: 客户端访问所有的 HTTPS 网站都会出现以下安全提示页面:
图3- Web 站点安全提示
原因:客户端没有信任 TMG 上的 HTTPS Inspection 所用的 CA 证书, 此 CA 证书 (例如:TMG 自签发的证书) 必须在客户端上进行部署,否则客户端不会信任 TMG 的 CA 证书。关于怎样部署 CA 证书,请参考 Deploying the HTTPS inspection trusted root CA certificate to client computers
问题4: 客户端使用 Firefox 浏览器访问所有 HTTPS 站点,会收到以下报错,IE 则不会。
图4- 使用 Firefox 浏览器访问 HTTPS 站点的报错
原因: 一些三方的浏览器,例如 Firefox 有它自己所维护的证书信任列表,而不会使用本地的 Windows 所使用的证书信任列表。 需要参考对应三方浏览器的文档,来导入 TMG 的 CA 证书。
问题5: 客户端在使用 TMG client 来访问 HTTPS 网站,需要弹出以下提示,说明 HTTPS 的网络流量在监控之下。但多次访问同一个 HTTPS 网站,该提示只会出现一次。
图5- TMG client 提示
原因: 默认情况下,该提示会缓存12小时。如果客户端不重启机器,在12小时内,对于同一个 HTTPS 站点只会弹出一次提示。可以在注册表内修改该默认值。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RAT\Stingray\Debug\FwcMgmt]
"FWC_MGMT_HTTPS_TEMPORARY_DISABLED_TIMEOUT"=dword:2932E00
默认值为十六进制2932E00毫秒,等于十进制 43200000 毫秒,等于 12 小时。这是用于 TMG Client 用户界面显示的设置,无需重启服务。
问题6: 访问一个需要客户端证书验证的 HTTPS 站点时,收到以下报错信息:
图6- 访问需要客户端证书验证的 HTTPS 站点时的报错
原因:TMG 不支持访问需要客户端证书验证的 HTTPS 站点,因为 TMG 没有用于验证的客户端证书。需要把该站点加到排除列表中,并设为不做证书检查。
4. 总结
在这片文章中,我们讨论了 TMG 2010 HTTPS Inspection 的基本功能和部署时可能遇到的常见问题。
James Yi
微软安全支持专家