在以前,我写过一篇“别再随便上网的文章”,介绍了使用ISA Server 2006、Windows Server 2003的Active Directory,主要内容是让网络中的计算机加入到域、然后安装ISA Server防火墙客户端、使用ISA Server作“代理服务器”后,才能让用户上网的文章。这是在奥运期间,给几个政府做的网络安全中的一部分。这个方案在很长的一段时间应用都没有问题,但随着用户水平的提高,有以下问题:
(1)一些用户发现,即使不加入到域,而在IE浏览器中指定代理服务器的地址(ISA Server的地址)与防火墙的端口,也能上网。
(2)在使用代理服务器后,除了要在IE中指定代理服务器的地址、端口外(这个是由ISA Server防火墙客户端自动设置好的),其他的一些软件,也需要指定代理服务器与端口,这样就造成了用户的负担。虽然可以在ISA Server中设置策略(排除对HTTP之外协议的身份认证-创建策略,允许“所有用户”从“内部”到“外部”使用除HTTP协议之外的所有协议),但这样一来又与我们的初衷不相符合(只有域用户或只有认证用户才能上网)
为了解决这两个问题,我搭建了图1的实验环境,并实验成功(由于现在许多单位的网络已经升级到Windows Server 2008与Forefront TMG 2010,本实验用TMG 2010,ISA Server与此配置相同)。现简单介绍一下。
图1 实验拓扑
在图1中,有两台Windows Server 2008,其中一台作Active Directory服务器,计算机名称为ad,域名为msft.com,IP地址为192.168.1.2,网关为192.168.1.1,DNS为192.168.1.2;另一台计算机安装Windows Server 2008 X64(或Windows Server 2008 R2),加入到msft.com域,其中内网IP地址为192.168.1.1,外网IP地址为192.168.88.100(用路由器连接到Internet,这是路由器的“内网”地址),DNS为192.168.1.2。另外,在ad.msft.com计算机中安装并配置了DHCP服务器,为网络中的工作站分配IP地址等参数。
网络中有两台工作站,分别安装Windows XP与Windows 7,这两台计算机都加入到域。
实验的主要步骤如下:
(1)在192.168.1.2的计算机中,安装并配置DHCP服务器,设置作用域的地址范围为192.168.1.100~192.168.1.120,子网掩码为255.255.255.0,设置作用域的网关地址为192.168.1.1,DNS为192.168.1.2。同时添加“选项名”为“WPAD”、值为“http://tmg2010.msft.com:80/wpad.dat”的选项,如图2所示。这是为DHCP的客户端自动指派Forefront TMG防火墙服务器的配置。
图2 配置DHCP
(2)在Forefront TMG 2010的管理控制台中,在“网络连接”中,双击右侧的“内部”,在“web代理”选项卡中,取消“为此网络启用web代理客户端连接”的选择,如图3所示。
图3 取消Web代理客户端连接
【说明】禁用Web代理客户端后,用户再手动设置“ISA Server或Forefront TMG做代理”将不起作用,因为Forefront TMG代理服务器没有启用。
(3)在“Forefront TMG客户端”选项卡中,选中“启用此网络的Forefront TMG客户端支持”,并且指定Forefront TMG的名称,在本例中为“tmg2010.msft.com”,然后取消“自动检测设置”、“使用自动配置脚本”、“使用Web代理服务器”的选择,如图4所示。
图4 启用Forefront TMG客户端支持
(4)然后返回到“防火墙策略”,创建访问规则,允许“msft”用户以“所有协议”从“内部”访问“外部”,如图5所示。
图5 创建访问规则
其中“msft”是在Forefront TMG中创建的“用户集”,代表“msft.com整个域”中的“domain users”用户组(表示域中所有用户),如图6所示。
图6 添加域用户集
(5)然后应用策略即可。
接下来在Windows XP与Windows 7计算机上进行设置。主要步骤如下:
(1)在Windows XP与Windows 7中,分别设置为“自动获取IP地址与DNS地址”,然后加入到域并以域用户登录,安装Forefront TMG的防火墙客户端,安装完成之后,进入“Forefront TMG客户端”配置,在“设置”选项卡中,选中“启用Forefront TMG客户端”并选中“自动检测到的Forefront TMG”,将会检测到Forefront TMG服务器的地址,在本例中为tmg2010.msft.com,如图7所示。
图7 安装Forefront TMG客户端并检查配置
(2)然后在客户端中浏览网页、登录QQ、UC、MSN等,使用其他网络软件,这些不用配置都可以使用,如图8所示。
图8 上网、QQ、UC正常
(3)在Windows 7客户端测试也正常,如图9所示。
图9 Windows 7测试正常
(4)如果以“本地用户”登录到计算机,不能上网,也不能用其他软件(例如QQ),如图10所示。即使设置了代理服务器也不行。
图10 不加入到域则不能上网
下表列出了Forefront TMG几种客户端的要求与支持身份验证级别、协议支持。
功能 |
Forefront TMG 客户端/防火墙客户端 |
Web 代理客户端 |
SecureNAT 客户端 |
安装详细信息 |
必须在客户端计算机上安装 Forefront TMG 客户端或其他防火墙客户端软件 |
不需要安装。 |
不需要安装。 |
操作系统支持 |
Windows 操作系统。 |
运行与 CERN 兼容的应用程序的任何平台。 从这类应用程序发出请求的 SecureNAT 和防火墙客户端还作为 Web 代理客户端。 |
可以使用支持 TCP/IP 的任何操作系统。 |
协议支持 |
支持所有 Winsock 应用程序。 |
支持将 HTTP、HTTPS 和 FTP 用于下载请求。 |
支持所有简单协议。 需要多个主要连接或辅助连接的复杂协议需要使用 Forefront TMG 应用程序筛选器。 |
用户级身份验证 |
向 Forefront TMG 服务器自动发送客户端凭据,并根据需要进行身份验证。 |
如果 Forefront TMG 请求凭据,则可以进行身份验证。 如果启用匿名访问,则不提供任何凭据。 |
无法提供凭据,并且无法通过 Forefront TMG 进行身份验证。 |
建议 |
当需要 Forefront TMG 中的身份验证规则以改进 Forefront TMG 的自动恢复时,用于用户名登录和支持辅助协议。 |
用于通过代理的基于用户的 Web 访问和发送到上游代理的链 Web 请求。 由于 Web 请求被直接转发到 Web 代理筛选器,因此性能良好。 |
用于非 Windows 客户端。 在需要支持非 TCP 或 UDP 协议(如 ICMP 或 GRE)时使用。 如果要将客户端原始的源 IP 地址转发到已发布服务器,应将已发布的非 Web 服务器配置为 SecureNAT 客户端。 |
Forefront TMG服务器在TCP的1745端口侦听Forefront TMG客户端的请求,你可以在防火墙客户端使用netstat –an –p tcp命令,来查看防火墙客户端与服务器端的连接,如图11所示。
图11 防火墙客户端与服务器端的连接
本文出自 “王春海的博客” 博客,谢绝转载!