发信人: virus(令狐冲)
整理人: ccaatt(2001-10-23 08:54:23), 站内信件
|
不是令狐冲不想完成ISA的文章,实在是有心无力,令狐冲天生就不是写作的材料,特别是象这次这么长的文章,从来没写过,一想起来头皮就发麻,此为其一。
令狐冲上有单位领导,下有老婆孩子,上班要看着十三个网络、几百台机器,下班要顾着另一大半(加上两岁的女儿,呵呵),要抽出大量的时间实在不易,别看令狐冲平时经常在网上晃晃悠悠,其实都是靠一有空就偷一下闲偷出来的,此为其二。
令狐冲虽然进入网络行业已经六年的光景,但仍然需要继续学习,网络之路悠长而漫漫,就象一个人走进了沙漠,越往里走越深感沙漠之深邃无边。现在令狐冲能用于看书的时间就剩下晚上了,就让令狐冲保留最后一片私心吧,此为其三。
接下来的几个月,令狐冲有三百四十多万的工程要做,时间就更少了,此为其四。
仅此四点,足以让令狐冲无以续写ISA之篇章,惟有向大家诚恳地说声SORRY,令狐冲三扣首谢罪了(咣!咣!!咣!!!靠!!!!谁把棉花换成玻璃啦!!!)
下面是令狐冲在五六月份写的ISA文章,写了大概三分之一,名为《ISA-代理之王!》,希望对大家学习ISA有所帮助。
2001年以前的代理服务器市场,处于一个群雄并起的战国时代。
Qbik的CEO说:“看!我们的WINGATE功能多么齐备,所有的用户行为都在它的掌握之中!”
tinysoftware也不甘示弱:“不,我们的WINROUTE使用的NAT引擎才是最先进的!”
在他们的背后,还可以听到一个音量虽小但中气同样十足的声音:“世界早已进入了易用性的时代,繁杂的功能和设置只会让用户望而却步,单从用户数量来说,已经说明我们的SYGATE才是顾客们最喜爱的产品!”
时间进入2001年,一场战乱即将一统的端倪开始逐渐隐现,一个怀惴勃勃野心的新霸主正在悄然崛起,这个新霸主,就是微软最新的安全与代理产品:internet security and acceleration server---ISA!
没有喧嚣的锣鼓声,没有庞大的发布阵容,ISA就这样悄无声息地来到了人间,但是,对于微软的对手来说,它的出现,无疑是恐怖的一击、痛彻心脾的一击。每个使用了ISA的人,都会对ISA所蕴涵的强大功能赞叹不绝、兴奋不已,令狐冲也不例外,第一时间就把陪伴令狐冲多年的老朋友----WINGATE扔到了回收站,竟然那么决断!没有一滴眼泪、没有一丝伤感!
ISA强大的企业策略,让一向以用户控制能力著称的WINGATE黯然失色!与防
火墙安全性能紧密结合的secure NAT引擎,让一向对NAT颇为自负的winroute无地自容!他们过去所标榜的优点,在ISA面前,竟然统统变成了缺点。从MS PROXY1.0到MS PROXY2.0,从MS PROXY2.0到现在的ISA,微软仅用了区区三个回合就把他的对手们枪挑马下,多年来在代理市场上叱诧风云的专业代理一夜之间沦为了二流玩物!
当我们用手指敲打着微软的人工学键盘,手里紧握着微软制造的新式光眼鼠标,眼睛死死盯着屏幕上的视窗98,通过NETMETTING,通过MSN,通过internet上千千万万用ASP编写的网站,纷纷表达我们对“该死”咬牙切齿的痛恨并把印着他的头像的招纸当纸巾擦屁股的时候,又不得不对微软雄厚的技术力量感到衷心的钦佩与崇拜!
这,就是微软!
这,就是王者!!
微软浑身上下都充满了王者的魄力、王者的傲慢与王者的风范!
让我们来看一下ISA究竟有什么过人之处:
一、ISA的总体架构。
ISA是代理服务器和防火墙软件的高度集成,为客户端提供高安全性环境下的互联网访问,入侵检测功能能够防止企业受到来自互联网的入侵,并记录下入侵者的踪迹,此外,缓存也是ISA的一大核心功能,有了缓存,代理对客户端的响应时间大大降低,出口带宽得到高效的利用。下图是ISA大致的总体架构:
web proxy client --->web cache--->application filter--->internet
| web filter
|
|
http redirector
|
|
|
secure NAT client ---> NAT driver ---> firewall service <--- firewall client
ISA支持三种客户:web proxy clinet、secure NAT client和firewall client,这三种客户都可以在一个网络里同时存在,换句话说,ISA的存储转发引擎和NAT引擎能够同时工作,并能分辨客户的类别,把不同类别客户的请求传送到相应的引擎进行处理,这是ISA对客户支持的一个特点。
还有另外一个特点,就是NAT和firewall客户也能使用web cache,这一点是WINGATE和WINROUTE从来没有过的,NAT和firewall客户的请求在经过防火墙服务后,被送到http协议重定向器,由http redirector重定向到web cache服务,先查看cache中有没有请求的内容,有就把该内容送回NAT和firewall客户,没有的话就直接到INTERNET上下载。
HTTP重定向器还支持对HTTPS协议的重定向,大概有些网友会对HTTPS协议感到陌生,其实HTTPS并不是什么新东西,IE很早的版本已经支持它了,全名叫secure HTTP,是为了满足高安全性的web服务而设计的,核心内容是SSL协议,secure socket layer,安全套接层,SSL协议为HTTP协议提供数据加密和身份确认。
除了firewall service,ISA还具有application filter和web filter功能,这两个过滤器是独立于firewall service之外的,它们为客户提供应用层级的过滤。
二、缓存管理。
缓存管理是ISA的核心功能,是很值得大书特书的一笔,这也是ISA与其它代理服务器分开一个档次的其中一个主要原因。许多网友在使用ISA的时候,多数会把它安装成一台单独的服务器,就是stand alone模式,在这个模式下,ISA缓存管理的性能远远未能充分发挥,只有在array模式下,就是阵列模式,ISA才能充分发挥缓存的性能。在阵列模式中,ISA把网络中的数台ISA服务器组成一个阵列,对处于阵列中的所有ISA服务器的缓存进行统一的管理,ISA是使用CARP协议管理阵列中的缓存的,正是CARP协议才使得ISA的缓存管理拥有强大的威力。
CARP协议全称叫cache array routing protocol,缓存阵列路由协议,这个协议对处于同一阵列中的所有ISA服务器的缓存内容进行统一的定位、分配和查找。其实,早在MS PROXY2.0,微软就已经开始支持CARP,只不过MS PROXY2.0对客户的支持和防火墙的性能还不是十分强壮,才没有引起人们特别的关注。
欲了解CARP的性能,首先要谈一谈CARP协议的前身-----ICP,internet cache protocol(互联网缓存协议),ICP的诞生,是为了满足对分布式缓存的管理要求,它也象CARP一样,要求使用ICP的服务器组成一个阵列,ICP通过一定的算法把缓存内容分布到各个服务器中,当客户请求时,再通过查询找出所请求内容在阵列服务器中的位置。但是,ICP有两个致命的弱点,一是算法不够精确,总是难以避免存储内容的重复,即相同的内容有可能会存储到不同的服务器中,这会降低阵列缓存空间的利用率;二是由于ICP查找缓存时是通过查询进行的,当加入阵列的服务器一多,整个网络的带宽会被一大堆查询严重侵蚀,组成阵列的服务器越多,情况越严重。
CARP协议对ICP的算法进行了重新设计和优化,名叫散列算法,新的算法对缓存的定位比ICP精确了很多,基本上不再出现内容重复的现象,散列算法同时也承担缓存内容的查找,查找的速度也比ICP迅速。与ICP的查询方法相比,整个阵列的效率和空间利用率得到很大的提高。ISA的缓存管理继承了MS PROXY 2.0 缓存管理的所有优点,同时还开发出了新的功能,比如:scheduled content download,即缓存内容计划下载,ISA的CARP能够对客户经常访问的内容按预先设定的计划主动下载,对缓存的内容进行经常性的主动更新,进一步提高缓存的命中率。
安装ISA的时候,ISA会在用户指定的磁盘中建立一个叫urlcache的目录,里面存储着后缀名为cdat的cache文件,每个cache文件最大可以达到10G,第一个cache文件叫dir1.cdat,超过10G的最大容量时,就增加一个叫dir2.cdat的文件,如此类推。
三、策略。
策略是ISA防火墙的重要功能,它包含了对站点、站点内容、内部站点发布、高层协议、低层协议和带宽分配等方面的控制,它分为三种:企业策略(enterprise policy)、阵列策略(array policy)和访问策略(access policy),这三种策略并不是任何时候都同时存在的,当ISA工作在阵列模式下时,可以使用企业策略和阵列策略,这时候阵列策略代替了访问策略的角色;当ISA工作在单独服务器模式下时,就只有访问策略一种了。
企业策略是最高级的策略,数台ISA可以组成一个阵列,数个阵列可以组成一个企业阵列,阵列策略只能对本阵列有效,而企业策略对加入其中的数个阵列都有效,阵列策略受到企业策略的限制,但企业策略不能对单独服务器的访问策略进行管理,企业策略只有具有企业管理员权限的人员才能设置,默认情况下,系统管理员帐号都属于企业管理员组。
所有的策略都不是单独性地、直接地设置的,而是由多个称为策略元素的东西构成,企业策略与阵列策略或访问策略的策略元素是分别设置的,但内容基本一样,都由schedules、destination sets、client address sets、protocol definitions和content groups组成,而阵列策略与访问策略还多了bandwith priorities和dialup entries两项。这些元素的具体内容将在服务器设置一章中讲述。
ISA的策略组成中还有另外一个重要的内容,就是对数据包的过滤(ip packet filter),这个ip packet filter对ISA的安全性相当重要,同时也是ISA防火墙功能的重要组成部分,只有它才能对与外网连接的网卡上的数据包进行过滤,也是抵受外来入侵的最前线,同时,对服务器安全非常重要的入侵检测(intrusion detection)功能也安装在这一层上。
ISA能够对多种入侵进行检测,比如:
windows out-of-band attack:就是以前winnuke软件使用的攻击方法;
Land attack:利用TCP协议进行连接发送同步数据包时把源地址改成跟目标地址一样,造成目标机器TCPIP协议栈进入死循环,解决方法是利用ip packet filter限制源地址的通讯;
Ping of death:这个就是大家熟知的死亡Ping,解决方法是建立一个策略禁止来源于INTERNET的ICMP ECHO数据包;
ip half attack:通常一个完整的TCP连接是通过SYN/ACK数据包进行同步的,当目标机器正在监听某个端口时,对源机器的连接请求会发送一个SYN/ACK数据包,如果目标没有监听某个端口,就会发送一个RST数据包,而一般的机器只会记录完整的SYN/ACK连接,不会记录RST连接和未完成的连接,源机器可以通过分析目标机器发回的数据包是否RST但又不完成连接,从而不被记录地扫描目标机器的开放端口。解决方法很简单,建立一个策略堵塞源地址的通讯。
UDP bomb:在UDP数据包中填进某些非法值,可以使一些老式操作系统崩溃;
port scan:端口扫描,ISA可以记录下扫描本机端口的机器的源地址和服务名,以利于系统管理员分析和采取防范措施。
四、服务器和客户端的设置
限于编幅的关系,令狐冲不可能对每一个细节都进行详细的讨论,令狐冲将忽略那些比较基本的、一看就知道是什么东西的设置,而重点讨论其中的要点和需要注意的地方。
1。服务器端的安装
ISA只能安装在WIN2K SERVER中,并且需要先打上SP1的补丁。在ISA总共一百四十多兆的庞大身躯中,其实真正属于ISA的部分只有四十多兆,其余差不多一百兆是WIN2K SP1的英文版,它存放在SUPPORT目录里面。
在ISA的安装AUTORUN画面中,只有右面的三个图标真正有用。最下面的一个是有关从MS PROXY2。0迁移到ISA的技术文档,最上面的一个叫run isa enterprise initialization,实际上这是一个在活动目录中加入ISA schema对象的程序,ISA SCHEMA即ISA计划,只有在活动目录中加入了ISA计划对象,ISA才能安装为阵列模式,没有安装活动目录或即使装了活动目录但没有加入ISA SCHEMA对象,那么ISA就只能安装成STAND ALONE模式。运行这个ISA SCHEMA的
时候,程序提示说这个过程不可逆,但令狐冲试验了一下,其实还是可以反安装的,只要重新运行run isa enterprise initialization图标就行,ISA对象会从活动目录中删掉。
在安装ISA SCHEMA的过程中,会出现一个提示选择企业策略的对话框,如果选择了use array policyonly,整个阵列就只有阵列策略而没有企业策略了,而在allow array-level access policy rules that restrict enterprise policy前打勾会让阵列策略限制企业策略,如果在内部网络中有自己的WEB服务器而且需要在INTERNET上发布,就要在allow publishing rules前打勾,最后一项是force packet filtering on the array,选择它会强制使用阵列策略中的
IP PACKET FILTER。在这里设置的企业策略会成为默认企业策略,虽然是默认企业策略,但并不意味着企业策略不能再更改,实际上,不管在阵列模式的安装过程中还是安装后,都可以重新定义企业策略。
按一下中间的图标,就开始安装ISA了。令狐冲通常选择自定义安装,这样能够拥有更多的自由去定制ISA,选择完安装的组件,ISA会问你是否安装在阵列模式下,按YES后,ISA开始自动寻找网络中已有的阵列,以便让用户选择加入
已有的阵列还是新建一个,如果找不到,ISA会直接提示输入新阵列的名字。按OK,会出现与ISA SCHEMA类似的策略配置对话框,选择use default enterprise policy settings会使用安装ISA SCHEMA时配置的默认企业策略,而选择use custom enterprise policy settings就能够对企业策略重新自定义。
按CONTINUE,出现选择阵列服务器工作模式的对话框,有三种选择,第一
个是firewall mode,这个模式是纯粹的防火墙,用户虽然也能上INTERNET,但没有WEB CACHE;第二个是cache mode,如果安装在这个模式,ISA服务器将不能配置自己的INTERNET出口,需依赖上游服务器(up stream proxy)的INTERNET出口;第三个是integrated mode,就是整合模式,这个模式的ISA服务器拥有所有的功能。接下来,ISA会停止机器中的WEB服务(如果有),为什么要停止WEB服务呢,因为80端口和8080端口都将被ISA占用,autodiscovery服务使用80端口,WEB PROXY使用8080端口,如果ISA服务器不使用autodiscovery服务,也可继续使用本机的WEB服务,但这样会迫使移动用户手工设置客户端。
最后一项重要内容就是构造LAT表,LAT表全称为local address table,用于标识本地IP地址范围,LAT表只对firewall client有效,WEB PROXY客户和SECURE NAT客户不使用LAT。firewall client首先在客户端的WINSOCK接口后端截获WINSOCK应用程序的服务请求,然后把目标地址跟LAT表比较,只有当目标地址不在LAT表内的时候才将请求送到ISA服务器。单击LAT表配置对话框中的construct table按钮,可以让ISA自动配置LAT表,ISA自动选择了10.0.0.0/8的A类私有地址、192.168.0.0/24的C类私有地址和172.16.0.0/16-172.31.0.0/16的B类私有地址等几个范围,如果用户内部网络地址范围不在此范围中,大可以不选择这几个IP范围。
LAT中的内容位于一个叫msplat.txt的文件里面,这个文件存放在ISA服务器的安装目录里,当firewall client启动或启动后每隔六个小时,会自动从ISA服务器下载这个文件,用户可以在这个文件中手工加入条目,如果直接在msplat.txt文件中加入,那么最多六小时后就会被服务器LAT表中的内容覆盖,ISA为了解决这个问题,设置了一个叫locallat.txt的文件,用户自己手工加入的条目可以放在这个文件里面,这样就不会被服务器的内容覆盖了,格式如下:
10.10.10.2 10.10.30.20
192.168.0.0 192.168.0.240
locallat.txt文件存放在客户机的firewall client的安装目录里。
2。服务器端的设置
如果ISA安装在阵列模式,就会在ISA管理器的左上方看见enterprise一项,把它展开,在enterprise policy 1上面按右键,选属性,其中的array标签里面列出了网络中的阵列,在阵列名前面打勾,可以把企业策略应用于这些阵列。安全标签指定了能够进行企业策略配置的人员,默认是处于企业管理组中的人员,注意里面有一个叫authenticated users的组名,这个组名应当删掉,否则所有有权在本地登录的系统管理员都能配置企业策略。ISA的策略设置非常严格,如果你装好ISA后不作任何设置,按通常的理解,应该是允许所有的通讯,但ISA刚好相反,会当作什么也不允许处理,所以呢,你非得设置allow才行。企业策略可以设置两项内容,site and content rules和protocol rules,
---- OICQ:46973511 欢迎互相交流经验
___________________________________________
为什么这世间总有那么多人喜欢追名逐利?
古今多少豪杰,多少英雄,到头来只剩下一掊黄
土!
我们的网络何尝不是如此!
回想当年,网络中几番风风雨雨,几度潮起
潮落,最终还不是化作清风一缕,消散无形?
往事,不堪回首!!
苍 海 一 声 笑 涛 涛 两 岸 潮
浮 沉 随 浪 只 记 今 朝
苍 天 笑 纷 纷 世 上 潮
谁 负 谁 胜 出 天 知 晓
江 山 笑 烟 雨 遥
涛 浪 涛 尽 红 尘 俗 世 几 多 娇
清 风 笑 竟 惹 寂 聊
豪 情 还 剩 了 一 襟 晚 照! |
|