LiteSpeed Web Server logo LiteSpeed Web Server用户手册

虚拟主机安全

目录

WordPress Brute Force Attack Protection

Web Application Firewall (WAF)

Web Application Firewall (WAF) Rule Set

CAPTCHA / Anubis保护

容器

盗链保护

访问控制

授权Realm

保护模式

描述

指定在5分钟内达到允许的登录尝试次数限制时要执行的操作。
限速会逐渐降低服务器响应速度,丢弃会直接断开连接且不返回任何回复,拒绝会返回403响应,CAPTCHA或丢弃会在启用CAPTCHA保护时重定向到CAPTCHA,否则断开连接。
还可以选择WP登录CAPTCHA完整保护。只要启用了CAPTCHA保护,无论是否达到允许的登录尝试次数限制,此设置都会重定向到CAPTCHA;否则回退为限速。
默认值:
服务器级别: 限速
虚拟主机级别: 继承服务器级别设置。如果服务器级别设置为Disable,将使用限速。

语法

从下拉列表选择

提示

安全 受信任的IP或子网不受影响。
信息 此功能默认启用(Throttle),无需在WebAdmin GUI或Apache配置中进行任何进一步配置。
信息 此设置仅会覆盖LSWS的Apache配置WordPressProtect设置。Apache不受影响。
信息 此设置可以在服务器级别设置,并在虚拟主机级别覆盖。如果未在虚拟主机级别覆盖,也可以在用户的docroot .htaccess文件中使用Apache配置指令WordPressProtect进行覆盖,值可以为0(禁用)、1(使用服务器级别设置)、throttle、deny或drop。

允许的登录尝试次数

描述

Specifies the maximum number of wp-login.php and xmlrpc.php POST attempts allowed by an IP within 5 minutes before the action specified in 保护模式 is taken.
This limit is handled using a quota system where remaining attempts = limit. Each POST attempt will decrease the number of remaining attempts by 1, with the number of remaining attempts increasing back to the set limit over time. An IP will be throttled once the number of remaining attempts for that IP falls to 1/2 the set limit, throttling more as the remaining attempts drops further below the 1/2 mark. When remaining attempts reaches 0, the specified action is taken toward the IP.
In addition to this, if 启用reCAPTCHA is also enabled, an additional per worker protection will be added. If wp-login.php and xmlrpc.php are visited by the same worker at a rate of 4x the set limit in a 30 second time frame, those URLs will be put into CAPTCHA mode until the number of visits to these files decreases.
Resetting the server will clear blocked IPs.
Default values:
Server-level: 10
VH-Level: Inherit Server level setting

语法

Valid Range: 3 - 1000.

示例

With an Attempt limit of 10, and a Mode of drop:
After the first POST attempt, the quota is decreased to 9.
Quota decreases by 1 for each POST attempt.
After Quota reaches half of the limit (5), the IP will be throttled.
Throttling will get worse with each POST attempt.
Once the quota reaches 0, the connection will be dropped.

提示

安全 Trusted IPs or sub-networks are not affected.
信息 This setting will override Apache conf WordPressProtect setting for LSWS only. Apache will be unaffected.
信息 This can be set at the Server level and overwritten at the Virtual Host level. If not overridden at the Virtual Host level, this setting can also be overridden in a user's docroot .htaccess file using Apache configuration directive WordPressProtect with integer value between 3 and 1000.

启用WAF

描述

指定是否启用请求内容深度检查。 此功能等同于Apache的mod_security,可通过将请求与已知特征匹配来检测并阻止恶意请求。

语法

从单选框中选择

日志级别

描述

指定WAF的调试输出的详细程度。 此值的范围是0 - 9. 0禁用日志记录。 9 会生成最详细的日志。 服务器和虚拟主机的错误日志日志级别至少设置为 INFO,此选项才能生效。 这在测试请求过滤规则时很有用。

语法

整数

另请参阅

Server 日志级别, Virtual Host 日志级别

默认操作

描述

指定满足审查规则时应采取的默认操作。默认值为deny,log,status:403, 表示以状态码403拒绝访问,并将事件记录到错误日志中。

语法

字符串。此动作字符串与Apache mod_security的语法兼容。详情请参考mod_security手册。

另请参阅

规则集操作

扫描请求正文

描述

指定是否检查HTTP POST请求的正文。 默认为“否”。

语法

从单选框中选择

Web Application Firewall (WAF) Rule Set

描述

