Sun Java System Web Server 7.0 管理员指南

配置访问控制

服务器通过使用本地存储的访问控制列表 (access control list, ACL) 来支持验证和授权,这些列表用于说明用户对资源所具有的访问权限。例如,ACL 中的一个条目可以授予名为 John 的用户对特定文件夹 misc读取权限。

本节介绍如何限制对您 Web 站点上的文件或目录的访问。您可以为所有服务器设置全局访问控制规则,也可以单独为特定服务器进行设置。例如,人力资源部门可以创建 ACL,允许所有通过验证的用户查看他们自己的工资单数据,但是只允许负责工资单的人力资源人员更新数据。

服务器支持的核心 ACL 有三种类型的验证:基本验证、SSL 验证和摘要验证。

要编辑访问控制设置,请执行以下步骤:

  1. 单击配置选项卡并选择相应的配置。

  2. 单击安全性子选项卡 > 访问控制子选项卡。

  3. 单击添加 ACL 按钮添加新的 ACL,或单击现有 ACL 以编辑设置。

添加访问控制列表 (Access Control List, ACL)

下节介绍将新 ACL 添加至配置的过程。

  1. 单击配置选项卡并选择相应的配置。

  2. 单击访问控制子选项卡 > 访问控制列表子选项卡。

  3. 单击新建按钮添加新的 ACL。

配置以下参数:

表 7–2 ACL 参数

参数

说明

资源

命名/URI/路径。选择需要设置访问限制的资源类型,并指定其值。URI 资源示例-"/sales"。路径资源示例-"/usr/sun/server4/docs/cgi-bin/*"。 

验证数据库

验证数据库使您可以选择服务器用于验证用户的数据库。

默认值为 keyfile

验证方法

  1. 基本-使用 HTTP 基本方法从客户机获取验证信息。仅当为服务器启用了 SSL 后,才会通过网络对用户名和密码进行加密。

  2. SSL-使用客户机证书来验证用户。要使用此方法,必须为服务器启用 SSL。启用加密后,可以结合使用“基本”和 "SSL" 方法。

  3. 摘要-使用一种验证机制,使得浏览器能够基于用户名和密码进行验证,而不必以明文形式发送用户名和密码。浏览器使用用户的密码和 Web Server 提供的某些信息,利用 MD5 算法来创建摘要值。请注意,要使用“摘要”,基础 auth-db 也必须支持摘要。这表示要么是使用摘要文件的文件 auth-db 要么是 LDAP auth-db(仅当安装了摘要验证插件的情况下)。

  4. 其他-使用通过访问控制 API 创建的自定义方法。

验证提示

验证提示选项使您可以输入要在验证对话框中显示的消息文本。您可以使用此文本来说明用户需要输入的内容。基于不同的浏览器,用户大约会看到该提示的前 40 个字符。

Web 浏览器通常会高速缓存用户名和密码,并将它们与提示文本关联。当用户访问具有相同提示的服务器的文件和目录时,不必再次输入用户名和密码。如果您希望用户对特定文件和目录再次进行验证,只需更改该资源的 ACL 的提示。 

拒绝的访问响应

指定拒绝对资源的访问时所进行的响应操作。 

1. 响应并显示默认消息-选择该选项可以显示从服务器返回的标准访问拒绝消息。 

2. 响应并显示 URL-选择该选项可以将请求转发至其他任何外部 URL 或错误页面。 


注 –

使用 CLI

要通过 CLI 添加 ACL,请执行以下命令:


wadm> set-acl --user=admin --password-file=admin.pwd 
--host=serverhost --port=8989 --vs=config1_vs_1 --config=config1 
--aclfile=aclfile1

请参见 CLI 参考 set-acl(1)


添加访问控制条目 (Access Control Entry, ACE)

本节介绍为选定的配置添加新访问控制条目 (Access Control Entry, ACE) 的过程。

  1. 单击配置选项卡并选择相应的配置。

  2. 单击访问控制子选项卡 > 访问控制列表子选项卡。

  3. 单击新建按钮。

  4. 单击访问控制条目下的新建按钮。

