Virtual Host Security

Table of Contents

登入限制

允许列表 | 拒绝列表

Realms授权

Realm名称 | 用户数据库地址 | 用户数据库最大缓存大小 | 用户数据库缓存超时 | Group DB Location | 组数据库最大缓存大小 | Group DB Cache Timeout (secs)

登入限制

Description

指定哪些子网络和/或IP地址可以访问该服务器。 这是影响所有的虚拟主机的服务器级别设置。您还可以为每个虚拟主机设置登入限制。虚拟主机的设置不会覆盖服务器设置。

是否阻止/允许一个IP是由允许列表与阻止列表共同决定。 如果你想阻止某个特定IP或子网,请在允许列表中写入*ALL,并在拒绝列表中写入需要阻止的IP或子网。 如果你想允许某个特定的IP或子网,请在拒绝列表中写入*ALL,并在允许列表中写入需要允许的IP或子网。 单个IP地址是被允许访问还是禁止访问取决于该IP符合的最小限制范围。

信任的IP或子网络可以在允许列表列表中添加后缀“T”来指定。受信任的IP或子网不受连接数/流量限制。 只有服务器级别的登入限制才可以设置受信任的IP或子网。

Tips

[安全建议] 用此项设置适用于所有虚拟主机的常规限制。

允许列表

Description

指定允许的IP地址或子网的列表。 可以使用{VAL}*或{VAL}ALL。

Syntax

逗号分隔的IP地址或子网列表。 结尾加上“T”可以用来表示一个受信任的IP或子网,如{VAL}192.168.1.*T。

Example

子网: 192.168.1.0/255.255.255.0, 192.168.1.0/24, 192.168.1192.168.1.*.
IPv6 地址: ::1[::1]
IPv6 子网: 3ffe:302:11:2:20f:1fff:fe29:717c/64[3ffe:302:11:2:20f:1fff:fe29:717c]/64.

Tips

[安全建议] 在服务器级别设置的受信任的IP或子网不受连接/节流限制。

拒绝列表

Description

指定不允许的IP地址或子网的列表。

Syntax

逗号分隔的IP地址或子网列表。 可以使用{VAL}*或{VAL}ALL。

Example

子网: 192.168.1.0/255.255.255.0, 192.168.1.0/24, 192.168.1192.168.1.*.
IPv6 地址: ::1[::1]
IPv6 子网: 3ffe:302:11:2:20f:1fff:fe29:717c/64[3ffe:302:11:2:20f:1fff:fe29:717c]/64.

Realms授权

Description

列出这个虚拟主机的所有Realm。 Realm授权可以阻止未授权用户访问受保护的网页。 Realm是一个用户名录,其中包含了用户名、密码、分组(可选)。授权是在context级别执行的。不同的context可以共享相同的Realm(用户数据库),所以Realm是与调用它的context分开定义的。你可以通过context配置中的名称识别Realm。

Realm名称

Description

为Realm授权指定唯一的名称。

Syntax

文本

用户数据库地址

Description

指定用户数据库的地址。 对于类型为Password File的数据库,应设置为包含用户名/密码的展平文件的路径。 您可以在WebAdmin控制台中点击文件名来进行修改。

用户文件的每一行包含一个用户名,后面加上冒号,在跟上加密的密码,后面可选择添加冒号和用户所属组名。 多个组名通过逗号分隔。如果组信息在用户数据库中指定,那么组数据库将不被检查。

例如:

john:HZ.U8kgjnMOHo:admin,user


对于类型为LDAP的数据库,应该设置用于查询用户信息的LDAP URL。对于每个有效的用户,存储在LDAP服务器中的认证数据 应至少包含用户ID和用户密码。当根据HTTP认证报头中的信息通过指定URL进行LDAP查询请求时,应当有且仅有一个记录被返回。"$k"必须在URL中的过滤部分指定并且将用用户名来替代。用户密码属性名必须在查询中返回。用户密码属性名由密码属性名指定。组信息可以使用Member-of 属性来指定(可选)。

例如: 用户至少要在LDAP中通过以下对象类定义:uidObject, simpleSecurityObject和organizationalRole。可以使用如下URL:
ldap://localhost/ou=UserDB,dc=example,dc=com???(&(objectClass=*)(uid=$k))

Syntax

到用户数据库文件的路径或LDAP URL(RFC 2255)。

Tips

[安全建议] 建议在文档树以外保存用户密码文件。 如果用户密码文件被放置在文档树以内,只需要使用".ht"作为文件名开头, 如.htuser,来防止被当做静态文件输出。LiteSpeed Web服务器不输出前缀为“.ht”的文件。

See Also

Group DB Location, 密码属性名, Member-of 属性

用户数据库最大缓存大小

Description

指定用户数据库的最大缓存大小。 最近访问的用户认证信息会被缓存在内存中以提供最佳性能。

Syntax

无符号整数

Tips

[性能建议] 由于更大的缓存会消耗更多的内存,更高的值可能会也可能不会提供更好的性能。 请根据您的用户数据库大小和网站使用情况来设定一个合适的大小。

用户数据库缓存超时

Description

指定多久检查一次后端用户数据库变更。 在缓存中每个条目都有一个时间戳。 当缓存日期超过指定的超时时间时,将检查后端数据库是否有变化。 如果没有,时间戳将被重置为当前时间,否则会将新的数据载入。 服务器重载和平滑重启会立即清除缓存。

Syntax

单元

Tips

[性能建议] 如果后端数据库不经常发生变更,设置较长的缓存时间来获得更好的性能。

Group DB Location

Description

指定组数据库的位置。
组信息可以在用户数据库或在这个独立的组数据库中设置。 用于用户验证时,将首先检查用户数据库。 如果用户数据库同样包含组信息,组数据库将不被检查。
对于类型为Password File的数据库, 组数据库地址应当是到达包含有组定义的平面文件的路径。 你可以在WebAmin控制台中点击文件名来修改这个设置。
每一行组文件应当包含一个组名, 组名后面跟一个冒号,并在冒号后面使用空格来分割组中的用户名。 例如:

testgroup: user1 user2 user3


对于类型为LDAP的数据库, 组数据库地址应当是查询组信息的LDAP URL地址。 对于每一个有效的组, 基于同一URL地址和同一在Require(授权的用户/组)中指明的组名进行的LDAP查询请求,应当有且仅有一个记录返回。 "$k"中指定的组名称必须在URL的过滤部分指定并用组名称代替。在组中指定成员的属性名称需在组成员属性名中指定。


例如: 如果objectClass posixGroup被用来存储组信息。可以使用以下的地址:
ldap: //localhost/ou=GroupDB,dc=example,dc=com???(&(objectClass=*)(cn=$k))

Syntax

文件3

Tips

[安全建议] 建议把组文件保存到站点目录外。 如果必须将组文件放置在站点目录内,只需要用".ht"开头命名,如.htgroup,来防止文件被当做静态文件而输出。LiteSpeed网页服务器不会输出前缀是".ht"的文件。

See Also

用户数据库地址, Context Require(授权的用户/组), 组成员属性名

组数据库最大缓存大小

Description

指定组数据库的最大缓存大小。

Syntax

无符号整数

Tips

[性能建议] 由于更大的缓存会消耗更多的内存, 更高的值可能会也可能不会提供更好的性能。 请根据你的用户数据库大小和网站使用情况来设置合适的大小。

See Also

用户数据库最大缓存大小