不久以前,网络管理员还没有深入研究他们机构的网络服务平台。如果他们工作的部门采用Windows系统,他们就运行微软的互联网信息服务器(IIS),如果他们工作的部门采用Linux/Unix系统,他们就使用Apache。IIS和Apache这两个孪生兄弟是永远也不会碰面的。然而,时代发生了变化,Apache HTTP服务器计划通过发布一个网络服务器的Windows版推倒了把它们隔开的墙。网络服务器的历史可以追溯到原来的NCSA httpd服务器。现在,在这个领域有两个“大孩子”,而且Windows管理员至少拥有了某种灵活性(不要指望微软很快发布Linux平台的IIS!)。
从安全的角度说,这个选择是有争议的。下面这四个因素可能会影响你做出为你的机构选择最安全的平台的决策:
?固有的服务器安全漏洞。尽管媒体对微软的批评很多,但是,这两个平台几乎同样容易受到攻击。计算机应急事件反应小组安全漏洞数据库最近发表的一项研究结果显示,IIS安全漏洞受到了28次攻击,Apache的安全漏洞受到了25次攻击。在信息安全领域,这就像赛马中的差距一样是非常接近的。
?现有的网络管理知识。如果你的网络管理员已经使用了其中的一种平台,并且非常熟悉其安全设置,那就是一个极为重要的因素。大量的安全突破都是由于技术不熟练的网络管理员的设置错误造成的。当你使用一个新的平台的时候,出现错误是很容易的。
?熟悉操作系统的管理员。一个网络服务器的安全同基本的操作系统的安全是完全一样的。如果一个攻击者能够获得这个操作系统的管理员权限,攻破网络服务器就是小事一桩。因此,在做这个决策的时候要考虑你的系统管理员的技能。如果你是一个使用Windows操作系统的部门,这就不是一个主要的因素,因为IIS和Apache都在Windows平台上运行。然而,如果你的部门使用Unix,在你的分析中就要为Apache增加附加分数,因为转换到IIS仍需要保留在Windows环境中工作的管理员。
?开发人员的技能。如果你在创建一个动态网页(ASP、PHP、CGI等),考虑一下你的开发人员的安全技能。同操作系统管理员一样,开发人员在熟悉的环境中犯错误的可能性很小。如果你的开发人员喜欢某一种开发环境,你要把这个因素考虑进去。然而,你还应该了解在互联网上有很多把普通的网络开发系统移植到其它平台上的方法。例如,Sun Java系统ASP和Apache::ASP都允许使用在RedHat服务器上的ASP。同样,在IIS服务器上安装和设置PHP也是可能的。
我们是从信息安全的角度讨论这个问题的。记住这一点非常重要。虽然IIS和Apache在功能上相同,但是,如果你们的技术人员掌握了与你们机构关系密切的技术,在进行风险和收益分析时一定要考虑这个因素。网络服务快乐!