OpenLiteSpeed logo OpenLiteSpeed用户手册

虚拟主机安全

目录

CAPTCHA 保护

容器

登入限制

授权Realm

CAPTCHA 保护

描述

CAPTCHA保护是一种用于减轻服务器负载的服务。当下列情况之一发生后,CAPTCHA保护将被激活。激活后,所有非信任客户端(按配置)发出的请求都会被重定向到CAPTCHA验证页面。验证完成后,客户端会被重定向到目标页面。

下列情况将启用CAPTCHA保护: 1. 服务器或虚拟主机并发请求计数超过连接限制。
2. 启用了Anti-DDoS,并且客户端以可疑的方式访问了URL。 客户端将首先重定向到CAPTCHA,而不是在触发时被拒绝。
3. 提供了新的重写规则环境,可通过RewriteRules激活CAPTCHA。可以设置“verifycaptcha”将客户端重定向到CAPTCHA。特殊值“: deny”可在客户端失败次数过多时拒绝它。例如,[E=verifycaptcha]会一直重定向到CAPTCHA,直到验证通过。[E=verifycaptcha: deny]会一直重定向到CAPTCHA,直到达到最大尝试次数,之后客户端将被拒绝。

启用CAPTCHA

描述

在当前级别启用CAPTCHA保护功能。必须先在服务器级别将此设置设为Yes,才能使用CAPTCHA保护功能。
默认值:
服务器级别:Yes
虚拟主机级别:继承服务器级别设置

语法

布尔值

网站密匙

描述

reCAPTCHA或hCaptcha服务分配的公钥。
使用reCAPTCHA时,如果未设置站点密钥,将使用默认Site Key(不推荐)。

语法

文本

密钥

描述

reCAPTCHA或hCaptcha服务分配的私钥。
使用reCAPTCHA时,如果未设置密钥,将使用默认Secret Key(不推荐)。

CAPTCHA类型

描述

指定与密钥对一起使用的CAPTCHA类型。
如果未提供密钥对,且此设置设为Not Set,则会使用reCAPTCHA Invisible类型的默认CAPTCHA密钥对。
reCAPTCHA Checkbox会向访问者显示复选框CAPTCHA以进行验证。 (需要网站密匙密钥
reCAPTCHA Invisible会尝试自动验证CAPTCHA,验证成功后会重定向到目标页面。 (需要网站密匙密钥
hCaptcha可用于支持CAPTCHA提供商 hCaptcha。 (需要网站密匙密钥
默认值为reCAPTCHA Invisible

语法

从列表中选择

最大尝试次数

描述

“最大尝试次数”指定在拒绝访客之前允许的最大CAPTCHA次尝试次数。
默认值是 3.

语法

非负整数

并发请求限制

描述

激活CAPTCHA所需的并发请求数。CAPTCHA会持续使用,直到并发请求数低于此值。

默认值为15000

语法

非负整数

Bubblewrap容器

描述

如果希望在Bubblewrap沙箱中启动CGI进程(包括PHP程序),请设置为Enabled。有关使用Bubblewrap的详细信息,请参见 https://wiki.archlinux.org/title/Bubblewrap 。使用此设置之前,必须先在系统上安装Bubblewrap。
如果服务器级别设置为“Disabled”,则无法在虚拟主机级别启用此设置。
默认值:
服务器级别:Disabled
虚拟主机级别:继承服务器级别设置

语法

从列表中选择

Namespace容器

描述

如果希望在Namespace容器沙箱中启动CGI进程(包括PHP程序),请设置为Enabled。 仅当Bubblewrap容器设置为Disabled时使用。
当服务器级别未设置为Disabled时,此设置值可以在虚拟主机级别覆盖。
默认值:
服务器级别:Disabled
虚拟主机级别:继承服务器级别设置

语法

从列表中选择

附加 Namespace 模板文件

描述

指向现有配置文件的路径,该文件包含要挂载的目录列表以及挂载方式。 如果服务器级别也设置了Namespace模板文件,则两个文件都会被使用。

语法

可以是绝对路径,也可以是相对于$SERVER_ROOT或$VH_ROOT的相对路径。

登入限制

描述

指定哪些子网络和/或IP地址可以访问该服务器。 这是影响所有的虚拟主机的服务器级别设置。您还可以为每个虚拟主机设置登入限制。虚拟主机的设置不会覆盖服务器设置。
是否阻止/允许一个IP是由允许列表与阻止列表共同决定。 如果你想阻止某个特定IP或子网,请在允许列表中写入*ALL,并在拒绝列表中写入需要阻止的IP或子网。 如果你想允许某个特定的IP或子网,请在拒绝列表中写入*ALL,并在允许列表中写入需要允许的IP或子网。 单个IP地址是被允许访问还是禁止访问取决于该IP符合的最小限制范围。
信任的IP或子网络可以在允许列表列表中添加后缀“T”来指定。受信任的IP或子网不受连接数/流量限制。 只有服务器级别的登入限制才可以设置受信任的IP或子网。

提示

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

允许列表

描述

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

语法

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

示例

子网: 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.

提示

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

拒绝列表

描述

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

语法

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

示例

子网: 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.

授权Realm

描述

列出此虚拟主机的所有授权Realm。 授权Realm用于阻止未授权用户访问受保护的网页。 Realm是一个用户目录,其中包含用户名、密码和可选的组分类。授权在上下文级别执行。 由于不同上下文可以共享同一个Realm(用户数据库),因此Realm会与使用它们的上下文分开定义。 您可以在上下文配置中通过这些名称引用Realm。

Realm名称

描述

指定授权Realm的唯一名称。

语法

文本

用户数据库地址

描述

指定用户数据库的位置。建议将数据库存储在$SERVER_ROOT/conf/vhosts/$VH_NAME/目录下。

对于类型为Password File的数据库,应设置为包含用户名/密码的展平文件的路径。 您可以在WebAdmin控制台中点击文件名来进行修改。
用户文件的每一行包含一个用户名,后跟冒号和crypt()加密的密码,后面还可以跟一个冒号和用户所属的组名。多个组名用逗号分隔。

示例:

john:HZ.U8kgjnMOHo:admin,user

语法

用户数据库文件路径。

另请参阅

组数据库位置, 密码属性名, Member-of 属性

用户数据库最大缓存大小

描述

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

语法

非负整数

提示

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

用户数据库缓存超时(秒)

描述

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

语法

非负整数

提示

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

组数据库位置

描述

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

testgroup: user1 user2 user3

语法

文件路径

另请参阅

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

组数据库最大缓存大小

描述

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

语法

非负整数

提示

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

另请参阅

用户数据库最大缓存大小