ISA
访问控制技巧
很多单位在使用
ISA2006
时,都希望用
ISA
对员工上网进行约束,今天我们就为大家介绍一些限制用户上网的技巧。由于在域和工作组环境下使用的方法有所不同,因此我们将内容分为两部分,一部分介绍在工作组环境下如何操作,另一部分则针对域环境。
我们从工作组开始介绍,在工作组环境下,控制用户上网大多采用两种手段,
IP
地址或用户身份验证,多数管理员会倾向于利用
IP
控制。
工作组环境的实验拓扑如下图所示,
Beijing
是
ISA2006
服务器,
Perth
和
Istanbul
是工作组内的两台计算机。
一
利用
IP+Arp
静态绑定
工作组环境下进行身份验证并不方便,因此管理员一般会采用
IP
地址进行访问控制。根据源
IP
限制访问者是包过滤防火墙的基本功能,从技术上看实现起来很简单。如果我们希望只有
Perth
能上网,那我们就可以创建一个允许上网的计算机集合,然后将
Perth
加入此集合即可。
在
ISA
服务器上打开
ISA
服务器管理,在防火墙策略工具箱中选择新建“计算机集”,如下图所示。
为计算机集取名为“允许上网的计算机”,点击添加计算机,准备把
Perth
加进来。
输入
Perth
的名称和
IP
地址,点击“确定“,这样我们就创建了一个计算机集合,集合内包括
Perth
。
创建了计算机集合后,我们来修改一下访问规则,现有的访问规则是允许内网和本地主机可任意访问。在访问规则属性中切换到“从”标签,如下图所示,选择“内部”,点击“删除”,然后把刚创建的计算机集合添加进来。
修改后的规则如下图所示。
在
Perth
上访问百度,一切正常,如下图所示。
换到
Istanbul
上访问,如下图所示,
Istanbul
无法访问
Internet
。
看起来我们达到了用
IP
控制用户上网的目的,问题已经解决,其实不然。由于目前
ISA
只是依靠
IP
地址进行访问控制,过不了多久,
ISA
管理员就会发现有“聪明”人开始盗用
IP
,冒充合法用户访问外网。为了应对这种情况,我们可以考虑使用
ARP
静态绑定来解决这个问题,即在
ISA
服务器上记录合法客户机的
MAC
地址。在本例中,我们让
ISA
记录
Perth
的
MAC
地址。如下图所示,
ISA
先
ping Perth
,然后用
Arp –a
查出
Perth
的
MAC
地址,最后用
Arp –s
进行静态绑定,这样就不用担心用户盗用
IP
了。
二
用户身份验证
工作组环境下进行用户身份验证并不方便,但不等于无法进行用户身份验证,在工作组中进行身份验证可以使用镜像账号的方式,即在
ISA
服务器和客户机上创建用户名和口令都完全一致的用户账号。例如我们允许员工张强访问外网,张强使用的计算机是
Istanbul
,那我们可以进行如下操作。
A
在
ISA
服务器上为张强创建用户账号
在
ISA
的计算机管理中,定位本地用户和组,如下图所示,选择创建新用户。
用户名为
zhangqiang
,口令为
Itet2008
。
B
在
ISA
服务器上创建允许上网的用户集
在防火墙策略工具箱中,展开用户,如下图所示,点击新建。
为新建用户集取名为“允许上网用户”。
在新创建的用户集中添加“
Windows
用户和组”,如下图所示。
在用户集中添加
beijing\zhangqiang
,如下图所示。
创建完用户集,点击完成。
接下来我们要修改访问规则,只允许指定用户集访问外网。还是对那条允许内网用户任意访问的访问规则进行修改,这次不修改访问的源网络了,如下图所示,我们对源网络不进行任何限制。
这次限制的重点放在了用户上,在规则属性中切换到用户标签,将“所有用户”删除。
将“允许上网用户”添加进来,如下图所示。
D
在
Istanbul
上创建张强的镜像账号
现在内网的访问用户必须向
ISA
证明自己是
ISA
服务器上的用户张强才能被允许访问外网,那怎么才能证明呢?其实很简单,只要客户机上的某个用户账号,其用户名和口令和
ISA
服务器上张强的用户名和口令完全一致,
ISA
就会认为这两个账号是同一用户。这里面涉及到集成验证中的
NTLM
原理,以后我会写篇博文发出来,现在大家只要知道如何操作就可以了。
在
Istanbul
上创建用户账号张强,如下图所示,用户名为
zhangqiang
,口令为
Itet2008
。
做完上述工作后,我们就可以在
Istanbul
来试验一下了。首先,我们需要以张强的身份登录,其次,由于
SNAT
不支持用户验证,因此我们测试时需使用
Web
代理或防火墙客户端。
如下图所示,我们在客户机上使用
Web
代理。
在
Istanbul
上访问百度,如下图所示,访问成功!
在ISA
上打开实时日志,如下图所示,ISA
认为是本机的张强用户在访问,镜像账号起作用了!
三
Web
代理与基本身份验证
在上面的镜像账号例子中,访问者利用了集成验证证明了自己的身份,其实
ISA
也支持基本身份验证。曾经有朋友问过这个问题,
ISA
能否在用户使用浏览器上网时弹出一个窗口,访问者必须答对用户名和口令才可以上网?这个需求是可以满足的,只要访问者使用
Web
代理以及我们将
Web
代理的身份验证方法改为基本身份验证即可。
在
ISA
服务器中查看内部网络属性,如下图所示,切换到
Web
代理标签,点击“身份验证”。
将
Web
代理使用的身份验证方式从“集成”改为“基本”,如下图所示。
防火墙策略生效后,在客户机上测试一下,如下图所示,客户机访问互联网时,
ISA
弹出对话框要求输入用户名和口令进行身份验证,我们输入了张强的用户名和口令。
身份验证通过,用户可以访问互联网了!
以上我们简单介绍了如何在工作组环境下控制用户上网,接下来我们要考虑在域环境下如何操作。相比较工作组而言,域环境下控制用户上网是很容易做到的,既然有域控制器负责集中的用户身份验证,既方便又安全,如果不加以利用岂不太过可惜。在域环境下控制用户上网基本都是依靠用户身份验证,除了有极个别的
SNAT
用户我们需要用
IP
控制。具体的处理思路也很简单,在域中创建一个全局组,例如取名为
Internet Access
。然后将允许上网的域用户加入此全局组,最后在
ISA
中创建一个允许访问互联网的用户集,把全局组
Internet Access
加入允许访问互联网的用户集即可。
域环境拓扑如下图所示,
Denver
是域控制器和
DNS
服务器,
Perth
是域内工作站,
Beijing
是加入域的
ISA2006
服务器。
一
DNS
设置问题
ISA
有两块网卡,两块网卡上究竟应该怎么设置
TCP/IP
参数,尤其是
DNS
应该怎么设置?这是个容易被忽略但又很重要的问题,因为
DNS
既负责定位内网的域控制器,也要负责解析互联网上的域名,设置不好轻则影响内网登录,重则严重影响大家上网的速度。我们推荐的设置方式是只在内网网卡设置
DNS
,外网网卡不设置
DNS
服务器。
在本例中,
ISA
服务器的内网网卡的
TCP/IP
参数是
IP
为
10.1.1
.254
,子网掩码为
255.255.255.0
,
DNS
为
10.1.1.5
;外网网卡的
TCP/IP
参数是
IP
为
192.168.1.254
,子网掩码为
255.255.255.0
,网关为
192.168.1.1
。这样一来,内网的
DNS
既负责为
AD
提供
SRV
记录,也负责解析互联网上的域名,结构简单,易于纠错。
有朋友认为只有电信提供的
DNS
服务器才能解析互联网上的域名,这种看法是不对的。我们在内网中搭建的
DNS
服务器只要能访问互联网,它就可以解析互联网上的所有域名。根据
DNS
原理分析,如果
DNS
服务器遇到一个域名自己无法解析,它就会把这个解析请求送到根服务器,根服务器采用迭代方式指导
DNS
服务器解析出目标域名。因此,想要内网的
DNS
服务器能解析出互联网上的域名,只要允许内网
DNS
服务器能访问互联网即可。
A
我们应该在
ISA
上创建一条访问规则,允许
DNS
服务器任意访问,并且将这条规则放到第一位,如下图所示。
B
为了提高
DNS
的解析速度,可以考虑在
DNS
服务器上设置转发器,将用户发来的
DNS
解析请求转发到电信的
DNS
服务器上。
转发器的设置如下,在
Denver
上打开
DNS
管理器,右键点击服务器,选择“属性”,如
下图所示。
在属性中切换到“转发器”,在转发器
IP
地址处填写电信
DNS
服务器的
IP
,填写完毕后点击添加,如下图所示。这样我们就设置好了转发器,以后
Denver
解析不了的域名将转发给
202.106.46.151
,利用电信
DNS
的缓存来加快解析速度。
二
依靠身份验证限制用户
解决了
DNS
的问题后,我们就可以利用身份验证来限制用户访问了。
A
创建允许访问互联网的全局组
在域控制器上打开“
Active Directory
用户和计算机”,如下图所示,在
Users
容器中选择新建组。
组的名称为
Internet Access
,组的类型为全局组。
如下图所示,点击完成结束组的创建。
我们只需将允许访问互联网的用户加入
Internet Access
即可,如下图所示。
B
创建允许访问互联网的用户集
在
ISA
服务器防火墙策略的工具箱中展开用户,如下图所示,选择“新建”。
启动用户集创建向导,为用户集取个名字。
在用户集中选择添加“
Windows
用户和组”,如下图所示。
我们将查找位置设为“整个目录”,对象名称输入“
Internet Access
”,如下图所示。
确定将
Contoso.com
域中的
Internet Access
组加入新创建的用户集。
完成用户集的创建。
C
修改访问规则
创建完用户集后,我们修改访问规则,
ISA
原先有一条访问规则允许内网用户任意访问,我们对规则进行修改,限制只有特定用户集的成员才可以访问外网。
在访问规则属性中切换到“用户”标签,如下图所示,删除“所有用户”集合。
点击添加,将“允许访问互联网的用户”加进来,如下图所示。
这样就相当于
ISA
服务器将访问互联网的权限赋予了
Internet Access
组,凡是加入组的用户都将继承到这个权限,他们通过
ISA
访问互联网时将不会遇到任何障碍,也不会被提示输入口令进行身份验证,您看,在域环境下用户的透明验证是不是真的很方便呢?
总结:限制用户访问外网是
ISA
管理员经常遇到的管理需求,一般情况下不是用
IP
就是靠身份验证,身份验证在域中实现易如反掌,在工作组中实现就要靠镜像账号了。