使用Microsoft Forefront TMG 2010作为安全Web网关

安全
公司在建立安全策略时,一个主要目标就是使员工能够更安全地浏览 Internet。

 公司在建立安全策略时,一个主要目标就是使员工能够更安全地浏览 Internet。当然,这涵盖了非常广阔的领域并涉及到多种要求,例如:

  • 确保用户遵守公司有关 Internet 访问的策略。
  • 检查通信情况并阻止潜在的恶意软件和可疑活动。
  • 告知最终用户其 Web 通信受到检查。

幸运的是,使用 Microsoft Forefront Threat Management Gateway (TMG) 2010 中的安全 Web 网关功能可以帮助您满足这些目标。图 1 显示了可用于实现安全 Web 访问网关的主要 Forefront TMG 2010 功能: 

 

图 1 用于安全 Web 网关方案的核心 Forefront TMG 2010 功能

在图中可以看到,Forefront TMG 使用了三个主要的云组件:Microsoft Update、Telemetry Service 和 Microsoft Reputation Service (MRS)。Microsoft Update 用于更新反恶意软件工具和 Network Inspection System (NIS) 签名。Microsoft 恶意软件响应团队使用由 TMG 提供的遥测报告来了解发现了哪些攻击,并据此提高签名质量。MRS 维护了一个巨大的分类 URL 数据库,供 Forefront TMG 2010 查询。

本文将着重介绍 URL 筛选和 HTTPS 检查。在之前的 TechNet 杂志 2009 年二月的文章中已深入讨论了恶意软件检查,该功能在 Forefront TMG 2010 中没有改变。

使用 URL 筛选带来更安全的浏览体验

URL 筛选可以看作是 Forefront TMG 的第一道防线,用于帮助确保组织的 Web 访问安全。通过使用 URL 筛选来阻止对不良网站的请求,Forefront TMG 可花费更少的时间来扫描恶意软件,从而有更多时间来传送有用的内容。

URL 筛选由两个主要部分组成:用于评估 Web 请求的 Web 代理筛选器,以及提供类别定义的 MRS,后者供筛选器用于确定如何对请求分类。下面是针对 Web 请求的简化处理形式:

  1. Web 应用程序通过 TMG 发送对“http://malware.contoso.com/nefarious”的请求。
  2. Web 代理筛选器通过 URL 筛选传递请求。
  3. URL 筛选将整个请求拆分为不同部分。在本例中,这几个部分将为下列内容:
    • Com
    • Contoso.com
    • Malware.contoso.com
    • Malware.contoso.com/nefarious
  4. URL 筛选在本地 URL 类别缓存中查找各个部分。

    注意:如果请求无法与本地缓存中的 URL 类别匹配,则 URL 筛选将查询 MRS。如果 MRS 返回“未知”,或者无法访问 MRS,则 URL 筛选向 Web 代理筛选器返回“未知”响应。
     
  5. URL 筛选知道与各个 URL 部分相关联的类别后,即可确定将应用到整个 URL 的类别。为此,TMG 使用由 MRS 提供的预定义优先顺序列表,告知 TMG 哪些类别优先。例如:
    • Com = 未知
    • Contoso.com = 常规业务
    • Malware.contoso.com = 恶意软件
    • Malware.contoso.com/nefarious = 未知
    在本例中确定了两个类别:“常规业务”和“恶意软件”。根据预定义的优先顺序列表,“恶意软件”优先于“常规业务”,因此,整个 URL 将被指定为“恶意软件”。
     
  6. 如果得到的 URL 类别集与某个拒绝规则匹配,则将拒绝请求,并将一个错误响应返回到 Web 应用程序。
  7. 如果 URL 类别不与拒绝规则匹配,而是与某个允许规则匹配,则根据匹配规则的其余条件处理请求。
  8. 如果请求无法与用户创建的任何拒绝规则或允许规则匹配,则 TMG 规则将由默认拒绝规则处理,并将拒绝响应返回到 Web 应用程序。