Rules configured here only work for virtual hosts configured with a native LSWS configuration, not for virtual hosts using Apache httpd.conf.

名称

描述

为一组审查规则命名。仅用于显示。

语法

字符串

已启用

描述

指定是否启用此规则集。 使用此选项可以快速启用或禁用规则集,而无需添加或删除规则集。默认值为“是”。

语法

从单选框中选择

规则定义

描述

Specifies a list of censorship rules.

If you are using an Apache config file, you have to set up rules in httpd.conf. Rules defined here will have no effect.

语法

String. Syntax of censoring rules follows that of Apache's mod_security directives. "SecFilter", "SecFilterSelective", and "SecRule" can be used here. You can copy and paste security rules from an Apache configuration file.

For more details about rule syntax, please refer to the Mod Security documentation.

提示

信息 Rules configured here only work for vhosts configured in native LSWS configuration, not for vhosts from Apache httpd.conf.

CAPTCHA / Anubis保护

描述

CAPTCHA/Anubis保护是一项用于减轻服务器高负载的服务。根据具体情况,请求会被重定向到CAPTCHA验证页面,或被发送到已配置的Anubis后端服务器。

发生以下任一情况时,CAPTCHA保护将被激活。激活后,所有非信任客户端(按配置)发出的请求都会被重定向到CAPTCHA验证页面。验证完成后,客户端会被重定向到目标页面。
1. 服务器或虚拟主机并发请求计数超过配置的连接限制。
2. 启用了Anti-DDoS,并且客户端以可疑方式访问URL。触发时,客户端会先被重定向到CAPTCHA,而不是直接被拒绝。
3. 启用了WordPress暴力破解攻击保护,并且操作设置为“CAPTCHA or Drop”。检测到暴力破解攻击时,客户端会先被重定向到CAPTCHA。达到最大尝试次数后,连接会按“drop”选项被丢弃。
4. 启用了WordPress暴力破解攻击保护,并且操作设置为“WP Login CAPTCHA Full Protection”。客户端始终会先被重定向到CAPTCHA。
5. 提供了新的重写规则环境,可通过RewriteRules激活CAPTCHA。可以设置“verifycaptcha”将客户端重定向到CAPTCHA。特殊值“: deny”可在客户端失败次数过多时拒绝它。例如,[E=verifycaptcha]会一直重定向到CAPTCHA,直到验证通过。[E=verifycaptcha: deny]会一直重定向到CAPTCHA,直到达到最大尝试次数,之后客户端将被拒绝。

启用保护

描述

分别启用或禁用CAPTCHA/Anubis保护功能。

默认值为Inherit Server level settings

语法

从复选框中选择

触发灵敏度

描述

自动CAPTCHA/Anubis敏感度。值越高,越可能使用CAPTCHA/Anubis保护。值0等同于“Off”,值100等同于“Always On”。

默认值:
服务器级别:0
虚拟主机级别:继承服务器级别设置

语法

0到100之间的整数值。

并发请求限制

描述

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

默认值为15000。

语法

非负整数

Bubblewrap容器

描述

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

语法

从列表中选择

Namespace容器

描述

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

语法

从列表中选择

附加 Namespace 模板文件

描述

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

语法

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

描述

Hotlinks are requests made from an external website to files on your own website often referred to as "leeching". This practice introduces additional bandwidth usage that you should not be responsible for.

LiteSpeed web server can prevent others from hotlinking to content on your web site by checking the Referer header within an HTTP request. If the Referer header does not match your website, the request will be denied.

启用盗链保护

描述

指定是否启用防盗链。

语法

布尔值

后缀

描述

通过列出文件后缀,指定哪些类型的文件将受到防盗链保护。

语法

用逗号分隔的列表。禁止使用“.”。

重定向URL

描述

指定检测到盗链行为时用户将被重定向到的URL。 您可以将用户重定向到一张图片或一个页面,说明不允许盗链。 如果未指定,将返回403 Forbidden。

语法

绝对URL

允许直接访问

描述

指定是否允许没有来源地址的直接访问。 Referer头标识链接到当前页面的网页。 当用户在地址栏直接输入网址,或使用类似“目标另存为”的功能时,HTTP请求中没有Referer头。

语法

布尔值

仅允许本站引用

描述

指定是否只允许来自当前网站自身的引用。 当设为是时,允许的域名不会生效,其他网站不能链接到受保护的文件。 如果您希望在当前网站停靠多个域名,此设置会很方便。

