| 您的位置: >> 相关知识 >> 服务器搭建 >> WINDOWS >> |
|
合金网络科技 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 添加日期:2006-6-5 点击次数:37次 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
过去几年中发生了许多针对FontPage Server Extensions的重大攻击事件,所以FontPage Server Extensions的名声似乎不是很好,一些安全教程甚至认为不值得去想办法提高FrontPage Server Extensions的安全性,建议直接予以删除 。但是,如果你确实要使用FrontPage Server Extensions提供的诸多功能,例如对网站创作的支持,那就不得不认真考虑这样一个问题:是否有可能保障FrontPage Server Extensions的安全?答案是肯定的,只是必须花些时间进行规划和配置。
虽然有许多人对FrontPage Server Extensions的安全性表示怀疑,但在年复一年的不断发展中,它的安全性也在不断提高。保障FrontPage Server Extensions的安全性是完全有可能的,但前提是要深入理解到底什么是FrontPage Server Extensions,以及它是如何运作的。 一、运行原理 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筛选器,它会把请求指向正确的位置。 这三个二进制文件驻留在_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 Server Extensions面临的另一个安全问题是它可以用来收集服务器信息。只要向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 Server Extensions带来的最后一个风险源于不能选择安装目录。一般情况下,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 Server Extensions安全的措施。下面列出了十个步骤,以此为依据可以构造出一个比较完善的FrontPage Server Extensions安全策略。 ㈠ 保障用户帐户的安全。明确地定义用户角色,把Web创作和管理权限授予用户或用户组时一定要谨慎。为每一个帐户设置复杂的密码,不要让一个以上的用户共用同一个帐户。为防止暴力破解,最好将Administrator帐户改成不易猜测的名字。 ㈡ 设置适当的NTFS权限。确保FrontPage Web网站的根目录没有从它的父目录继承权限,确保匿名用户帐户不具有写入任何网站的权限。取消_vti_bin的子目录的运行权限,然后将各个要运行的文件标记为可运行,这样,FrontPage Server Extensions的二进制文件仍能正常运行,但禁止了后来放入该目录的文件运行,另外,对于匿名用户,应当明确地禁止其写入FrontPage Server Extensions二进制文件目录的权限。 ㈢ 修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\All Ports注册键。表一提供了推荐的取值。 表一:推荐的注册键值 键 含义 推荐的值 NoSaveResults ㈣ 及时安装补丁。尽量使用最新的FrontPage Server Extensions版本,及时安装操作系统的Service Pack和Hotfix。FrontPage Server Extensions 2000的更新文件包含在Windows 2000的Service Pack之中,但FrontPage Server Extensions 2002的补丁需要单独下载。 ㈤ 如有可能,通过SSL连接取得FrontPage Server Extensions的创作和管理授权。 ㈥ 启用日志。在Web网站的属性对话框中,进入'服务器扩展'选项卡,选中'记录创作操作'选项,如图一所示(打开属性对话框的方式:右击计算机名字,选择菜单'属性')。定期检查和整理每一个FrontPage Web网站_vti_log目录下的日志文件。 ㈦ 设置FrontPage Server Extensions目录的IP限制。在ISM中,右击各个以_vti开头的目录,转到'目录安全性'选项卡,设置IP地址和域名限制。 ㈧ 如果只从内部网络访问FrontPage Server Extensions,但不从外部网络访问FrontPage Server Extensions,可以为FrontPage访问创建一个镜像网站。创建镜像网站的步骤是:首先在ISM中新建一个网站,将新网站指向和源网站相同的物理路径。从源网站删除FrontPage Server Extensions,然后在新网站上安装FrontPage Server Extensions,运用IP限制、非标准端口、SSL、主机名字限制等技术保障新网站的安全。注意,删除FrontPage Server Extensions之后,源网站仍会包含一些_vti目录,运用步骤七介绍的办法限制对这些目录的访问。 ㈨ 禁用创作支持。有的场合只要用到FrontPage的WebBots,不需要(或者不允许)远程创作和管理。打开ISM,显示出Web网站的属性对话框,在'服务器扩展'对话框中,清除'启用创作功能'选项,如图二所示。另外,对于_vti_aut和_vti_adm目录,清除所有授权,并将其'执行权限'选项设置为'无'。 ㈩ 改变FrontPage Server Extensions二进制文件的位置。如前所述,将二进制文件放在系统分区并非最佳的选择,最好把它们移到另一个位置,操作步骤如下:首先在另一个分区创建一个目录,将\program files\common files\microsoft shared\web serverextensions\40(对于FrontPage Server Extensions 2002,应该是\program files\common files\microsoft shared\web serverextensions\50)目录下的所有内容复制到新目录--注意是复制而不是移动,这样就在原来的位置保留了一个副本,因为有几个FrontPage的DLL包含对默认位置的'硬编码'引用。 运行Regedit.exe,搜索原路径,将它们都替换为新的路径。然后从微软下载中心(http://www.microsoft.com/downloads)下载MetaEdit,用MetaEdit再次搜索原来的路径,将它们替换为新的路径。重新启动计算机。 新建一个FrontPage Web网站来测试改动效果,FrontPage Server Extensions将自动创建新位置的_vti_bin目录。注意在安装补丁程序之后,应当再把二进制文件复制到新的位置。 当然,有的场合不需要用到FrontPage Server Extensions,这时删除FrontPage Server Extensions也是一种很好的选择。删除办法是:打开ISM,对于每一个FrontPage Web网站,右击网站名字并选择菜单'所有任务'→'删除服务器扩展',接下来再删除所有网站的_vti和_private目录,最后再更改WWW服务的属性--在ISM中右击计算机的名字,从菜单选择'属性',进入'ISAPI筛选器'选项卡,选中fpexedll.dll,把它删除。关闭全部窗口,这时所有网站的FrontPage Server Extensions已被完全禁用。但必须说明的是,这些操作并未从系统彻底删除FrontPage Server Extensions,以后管理员可以方便地重新安装(启用)它。 综上所述,要保障FrontPage Server Extensions的安全,并非只有彻底删除这一解决之道。虽然FrontPage Server Extensions还不能说是完美的,但也不至于天生就是不安全的。安装FrontPage Server Extensions确实增加了Web服务器面临的风险,但只要尽量做到上面的十个安全措施,由于FrontPage Server Extensions带来的安全风险将减少到最低程度。 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "凌风微型文章系统",针对"搜索引擎"完美设计,提高"搜索引擎"对网站容量,质量的评估值,"扁平化,转静态 ..." |