在用Forefront TMG保护Exchange 2010 Server中我们了解到了使用TMG保护Exchange的技巧。今天在本文中将为大家介绍TMG HTTPS的检测的方法,防止病毒和木马程序利用伪装入侵服务器。
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 没有用于验证的客户端证书。需要把该站点加到排除列表中,并设为不做证书检查。
【编辑推荐】