跳转到内容

安全概述

OpenLiteSpeed 在多个层面提供安全保护:

  1. 内置保护 — 连接限制、单客户端限流、抗 DDoS
  2. ModSecurity — Web 应用防火墙,支持 OWASP CRS
  3. 访问控制 — 服务器级、虚拟主机级和上下文级的 IP 限制
  4. reCAPTCHA — 服务器级机器人防护
  5. 安全响应头 — 用于浏览器端保护的 HTTP 响应头
  6. LiteHTTPD 模块 — 基于 .htaccess 的安全指令(Require、Order/Allow/Deny、Header)

OLS 在 httpd_config.conf 中配置了多种防滥用机制:

security {
perClientConnLimit {
staticReqsPerSec 40
dynReqsPerSec 4
outBandwidth 0
inBandwidth 0
softLimit 500
hardLimit 1000
blockBadReq 1
gracePeriod 15
banPeriod 60
}
}
设置说明
staticReqsPerSec每个 IP 每秒最大静态文件请求数
dynReqsPerSec每个 IP 每秒最大动态(PHP)请求数
softLimit开始限流的连接数
hardLimit拒绝新连接的连接数
blockBadReq阻止格式错误的 HTTP 请求(设为 1)
gracePeriod封禁生效前的等待秒数
banPeriod超出限制后 IP 被封禁的秒数
tuning {
maxConnections 10000
maxSSLConnections 10000
connTimeout 300
maxKeepAliveReq 10000
keepAliveTimeout 5
}

OLS 默认不启用 CGI。如需使用,请谨慎限制:

security {
CGIRLimit {
maxCGIInstances 20
minUID 11
minGID 10
forceGID 0
}
}

OLS 在三个层级提供原生 IP 访问控制:

  • 服务器级 — 应用于所有请求
  • 虚拟主机级 — 应用于特定虚拟主机
  • 上下文级 — 应用于特定 URL 路径

详见 访问控制。

OLS 内置 ModSecurity v3 支持,提供 Web 应用防火墙保护。结合 OWASP Core Rule Set,可防御 SQL 注入、XSS 等常见攻击。

详见 ModSecurity。

OLS 可以在允许访问前向可疑客户端展示验证码挑战,提供服务器级 DDoS 防护,无需修改应用程序。

详见 reCAPTCHA。

HTTP 安全响应头指示浏览器启用 HSTS、CSP 和框架嵌入限制等保护功能。可通过 OLS 原生配置或使用 LiteHTTPD 模块通过 .htaccess 进行设置。

详见 安全响应头。

安装 LiteHTTPD 模块(ols_htaccess.so)后,可使用 Apache 管理员熟悉的基于 .htaccess 的安全控制:

.htaccess
<RequireAll>
Require ip 192.168.1.0/24
Require valid-user
</RequireAll>
.htaccess
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24

在上传目录中阻止 PHP 执行:

wp-content/uploads/.htaccess
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
  • 更改 WebAdmin 默认密码(端口 7080)
  • 将 WebAdmin 访问限制为受信任的 IP
  • 启用单客户端限流
  • 安装并配置 ModSecurity 及 OWASP CRS
  • 设置安全响应头(HSTS、CSP、X-Frame-Options)
  • 禁用目录列表(autoIndex 设为 0)
  • 阻止访问敏感文件(.env、.git、.htaccess)
  • 使用 TLS 1.2+ 并禁用弱加密套件(参见 SSL/TLS)
  • 在单客户端限流配置中将 blockBadReq 设为 1
  • 限制上传/静态目录中的 PHP 执行