量使产品可用,功能更强大,曾经是微软的基本设计理念,但是现在事情发生了变化。遭受了网络安全学者和网络破坏者两年的攻击后,微软在进入英特网服务领域时,做出了一项英明的决定。现在,他们必须停下来想办法限制用户的访问权限。
因为有许多Windows 2000 和NT4用户在遭受网络攻击后才知道自己已在不知不觉中运行了IIS,所以微软在IIS6的默认配置中做出了明智的调整。用户即使安装了Windows .Net Server后,IIS6甚至都可能未被安装,是否安装IIS6取决于用户序列号。即使安装了IIS6,它也不会自动激活。激活后,它的默认配置也会令它处于锁定状态,并不能真正使用。用户必须激活其中的一些特性才能真正启用它。除了这些,IIS6还借鉴了防火墙的一些新特性,例如,过滤掉潜在攻击请求。如果微软宣称的这些IIS6新特性都能真正实现,那么这个新的Web服务器版本将会在主机环境和其他纯Web应用环境中大受欢迎。
也许你会说,哈,每个人都知道IIS的安全性有多差。但实际上,我认为大约在去年,新的针对IIS的有效攻击手段几乎已经消失,这是微软不断发布新工具和补丁的结果。现在,维护IIS系统的安全比以往容易多了,IIS6将继续保持这一特色。尽管最近公布的一些安全漏洞大都发布了相应补丁,但人们仍对这些漏洞的危害颇有夸大之辞。
IIS6带有一个“工作者进程”,或称为后台任务,它负责检测尝试缓冲区溢出的攻击行为(缓冲区溢出是一种基于Web的主要攻击方式)。当然,这样做不可能阻止所有缓冲区溢出尝试,但它能阻止其中的大部分主要攻击方式。工作者进程监测缓冲区溢出行为,杀死所有受到攻击的进程。
IIS6还对匿名用户认证方式作了重要修改。默认的登录方式从INTERACTIVE改为 NETWORK_CLEARTEXT,用户因此不再需要交互登录。这意味着今后的域控制器同时也可作为Web服务器,并拥有了更高的安全保障。
IIS6并没有加入所有的Web安全措施。Windows .Net Server在TCP/IP堆栈层增加了端口过滤(实际上分为TCP, IP和 UDP过滤)。毫无疑问,防火墙在这方面可以工作得更好,但.Net Server在一个新的级别上为网络提供了安全防护,这对来自于防火墙内部系统的攻击来说意义更大。与目前的防火墙相比,它还增加了更多的带外安全防护。
在确定自己是否需要IIS服务之前,用户应该禁止此服务。Windows NT4和Windows 2000中的IIS目前还不能提供禁止服务功能,但微软已经为IIS versions 4 和IIS versions 5提供了IIS Lockdown工具。该工具能引导用户锁定IIS中的许多服务和有问题的应用,使用户环境接近于IIS6默认安装时所处的状态。
许多有经验的IIS用户和开发人员可能已经发现Lockdown工具的一个明显缺陷,最近有一些报导说,虽然Lockdown工具可以让用户自己寻找、挑选指定的服务组件,但对它的误操作可能会导致IIS丢失一些必需的功能组件。这种情形肯定也会在对IIS6的操作过程中出现。默认情况下,用户在旧版IIS中禁止的服务将不能在升级版中被激活。
毫无疑问,有许多应用需要根据IIS6的要求重新编写,重新配置,重新审议。在英特网繁荣时期的最初几年,微软发表了许多应该如何利用Web服务器的观念,这些观念现在看来都是不明智的,例如,使用Office应用把工作直接保存到Web服务器上。在未来的Web应用版本中,用户仍可以这么做,但管理员就不得不花费大量精力维护站点安全。微软正在致力于禁止这些功能,使管理员维护服务器安全的工作变得更简单。
用户安装Lockdown工具的同时,还安装了另一个非常有价值的工具: URLScan。它能阻塞向服务器发起的某些特殊类型的请求(技术上是一种ISAPI过滤),例如尝试运行.EXE文件,超长URL,或者是非ASCII字符的URL。URLScan的真正发行版本将是Inte.net Services Manager工具的一部分。在Linux 和 BSD中,用户可以通过配置文件控制URLScan。URLScan还记录被阻塞请求日志,这样用户就可以察看攻击的源头。大家都知道,这类请求可以是来自网络上已经受到了攻击的系统,也可以是来自于某个远程访问用户,日志文件能让用户很快区分这些源头。IIS6综合了许多这类功能。
微软将重点转向Web服务器的安全性,这确实令人鼓舞。当然,管理良好的服务器永远比管理薄弱的服务器有更好的安全性,在这一点上IIS与其它Web服务器没有两样。不过,IIS6中新的安全特性确实将有效提高Web安全防护能力。