语法

布尔值

允许的域名

描述

指定哪些网站可以链接到受保护的内容。

语法

逗号分隔的域名列表。

正则表达式匹配域名

描述

指定可通过正则表达式匹配并链接到受保护内容的网站。 正则表达式只匹配域名,而不是完整URL。

语法

正则表达式

示例

^.*\.mydomain\.com$

访问控制

描述

指定哪些子网络和/或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.1 或 192.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.1 或 192.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如何存储用户/组数据。 目前,用户/组数据可以存储在平面文件或LDAP服务器上。

语法

从下拉列表选择

用户数据库地址

描述

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

用户文件的每一行包含一个用户名,后跟冒号和crypt()加密的密码,后面还可以跟一个冒号和用户所属的组名。 多个组名用逗号分隔。如果用户数据库中指定了组信息,则不会检查组数据库。


示例:

john:HZ.U8kgjnMOHo:admin,user


对于LDAP数据库类型,它是用于查询用户信息的LDAP URL。对于每个有效用户,存储在LDAP服务器中的身份验证数据至少应包含用户ID和用户密码。基于该URL以及HTTP Authentication头中收到的用户名,LDAP搜索请求应只返回一条记录。必须在URL的过滤器部分指定"$k",它会被替换为用户名。查询结果必须返回用户密码属性。用户密码属性名称由密码属性指定。组信息可通过Member-of属性选择性指定。

示例:用户至少可以在LDAP中使用以下objectClass定义:uidObject、simpleSecurityObject和organizationalRole。可以使用以下URL:

ldap://localhost/ou=UserDB,dc=example,dc=com???(&(objectClass=*)(uid=$k))

语法

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

提示

安全 建议将用户密码文件存储在文档根目录之外。如果用户密码文件必须放在文档根目录内,只需使用以“.ht”开头的名称,例如.htuser,即可防止其作为静态文件提供。LiteSpeed Web Server不会提供以“.ht”开头的文件。

另请参阅

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

密码属性

描述

在LDAP服务器中指定用户记录的密码属性名。默认值为userPassword。

语法

字符串

Member-of属性

描述

指定保存在LDAP服务器中的用户记录的“Member-of”属性名称。 默认值为memberOf。"Member-of"属性可以用于指定用户所属的组名。

语法

字符串

用户数据库最大缓存大小

描述

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

语法

非负整数

提示

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

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

描述

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

语法

非负整数

提示

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

组数据库位置

描述

指定组数据库的位置。

组信息可以设置在用户数据库中,也可以设置在这个独立的组数据库中。进行用户身份验证时,将首先检查用户数据库。如果用户数据库也包含组信息,则不会检查组数据库。

对于Password File数据库类型,组数据库位置应为包含组定义的平面文件路径。您可以在WebAdmin控制台中点击文件名来编辑此文件。

组文件的每一行应包含一个组名,后跟冒号和以空格分隔的用户名列表。示例:

testgroup: user1 user2 user3


对于LDAP数据库类型,组数据库位置应为用于查询组信息的LDAP URL。对于每个有效组,基于此URL和要求(已认证的用户/组)中指定的组名,LDAP搜索请求应只返回一条记录。必须在URL的过滤器部分指定"$k",它会被替换为组名。指定此组成员的属性名称由组成员属性指定。

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

语法

文件路径

提示

安全 建议将组文件存储在文档根目录之外。 如果必须放在文档根目录内,只需使用以“.ht”开头的名称,例如.htgroup,即可防止该文件作为静态文件提供。 LiteSpeed Web Server不会提供以“.ht”开头的文件。

另请参阅

用户数据库地址, Context 要求(已认证的用户/组), 组成员属性

组成员属性

描述

指定保存在LDAP服务器中的组记录的“Member”属性名称。默认值为memberUid。

语法

字符串

组数据库最大缓存大小

描述

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

语法

非负整数

提示

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

另请参阅

用户数据库最大缓存大小

LDAP绑定DN

描述

指定用于绑定到服务器的DN。如果LDAP服务器需要身份验证,则必须指定绑定DN和密码。如果 未指定,匿名绑定将被使用。

语法

字符串

另请参阅

LDAP绑定密码

LDAP绑定密码

描述

指定用于绑定到服务器的密码。如果LDAP服务器需要身份验证,则必须指定绑定DN和密码。

语法

字符串

另请参阅

LDAP绑定DN