Microsoft Home Microsoft Home
Microsoft FrontPage Server Extensions Resource Kit logo  Microsoft FrontPage 2000 服务器扩展资源工具箱

UNIX 上的安全性


 第 8 页,共 10 页   

Apache Patch 安全性策略

FrontPage Apache 补丁程序包括两个部份:

  • FrontPage Apache 模块,可截取由 FrontPage 客户端向 FrontPage 服务器扩展可运行文件发出的请求,进行安全检查并将请求重新导向到设置为 SUID root 的 fpexe 存根程序。通过截取服务器中的所有请求,不需要任何脚本别名。
  • fpexe 程序,接受由 FrontPage Apache 模块发出的创作请求、运行额外的安全性确认、将站点服务器处理的用户 ID 更改为正在进行创作的 FrontPage 扩展的站点的所有者,然后调用 FrontPage 服务器扩展可执行文件的集中复本。

 

由于 fpexe 存根程序必须将 SUID 设置为 「root」,才能将站点服务器处理的用户 ID 更改为站点的所有者,因此会进行大量的安全性检查来防止这个存根程序被人利用。所进行的安全性检查,其目的在确认下列各项:

  • fpexe 存根程序及其目录设置了适当的所有权和权限。
  • 服务器扩展可执行文件及其目录设置了适当的所有权和权限。
  • 正在创作的站点内容区域具有有效的用户 ID 。
  • 正在创作的站点内容区域具有有效的用户组 ID 。
  • 只运行 FrontPage 服务器扩展 CGI 可执行文件,而不运行系统上的其他 CGI脚本。
  • 清除所有环境变量(包括路径),只传递在事先选定和审批的列表上的变量。
  • FrontPage 服务器扩展可执行文件只由站点服务器调用。
  • 站点服务器过程初始化时会动态产生一个 128 字节的关键字,它被传送到 fpexe 程序和并被确认,以保证只有站点服务器才能运行 fpexe 。

 

128 字节的关键字是在初始化站点服务器时动态地生成的,并被保存在一个 suidkey.* 文件中便确认。只有「root」能读取和写入这个文件,并且它保存在一个只能由 root 读取的目录中。suidkey .* 文件可以在只有 root 具有权限下写入,因为站点服务器在初始化时的过程以「root」运行,而且不会在初始化完成以前,切换至另一个用户 ID( 例如「www」)。suidkey.* 文件名的后缀是站点服务器的处理组的 ID 。

这个动态关键字的内容是在初始化站点服务器时,根据处理状态 (ps) 命令的输出序列生成,并与保存在 /usr/local/frontpage/version4 0/apache-fp/suidkey 中的管理员控制的自定义关键字文件的内容异或。必须存在这个自定义关键字文件,它只能由“root”拥有和读取,且至少包括 8 字节数据。

在您服务器的维护工作中,请于重新开始服务器时,定期地更改自定义关键字文件的内容。这样可以保护关键字。

当 FrontPage Apache 模块处理请求以调用 FrontPage 服务器扩展可运行文件时,该模块会对请求的进行初步确认,然后将请求重新导向至 fpexe 存根程序。初始化服务器时所生成的 128 字节关键字通过管道被传送至 fpexe,因此在程序环境中是不可见的。这个 128 字节关键字是由 fpexe 通过管道读取,然后与站点服务器初始化时创建的 suidkey.* 文件的内容进行比较。由于 fpexe 的用户 ID 是设置为“root”,因此它有权访问 suidkey.* 文件的内容。假定 suidkey.* 文件仍然有正确的权限 (只能由「root」读取之目录中的「root」读取),并假定 128 字节关键字也匹配,那么 fpexe 会进行附加的检查来确认目标 FrontPage 服务器扩展可执行文件的用户 ID、组 ID 以及所有权。

如果通过了所有检查,那么 fpexe 就会将服务器处理的用户和组 ID 切换到 站点内容所有者的用户和组 ID,然后运行 FrontPage 服务器扩展可执行文件。如果有任何的检查未能通过,则错误会被写入站点服务器记录中, 服务器扩展也不会运行。

请注意, FrontPage Apache 模块的安全性检查不会取代站点服务器的 .htaccess 文件安全性系统。这两种系统会共同工作,来确保 FrontPage 扩展的站点的安全性。站点服务器的 .htaccess 安全系统,会通过确认 FrontPage 服务器扩展的用户是已注册的站点站点访问者、创作者或是管理员,以保护对站点内容的远程访问。除了这个一般层次的安全性检查外, FrontPage Apache 模块的安全性检查保证 fpecxe 程序不会被用于获得对站点服务器的未经授权的 root 访问。

由于服务器管理员很注意用户 ID 设为 「root」的程序,因此 Microsoft 提供 FrontPage Apache 模块和 fpexe 存根程序的源代码以便检查。最新的源代码包含在 FrontPage 2000 服务器扩展下载工具箱中。源代码有很详尽的注释,并附有所执行检查的解释和在由于 FrontPage Apache 模块或 fpexe 登录不安全配置引起错误时,所应进行的恢复操作的解释。

Security section art
简介
Windows NT 上的
安全性
在 UNIX 上的安全性


 第 8 页,共 10 页      回到页首

最近更新时间 1998 年 11 月
©1998 Microsoft Corporation。保留所有权利。使用规定。