从统计角度而言,由于用户具有 Web 使用习惯倾向,因此随着 Forefront TMG 不断处理用户请求,URL 类别缓存与组织的相关度将越来越高。这样,MRS 查询与用户请求的比率最终将降低。由于 URL 类别有可能改变,因此 MRS 为每个条目分配了一个生存时间。这样,MRS 请求数永远不会完全为零,即使用户始终访问相同站点。

若要彻底了解 URL 筛选如何工作,还必须了解 Web 应用程序如何创建连接和发出请求。Web 应用程序通常按是否配置为充当 Web 代理客户端的应用程序而分为两个类别。#p#

  • Web (CERN) 代理:对此类 Web 应用程序进行配置,使其作为 Web 代理并能够进行相应的操作。Web 应用程序将连接到 Web 代理侦听器,并按特定格式发出请求:
  • HTTP:
METHOD http://website.contoso.com/path/page.aspx?querystring HTTP/1.x
METHOD http://1.2.3.4/path/page.aspx?querystring HTTP/1.x

在这种情况下,Forefront TMG 以及 URL 筛选具有完整的 URL 可用于与 URL 筛选数据库进行比较。

注意:METHOD 可以是任何有效的 HTTP 方法,如 GET、POST 等。

  • HTTPS:
CONNECT website.contoso.com:443 HTTP/1.x
CONNECT 1.2.3.4:666 HTTP/1.x

对于这些请求,Forefront TMG 和 URL 筛选将只有主机名或 IP 地址(具体取决于客户端如何发出请求)以及端口用于与 URL 筛选数据库进行比较。

  • 非 Web 代理:在 Web 应用程序未配置为充当 CERN 代理客户端时,它尝试将网站的名称解析为 IP 地址,如果成功,则将使用原始 URL 中的任意端口尝试连接到该 IP 地址。无论客户端是 TMG Client(以前称为防火墙客户端)还是 SecureNET 客户端(也称为 SecureNAT 客户端),将使用以下格式发送请求:
METHOD /path/page.aspx?querystring HTTP/1.x

在这种情况下,URL 筛选评估请求的能力取决于两个条件:

  • 连接是否定向到默认 HTTP 端口?如果是,则 Web 代理或许能够截取此请求,并将它传递到 URL 筛选进行比较。如果不是,则 URL 筛选将看不到请求,因此就无法与数据库进行比较。
  • 如果将连接定向到默认 HTTPS 端口,则是否启用 HTTPS 检查?如果是,则 HTTPS 检查可以桥接连接,并且 URL 筛选有机会将请求与数据库进行比较。

不太明显的一点是,URL 筛选自身不提供任何形式的阻止机制,它仅仅使用与请求的 URL 关联的类别向 Web 代理发出响应,因为 Web 代理(从而使得 URL 筛选)能够理解该响应。无论在什么情况下,当 URL 筛选接收到客户端请求时,它按照图 2 中所示运行。 

 

图 2 URL 筛选的基本流程

如果 Forefront TMG 需要查询 MRS,则使用单个 Web 服务调用对 MRS Web 服务门户发出请求。MRS 处理由 Forefront TMG 提供的数据,然后使用的当前 URL 类别进行响应,这些类别可应用于收到的数据 MRS。Forefront TMG 2010 具有预定义的域集,其中包括安装 Forefront TMG 时启用的门户目标(请参见图 3)。 

 

图 3 MRS 域集

如果发现 URL 筛选返回的 URL 类别符合“拒绝”规则,则 Forefront TMG 会将拒绝响应(HTTP 结果代码 502)发送到客户端。根据客户端是浏览器还是其他 Web 应用程序,用户或许可以看到 Forefront TMG 响应页;如果应用程序不是浏览器(如 Windows Media Player 或 CERN 代理 FTP 应用程序),用户可能只会看到应用程序自身发出的错误消息。

