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

UNIX 上的安全性


 第 1 页,共 10 页       UNIX 安全性模型

大部分 UNIX 站点服务器具有一个有权使用站点服务器的用户列表。这个访问文件是由站点服务器维护且独立于可以交互地登录到此计算机的用户和组的列表。

 

Microsoft® Windows® 95/98 和 Microsoft® Windows NT® 上运行的许多站点服务器也使用 UNIX 安全性模式。其中包括可以使用 Microsoft® FrontPage® 服务器扩展的站点服务器: FrontPage Personal WebServer、NetScape FastTrack、NetScape Enterprise、NetScape Communications、Netscape Commerce 和 O'Reilly WebSite。对 UNIX 安全性模式的说明也适用于这些服务器。


 

一个站点服务器的访问文件的内容包括每个用户的名称和密码和有关内容的详细信息、 CGI(公共网关接口)脚本以及其他允许每个用户访问的资源。 在 Apache 和 NCSA 站点服务器上,此文件名为 .htaccess; 在 Netscape 服务器上,此文件名为 .nsconfig.访问文件将用户、用户组和 IP 地址与不同等级的权限:GET(读取)、POST(执行)、PUT(写入)和 DELETE 联系起来。 例如,使用 FrontPage 的创作者有权使用 HTTP POST 命令(以访问 FrontPage服务器扩展和保存新内容),而一个有浏览权限的站点访问者会允许使用 HTTP GET 命令(以读取内容)。定义每组成员(例如,创作者)的列表是定义在由访问文件指向的单独的文件中。

一个站点服务器常常存有多个访问文件。每个访问文件提供包含它的目录的安全性,也提供该目录下的所有自己没有访问文件的子目录的安全性。通过创建整个网页服务器的访问文件,可以使有不同等级权限的不同的用户组访问服务器的不同区域。

要访问主机的文件系统和在主机上运行脚本和程序,站点服务器要当作一个 UNIX 帐号运行,这个帐号通常是“www.” 因为站点服务器在一个 UNIX 帐号下运行,它只有在使用同一个 UNIX 帐号的权限下对有权运行的程序和有权访问的文件的操作才有效。在多用户环境下,这样可能会导致一个安全性问题,因为一个用户的 CGI脚本可能会读取服务器上面另外一个用户的内容区域。 如果支持写入访问问题就变复杂了,这和 FrontPage 客户端的问题一样。如果一个用户的 CGI 脚本有足够的权限在用户自己的内容区域写入文件, CGI脚本也可以在其他用户的内容区域写入或覆盖文件。

要处理这个安全性的问题(这个问题是所有 CGI脚本共有的,包括 FrontPage 服务器扩展),您可以设置一个 CGI 脚本执行权限的 SUID(设置用户 ID)位。这就迫使站点服务器和创作的内容转换到脚本运行时 CGI 脚本所有者的 UNIX 用户帐号。因为脚本保存在内容区域中,而内容所有者的帐号不会有写入其他用户的内容区域的权限,设置脚本的 SUID 位可以避免未经授权的文件写入。使用 FrontPage服务器扩展管理工具,您可以为在每个内容区域中的 FrontPage 服务器扩展要运行的可执行文件设置 SUID 位。

在 UNIX 站点服务器验证过程中,当一个站点访问者浏览站点服务器上的网页时:

  1. 站点服务器收到一个 HTTP GET 请求,其中包括用户的名称和密码。
  2. 站点服务器在适当的访问文件中检查用户的权限。

    如果按此用户的权限无法执行 GET,站点服务器回复一个 401 错误,指出此用户是未经授权的。Web 浏览器接著就提示输入新的名称和密码然后重新提交请求。

  3. 一旦用户通过验证,站点服务器试图从 UNIX 文件系统中取出内容。如果站点文件系统允许站点服务器访问这些内容,这些内容会通过 HTTP 传送到 Web 浏览器。

 

UNIX authentication

 

POST 也按相同的方式处理。 当站点服务器收到一个 HTTP POST 请求,和创作者使用 FrontPage 向 FrontPage 服务器扩展传送请求的情况一样,站点服务器会在适当的访问文件中检查用户的权限。一旦用户通过验证,站点服务器试图运行 POST 请求的程序。如果这个程序设置了 SUID 位,这个过程会在此文件所有者的 UNIX 用户帐号下运行。否则,此过程会在站点服务器的 UNIX 帐号之下运行。

UNIX 站点服务器通常使用基本验证 (Basic Authentication) 检验客户端程序。当服务器使用基本验证时,Web 浏览器(或 FrontPage 客户端)提示用户输入用户名称和密码。然后将用户名称和密码用明文送出。(有些站点服务器使用被称作的 MD5 加密技术,但是 FrontPage 不支持这种方法。)

FrontPage 使用基本验证,因为这是唯一可通过任何防火墙和代理服务器工作的验证技术。因为基本验证以易于译码的格式传送密码通过网络,用这种方式传送的密码很容易被网络间谍窃取。如果您关心安全问题,应使用安全套接层 (SSL) 将您的站点服务器的所有通讯加密。

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


 第 1 页,共 10 页      回到页首

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