详解FrontPage服务器的使用与维护工作运营维护

2010-10-28    来源:博客    编辑:丁丁
虽然有许多人对FrontPage服务器的安全性表示怀疑,但在年复一年的不断发展中,他的安全性也在不断提高。保障FrontPage服务器的安全性是完全有可能的,但前提是要深入理解到底什么是

  虽然有许多人对FrontPage服务器的安全性表示怀疑,但在年复一年的不断发展中,他的安全性也在不断提高。保障FrontPage服务器的安全性是完全有可能的,但前提是要深入理解到底什么是FrontPage服务器,及他是怎么运作的。

  一、运行原理

  FrontPage Server Extensions即FrontPage的服务器端扩展模块,他增强了Web服务器的功能,使得创作者能够远程管理和发布网站,例如通过FontPage直接和Server Extensions交互,实现文件上载、连接到数据源、修改Web授权等操作。FrontPage Server Extensions更有一个称为WebBots的运行时组件,他提供了许多高级功能,诸如表单发布、讨论页面、内容链接等。

  在服务器上安装FrontPage Server Extensions之后,能看到他包括三个二进制文件--admin.dll,author.dll,和shtml.exe,分别实现管理、创作、运行支持。FrontPage Server Extensions的版本不同,这三个文件的扩展名可能不同,例如.dll可能变成.exe,.exe可能变成.dll。另一方面,IIS允许指定任意一种扩展名,因为IIS有一个名为fpexedll.dll的ISAPI筛选器,他会把请求指向正确的位置。 BBS.bitsCN.com网管论坛

  这三个二进制文件驻留在_vti_bin虚拟目录中,_vti_bin虚拟目录映射到物理目录\program files\common files\microsoft shared\web serverextensions\40\isapi(或,对于FrontPage Server Extensions 2002,物理目录是\program files\common files\microsoft shared\web server extensions\50\isapi)。所有FrontPage Web网站(指安装和启用了FrontPage Server Extensions的网站,下同)都有一个虚拟目录映射到该路经。FrontPage通过向这些二进制文件发送HTTP POST请求,实现和Web服务器的通信,POST请求的正文中包含一些特别的命令(称为vti_rpc命令),指示服务器执行一些特定的操作。

  FrontPage Server Extensions的服务对象不限于FrontPage,微软的其他许多技术,包括Web目录、Office Web发布、SharePoint小组服务,都离不开FrontPage Server Extensions,他甚至更有一个ADO驱动程式,能用来查询FrontPage Web页面。显然,在微软的Web战略规划中FrontPage Server Extensions有着重要地位,短期之内不可能被放弃。

  二、风险分析

  虽然微软在不断地改进FrontPage Server Extensions的安全性,但他不可避免地增加了Web服务器面临攻击的机会(一般而言,越是复杂的系统,弱点总是越多)。例如,FrontPage Server Extensions提供了一种进入Web服务器的通道。用FrontPage连接Web服务器时需求输入一个密码,密码保护虽然不无益处,但同时也给攻击者提供了猜测密码的机会,攻击者能方便地利用脚本程式执行暴力破解,非常快就能尝试数百、数千个常用的密码,一旦密码泄露,攻击者就能随心所欲地修改Web内容了。

  FrontPage服务器面临的另一个安全问题是他能用来收集服务器信息。只要向shtml.exe发送一个适当的HTTP POST请求,就能得到FrontPage Server Extensions版本、Web服务器软件版本、OS平台、匿名Web用户帐号、FrontPage Web网站的名称等信息,虽然这些信息本身不算机密,但方便了攻击者采取更具有针对性的动作。

  由于所有FrontPage Server Extensions命令都是作为POST数据发送给各个二进制文件,IIS的日志中只能记录对这些二进制文件的POST请求,却不能记录具体的_vti_rpc命令。

  虽然我们能设置FrontPage Server Extensions,使其记录创作类的动作(默认不记录),但日志仍不能确保包含命令的参数。例如,如果一个管理员修改了FrontPage Web网站的设置,日志中会有一个"设置服务元数据"的条目,但没有进一步的具体信息,也就是说,他只能说明"确实有设置被改动了",但不能告诉我们"到底哪些设置被改动了"。另外,日志文件的位置也非常难改动,一般总是保存在FrontPage Web网站的_vti_log目录下。

  更有一个重要的安全问题是FrontPage Server Extensions运行在IIS进程(inetinfo.exe)之内,他们都运行在SYSTEM帐户的安全上下文之下,因此,所有FrontPage Server Extensions的安全漏洞(例如缓冲溢出)都可能使攻击者获得全部的访问权限。

  FrontPage服务器带来的最后一个风险源于不能选择安装目录。一般情况下,Web目录应当和系统文件放在不同的分区,这种分离增加了攻击者全方面了解文件系统的难度,避免攻击者访问敏感的系统文件。不过,FrontPage Server Extensions的_vti_bin虚拟目录安装在系统分区上,不能发挥分离Web分区带来的优势。此外,_vti_bin虚拟目录带有可执行标记,如果出现类似Nimda蠕虫的攻击,非常容易被利用。

  三、安全机制

  FrontPage Server Extensions的安全模型建立在IIS和NTFS的安全之上。FrontPage Web网站有三种基本的访问授权:浏览,创作,和管理。授予浏览权限意味着用户能够浏览FrontPage Web网站,授予创作权限意味着用户能够上载和修改FrontPage Web网站的文件,如果授予一个用户管理权限,那么他将能够修改FrontPage Web网站的设置。

  FrontPage Web网站根目录的NTFS ACL设置决定了用户访问文件系统的权限。如果一个用户有NTFS"读取"权限,他就能浏览目录;如果用户有NTFS"写入"权限,他就能创作FrontPage Web网站;如果要管理一个FrontPage Web网站,则用户必须有FrontPage Web网站根目录的"修改"权限。注意这些权限是NTFS文件系统的权限,而不是在Internet信息服务管理器(ISM)控制台中设置的Web访问权限。

  当FrontPage客户程式向author.dll或admin.dll发送一个POST请求,服务器开始验证用户的身份。客户程式发出POST请求之后,IIS首先检查FrontPage Web网站的根目录,确定匿名用户帐户是否有权执行当前请求的操作。如果没有,IIS需求用户提供名称和密码以便验证身份。用户提交名字和密码之后,FrontPage Server Extensions再次检查根目录,确定该用户身份是否具有适当的权限。如果FrontPage Server Extensions认可了用户的身份,则用户被视为具有Web创作者或管理员的权限。

  这里非常容易出现的一个问题是错误地设置FrontPage Web网站根目录的权限,或将根目录放到了FAT分区。FrontPage Server Extensions 2000之前的版本安全性比较脆弱,默认设置不包含密码;2000及更高版本的FrontPage Server Extensions安全模型稍微坚固一些,采用了非空的默认密码,但我们不时能看到修改根目录授权的情形,授予所有人"写入"的权限,特别是在研发环境中,由于安全性的需求不高,这种情形尤其常见。如果IUSR_machinename(其中machinename是计算机的名字)帐户具有写入根目录的权限,所有连接到FrontPage Server Extensions的用户将自动被授予全部创作或管理FrontPage Web网站的权限。

  类似地,由于FrontPage服务器高度依赖于NTFS的授权机制,安装在FAT文件系统上的FrontPage Server Extensions会将所有管理功能授予每一个用户,因为FAT文件系统不具有限制文件访问的能力。 所以在使用FrontPage Server Extensions时,一定要换个网络位置来登录FrontPage Web网站,看看有没有出现验证身份的提示;如果没有,那就应该仔细检查一下权限设置问题了。

  四、十大措施

  要保障FrontPage Server Extensions的安全,必须从多个角度、多个层次来考虑。FrontPage服务器的设置和安全策略将在非常大程度上决定保障FrontPage Server Extensions安全的措施。下面列出了十个步骤,以此为依据能构造出一个比较完善的FrontPage Server Extensions安全策略。

1
3