由于 Forefront TMG 为确定 URL 类别而必须执行的成本最高的任务是查询 MRS,因此相对于允许用户访问网站然后对其请求的所有内容执行恶意软件扫描,此过程在 CPU、内存和网络资源方面的成本要低很多。#p#

使用 HTTPS 检查对加密通道进行控制

多年以来,用户一直被建议为执行安全的在线交易,必须使用带有 SSL 的 HTTP (HTTPS)。但是,此安全通道也被用于恶意目的。用户使用 HTTPS 启动交易时,此通信通常是端到端(从用户到目标服务器)加密,从而使在两端之间交换的内容不会由两端之间的任何设备访问。虽然这是需要的行为,但由于您不希望任何人查看您的在线信用卡交易,由此造成的缺点是无法评估此通道内发生的恶意操作。图 4 突出显示了使用 ISA Server 2006 作为防火墙时此操作的主要部分。

 

图 4 传统 HTTPS 方案

图 4 说明了客户端访问 HTTPS 站点的完整代理方案。总结起来,步骤分为两个主要阶段,概述如下:

阶段 1 – SSL 隧道

  1. 客户端连接到 Web 代理。
  2. 客户端发出 SSL 隧道请求:CONNECT malicious.contoso.com:443 HTTP/1.1。
  3. Web 代理将 malicious.contoso.com 解析为 IP 地址 1.2.3.4。
  4. Web 代理在 TCP 端口 443 上连接到 1.2.3.4。
  5. Web 代理将“200 OK”发送到客户端。

阶段 2 – 加密对话

  1. 客户端与 Web 服务器交换 SSL 握手消息、加密密钥和证书。
  2. 客户端现在与目标服务器建立了端到端的加密隧道,并将通过此隧道开始进行发送和接收方面的通信。
  3. ISA Server 使客户端与服务器之间的该隧道保持打开,但不检查通信,因为它没有此功能。

此方案中的阶段 2 存在潜在风险,边缘防火墙并不了解该通道中真正传输的内容。在目标服务器已被劫持并插入了恶意代码的情况下,存在的潜在风险是目标服务器将通过此加密通道发送恶意软件,而客户端将毫不迟疑地接收,因为恶意软件来自理应受信任的连接。

Forefront TMG HTTPS 检查功能可检查通信,并在用户与服务器之间维护单独的加密通道,从而减少此威胁。图 5 说明 Forefront TMG 如何达到此目的。

 

图 5 运行中的 HTTPS 检查

总结起来,步骤仍分为两个主要阶段,但该过程现在包括检查:

阶段 1 – 客户端请求

  1. 客户端连接到 TMG 代理侦听器。
  2. 客户端发出 SSL 隧道请求:CONNECT malicious.contoso.com:443 HTTP/1.1。
  3. TMG 将 malicious.contoso.com 解析为 IP 地址 1.2.3.4。
  4. TMG 在 TCP 端口 443 上连接到 1.2.3.4。
  5. TMG 与服务器协商 SSL 连接并评估证书。
  6. 如果证书有效可信,则 TMG 将向客户端发送“200 OK”响应。

阶段 2 – 带有检查的加密对话

  1. 客户端和 TMG 交换 SSL 握手消息、加密密钥和证书。请注意,由于 TMG 使用派生自 Web 服务器证书的信息构建服务器证书,因此客户端相信自身在与 Web 服务器通信。
  2. 现在,客户端与 Forefront TMG 之间有加密隧道,而 Forefront TMG 与目标服务器之间有加密隧道。Forefront TMG 将能够按以下顺序检查客户端与服务器之间的所有通信:

    a)     TMG 接收并解密来自目标服务器的加密通信。

    b)     TMG 将恶意软件检查功能和 NIS 筛选器应用到通信。

    c)      如果恶意软件和 NIS 筛选器允许,TMG 会加密结果并发送到客户端工作站。

    d)     客户端将接收、解密并处理通信。