配置以下 ACE 参数:

表 7–3 ACE 参数

参数

说明

访问

  • 允许表示用户或系统可以访问请求的资源。

  • 拒绝表示用户或系统不能访问该资源。

    服务器将检查整个访问控制表达式 (ACE) 列表以确定访问权限。

用户

1.任意用户-无验证。将访问权限授予每个用户。

2. 验证数据库中的所有用户-将访问权限授予在验证数据库中指定的所有用户。

3. 仅验证数据库中的以下用户-仅允许验证数据库中的选定用户进行访问。

您可以基于通用属性(如名字、姓氏和电子邮件地址)查询验证数据库。 

使用组验证时,将提示用户输入用户名和密码,然后才允许其访问在访问控制规则中指定的资源。 

使用该选项可以只允许特定组的访问。 

主机地址

您可以基于请求来自的计算机限制对 Administration Server 或 Web 站点的访问。 

您可以基于请求来自的计算机限制对 Administration Server 或 Web 站点的访问。 

  • “任意位置”允许所有用户和系统进行访问

  • “仅以下位置”仅允许特定主机名或 IP 地址进行访问

如果选择“仅以下位置”选项,请在“主机名”或“IP 地址”字段中输入通配符模式或逗号分隔的列表。按主机名进行限制比按 IP 地址进行限制更灵活:如果用户的 IP 地址发生更改,将不需要更新此列表。但是,按 IP 地址进行限制更可靠:如果对某个连接的客户机的 DNS 查找失败,则无法使用主机名限制。 

您只能使用通配符模式的 * 通配符表示法来匹配计算机的主机名或 IP 地址。例如,要允许或拒绝特定域中的所有计算机,可以输入与该域中所有主机均匹配的通配符模式,例如 *.sun.com。您可以为访问 Administration Server 的超级用户设置不同的主机名和 IP 地址。

对于主机名,* 必须替换名称中的整个部分。即,*.sun.com 有效,但 *users.sun.com 无效。当 * 出现在主机名中时,它必须是最左侧的字符。

例如,*.sun.com 有效,但 users.*.com 无效。对于 IP 地址,* 必须替换地址中的整个字节。例如,198.95.251.* 有效,但 198.95.251.3* 无效。当 * 出现在 IP 地址中时,它必须是最右侧的字符。例如,198.* 有效,但 198.*.251.30 无效。

权限

访问权限限制了对 Web 站点上的文件和目录的访问。除了允许或拒绝所有访问权限外,您还可以指定一个规则以允许或拒绝部分访问权限。例如,可以授予用户对文件的只读访问权限,这样他们可以查看信息,但不能更改文件。 

  • “所有访问权限”是默认设置,将允许或拒绝所有权限

  • “仅以下权限”使您可以选择要允许或拒绝的权限组合:

    • 读取允许用户查看文件,其中包括 HTTP 方法 GET、HEAD、POST 和 INDEX

    • 写入允许用户更改或删除文件,其中包括 HTTP 方法 PUT、DELETE、MKDIR、RMDIR 和 MOVE。要删除文件,用户必须同时具有写入权限和删除权限

    • 执行使用户可以执行服务器端应用程序,例如 CGI 程序、Java applet 和代理

    • 删除允许同时具有写入权限的用户删除文件或目录

    • 列表使用户可以访问不包含 index.html 文件的目录中的文件列表。

    • 信息使用户可以接收有关 URI 的信息,例如 http_head

继续

服务器将检查整个访问控制表达式 (access control expression, ACE) 列表以确定访问权限。例如,第一个 ACE 通常为拒绝每个用户。如果将第一个 ACE 设置为“继续”,服务器将检查列表中的第二个 ACE,如果该 ACE 匹配,则使用下一个 ACE。 

如果选中“继续”,则会拒绝所有用户访问该资源。服务器将继续检查列表,直至找到某个不匹配的 ACE,或匹配但未被设置为“继续”的 ACE。最后一个匹配的 ACE 将确定是否允许访问。