精典的ASP传奇的J2EE新生的NETFTP服务器服务器安全WINDOWSB/S 模式WEB安全WAP世界动态网站推广宣传
空间服务器数据库技术邮局服务器站長工具硬设与组建Alexa专题DHTML项目管理WEB标准电脑硬件
病毒知识电脑使用布线协议接入交换路由局域网无线网络网络规划
Visual BasicVisual C/C++MssqlMySqloracleSybase 存在安全风险进程系统进程列表应用程序进程列表其它进程列表
黑客编程漏洞分析本地提权免杀技术脚本漏洞数据库注入安全防护内网渗透加密解密工具使用
WAP技术WAP入门
 您的位置:   >> 相关知识 >> 服务器搭建 >> WINDOWS >>

FrontPage服务器扩展分析与安全策略

合金网络科技

 
  添加日期: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注册键。表一提供了推荐的取值。

表一:推荐的注册键值

键 含义 推荐的值
AccessControl 如果设置成0,FrontPage的权限检查全部禁止,每当创建新的网站,管理员必须手工设置各个_vti目录的访问权限,如果不设置访问权限,所有用户都将获得创作权限。 1
AllowExecu
tableScripts 如果设置成非0值,FrontPage将设置可执行目录下文件的可执行标记。如果一个目录具有可执行标记,则它里面的所有文件也会拥有可执行标记。如果创作者有权上载文件到可执行目录(即NoExecutableCgiUpload设置成了0),则当AllowExecutableScripts设置成非0值时,创作者能够执行新上载的CGI脚本和ISAPI扩展。如果NoExecutableCgiUpload设置成0,且AllowExecutableScripts也设置成0,创作者能够上载和使用ASP和IDC文件,但不能上载和使用CGI或ISAPI文件。 0
ClientVer
Cutoff 设置可以用来创作Web内容的最早的FrontPage客户程序版本。vti_clientvercutoff:SX|4.0.2.0000
ListSystemsDSNs 默认值是1,表示允许FrontPage创作者枚举服务器上的DSN。 0
Logging 如果设置成非0值,FrontPage Server Extensions将在_vti_log目录的Author.log文件中记录所有创作操作。 1
NoExecutable
CGIUpload 如果设置成非0值,FrontPage Server Extensions将不会为创作者利用FrontPage上载到服务器的CGI脚本设置可执行标记。 1
NoMark
Scriptable 设置成非0值时,FrontPage用户不能修改Web网站上任何目录的脚本资源标记,这时必须由Internet服务提供者手工设置。 1
NoSaveResults
PipeTo FrontPage的早期版本允许缺省的(保存结果)表单处理程序将表单结果发送给任意程序。提供该选项是为了向后兼容,如果设置成非0值,表示禁用该功能。 1

NoSaveResults
ToAbsoluteFile 如果设置成1,默认的(保存结果)、注册、讨论表单处理程序不能对绝对文件路径执行写操作,即使浏览帐户拥有对路径执行写操作的NTFS权限也一样。如果设置成0,FrontPage默认的(保存结果)、注册、讨论表单程序能够对绝对文件路径执行写操作。 1
Private
Browsable 设置成1表示允许浏览器访问Web网站中的_private目录。若要防止访问者浏览_private目录,可将该选项设置为0。该设置选项只影响随后创建的新网站,设置选项之前已经存在的网站不会受影响。 0
RestrictIISU
sersAndGroups 设置成非0值表示启用FrontPage Web网站的用户和组限制功能。 1
RequireSSL 如果启用该功能,FrontPage Server Extensions要求FrontPage客户程序和服务器之间建立SSL连接。 1

  ㈣ 及时安装补丁。尽量使用最新的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带来的安全风险将减少到最低程度。

精典的ASP精选TOP
· 利用ADODB.Stream 防盗链
· Adodb.Stream说明手册
· 采集需要登录
· ASP 判断远程图片是否存在
· 在ServerXMLHTTP组件中使用代理服务器
· 用XMLHTTP通过代理服务器从服务提取数据的一些问题
· objXML.readystate的值
· 互联网HTTP连接等出错代码大全
· 利用XMLHTTP实现的二级连动Select
· 利用 xmlhttp 分块上传文件
 
服务器安全点击TOP
· 新云最新漏洞总结篇
· 各类网站的默认数据库和密码
· Windows Server2003 防木马权限设置IIS服务器安全配置整理
· 针对ASP网站的Win 2003硬盘安全设置
· IIS 6 的PHP 最佳配置方法
· 利用SA.exe 将Iusr_victim克隆为Administrator
· Cmd模式下的入侵技术大全
· 破解网页代码加密
· SERV-U 6.4提权方法,通杀SERV-U版本
· 新云网站管理系统文件注入漏洞
 
硬设与组建点击TOP
· 从头到尾教你组建小型局域网20
· 从头到尾教你组建小型局域网19
· 从头到尾教你组建小型局域网18
· 从头到尾教你组建小型局域网17
· 从头到尾教你组建小型局域网16
· 从头到尾教你组建小型局域网15
· 从头到尾教你组建小型局域网14
· 从头到尾教你组建小型局域网13
· 从头到尾教你组建小型局域网12
· 从头到尾教你组建小型局域网11
 
病毒知识点击TOP
· 不再重装 手动清除顽固病毒AutoRUN
· 木马静态变动态 DLL木马程序大揭秘
· 详解一个很牛X的网马
· 一个网马
· Trojan-Downloader.Win32.Delf.bab
· 抓了一个AJAX的网马
· 迅雷5 最新0day利用程序
· 自动关掉270种杀毒软件
· RealPlayer 最新网马
· 五个反弹型后门的源代码
 
WINDOWS点击TOP
· 4【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 3【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 2【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· 1【系统知识】常见文件扩展名及简要说明!!! ==超详尽==
· Capture an HTML document as an image
· 如何给eWebEditor编辑器加上运行代码框功能
· 给CuteEditor5增加了高亮代码显示功能
· CuteEditor6.0使用配置心得体会
· 关于IE插件的CLSID问题
· 对开发的程序(制作CAB)进行签名,并允许网站中使用
  "凌风微型文章系统",针对"搜索引擎"完美设计,提高"搜索引擎"对网站容量,质量的评估值,"扁平化,转静态 ..."