若要与客户端建立 SSL 握手,Forefront TMG 需要服务器证书。为了创建证书,Forefront TMG 根据原始服务器证书数据创建仿冒证书,并使用 HTTPS 检查 CA 证书对其签名。为确保获得最佳性能,Forefront TMG 维护复制服务器证书的缓存。TMG 将在本地缓存中搜索复制服务器证书,如果未找到证书,则会复制上游服务器证书并放在缓存中。缓存仅存储在内存中。因此,在重新启动防火墙服务后,仿冒证书缓存为空。

注意:缓存的大小(由证书数决定)由 LowLevelSettings.ClonedCertificatesCacheSize COM 属性控制。#p#

HTTPS 检查选项

配置 HTTPS 检查之前,了解组成此功能的完整功能集和选项非常重要。图 6 显示了可以配置 HTTPS 检查的区域。 

 

图 6 HTTPS 检查功能集

在计划实现 HTTPS 检查时,需要首先考虑证书设置,以确定是使用自签名证书还是由内部 CA 发出的证书。导入现有的受信任证书颁发机构时,需要有包含颁发机构的证书及其私钥的 PFX 文件。您需要此私钥对 TMG 发出的仿冒证书签名,还必须确保为证书签名设置了证书的密钥使用。随后,此 CA 证书必须部署在客户端计算机上(位于本地计算机证书存储区的“受信任根证书颁发机构”下);否则,客户端将不会信任从 TMG 接收的服务器证书。

在 Forefront TMG 上,可以通过 Web 访问策略启用 HTTPS 检查功能。请按以下步骤操作,启用此功能:

  1. 在 Forefront TMG 控制台中,单击“Web 访问策略”,然后在“任务”窗格的“Web 保护任务”下选择“配置 HTTPS 检查”。
  2. 在“HTTPS 出站检查”屏幕的“常规”选项卡上,选择“启用 HTTPS 检查”复选框,如图 7 中所示。 

 

图 7 启用 HTTPS 检查

本例中将使用 Forefront TMG 自签名证书。单击“生成”,此时将显示类似于图 8 中的页面。 

 

图 8“生成证书”窗口

  1. 在“生成证书”页上,根据公司需要填写颁发者名称、过期日期和 Issuer 语句,然后单击“立即生成证书”。
  2. 此时将生成新证书并弹出“证书”页。验证证书配置并单击“关闭”。
  3. 单击“确定”以关闭窗口。
  4. 在“HTTPS 出站检查”窗口上,单击“HTTPS 检查受信任的根 CA 证书选项”按钮。此时将显示“证书部署选项”窗口,如图 9 中所示。 

 

图 9 选择如何部署证书

  1. 如果 TMG 属于某个域,则建议的部署方法为“自动通过 Active Directory”。选择此选项时,系统会自动使用组策略将 TMG CA 证书部署到客户端计算机。单击“域管理员凭据”按钮,然后键入将供此操作使用的凭据。单击“确定”。请注意,在用户名字段中不应包括域。
  2. 由于 Forefront TMG 使用 certutil 工具将 TMG CA 证书发布到 Active Directory,因此您可能会看到命令提示简要窗口。依次在“自动证书部署成功”消息框和“证书部署选项”窗口上单击“确定”。
  3. 单击“确定”以完成。

重要说明:除了满足组织的安全策略之外,在启用 HTTPS 检查功能之前,还需要评估所有法律和监管规章。可以将任何认定为不适合使用 HTTPS 检查的站点添加到例外列表中。#p#

增强的用户体验

Forefront TMG 中的 HTTPS 检查和 URL 筛选不仅有助于向最终用户提供受保护的网络漫游环境,还包括可增强最终用户体验的功能,这一点可以通过提供信息性消息以及提供直接与最终用户相关的自定义或精确错误消息来实现。  

HTTPS 客户端通知

为保证遵守公司的隐私策略,可以启用客户端通知,以便在对 SSL 站点进行检查时提醒最终用户,并向最终用户提供退出该站点的选项,从而保护最终用户认为或归类为个人信息的内容。图 10 说明了此行为。 

 

图 10 HTTPS 检查客户端通知

用户要接收 HTTPS 检查通知,客户端计算机必须安装了 Forefront TMG Client,并且必须在本地计算机的“受信任根证书颁发机构”证书存储区中安装了 HTTPS 检查受信任根证书颁发机构。请记住,如果您具有上游和下游 TMG 配置,则需要在下游代理而非上游代理上启用 HTTPS 通知。

若要实现 HTTPS 检查客户端通知,必须同时在 Forefront TMG 服务器和客户端上启用它。若要在服务器上启用 HTTPS 检查通知,请执行以下操作:

  1. 在 Forefront TMG 管理控制台中,单击“Web 访问策略”。
  2. 在右侧窗格中的“任务”下,单击“配置 HTTPS 检查”。
  3. 在“客户端通知”选项卡上,单击“通知用户将检查 HTTPS 内容”,然后单击“确定”。

若要在 Forefront TMG Client 上启用通知,请执行以下操作:

  1. 在系统任务栏中右键单击 Forefront TMG Client 图标,然后单击“配置”。
  2. 在“安全连接检查”选项卡上,选择“需要检查发送到安全网站的内容时通知我”,然后单击“确定”。

URL 筛选错误消息

管理员可以根据 URL 类别允许或拒绝最终用户的 Web 访问。如果用户尝试转到已被拒绝的站点,则将收到类似于图 11 中所示的错误消息,其中说明对该站点的访问已被拒绝,因为 Forefront TMG 管理员已将其这样分类。 

 

图 11 拒绝访问网页

TMG 管理员可以自定义错误消息。为此,请执行以下操作:

  1. 打开 Forefront TMG 管理控制台并单击“Web 访问策略”。
  2. 双击以打开由管理员创建的用于允许或拒绝访问的规则。
  3. 单击“操作”选项卡,如图 12 中所示。

 

图 12 自定义 URL 筛选错误消息

您可以将任何自定义消息添加到“向用户显示拒绝通知”文本框。您甚至可以使用 HTML 内容,只要该 HTML 在 HTML <body> 元素的上下文中有效即可,但不能包括任何脚本。

您还可以选择显示拒绝访问的站点的类别。为此,请单击“将拒绝请求类别添加到通知中”复选框。如果站点分类不正确,则这一点尤为重要,以便最终用户可以告知您。相应地,您可以通过遥测将此反馈发送到 Microsoft,同时设置覆盖类别来纠正分类,直至修复好。

如果您希望更改整个 URL 筛选错误消息页的外观,则需要编辑 12232.htm HTML 页。在 Forefront TMG (ISA Server) 产品团队博客Forefront TMG 2010 上的拒绝页自定义页上可以找到相关信息。

本文地址

本文来源:微软TechNet中文站

【编辑推荐】

  1. Microsoft Forefront安装教程
  2. 使用Microsoft Forefront Client Security的亲身体验
  3. Microsoft Forefront新亮点
  4. Microsoft Forefront安装教程
责任编辑:佟健 来源: 微软TechNet中文站
相关推荐

2011-03-22 10:36:02

2011-10-25 10:07:54

2011-10-25 09:58:01

2010-05-13 21:30:23

2010-08-30 13:01:00

2010-03-05 10:07:55

2010-07-12 14:15:56

2010-09-26 13:51:26

Forefront系统

2010-07-28 18:21:04

2010-11-19 12:40:12

Visual Stud云应用程序

2010-03-01 16:02:20

2009-09-17 09:57:21

Microsoft P微软

2009-04-02 10:51:58

2011-03-07 15:36:10

2022-01-12 08:49:33

CaddyWeb服务器Go语言

2013-06-27 11:40:37

2011-03-11 16:53:21

2010-08-10 14:54:28

2009-05-25 15:18:52

2012-12-04 09:29:23

点赞
收藏

51CTO技术栈公众号