宝塔面板Nginx Rift漏洞临时缓解配置方案
近期曝光的 Nginx Rift 漏洞(CVE 编号暂未正式公布)可能允许攻击者通过特制请求导致拒绝服务或信息泄露。
对于正在使用宝塔面板管理 Nginx 的用户,在官方补丁发布之前,可以通过调整几项配置临时缓解风险。
下面按零基础用户也能直接照做的方式,讲清楚准备条件、具体操作、常见报错和验证方法。
检查当前环境和必知前提
在动手修改配置前,建议先确认你的 Nginx 版本和宝塔面板版本。
登录宝塔后台,点击左侧“软件商店”,找到 Nginx 图标,查看当前版本号。
如果版本是 1.24.x 或 1.25.x,受漏洞影响的可能性较高;
如果是更旧的 1.22.x 或更早版本,风险较低但也建议跟进。
本次缓解方案不修改 Nginx 核心源码,只通过调整站点配置或全局配置生效,所以操作安全、回滚方便。
在宝塔面板中添加安全规则
打开宝塔面板 → 网站 → 选择要防护的站点 → 设置 → 配置文件(或直接编辑 Nginx 配置)。
在 server 块中添加以下规则,用于拦截可疑的畸形请求:
# 限制单个 IP 的连接数和请求频率(缓解拒绝服务)
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/s;
server {
# 其他配置...
# 限制并发连接数
limit_conn addr 10;
# 限制请求速率
limit_req zone=one burst=5 nodelay;
# 主动拒绝含异常 User-Agent 的请求(常见攻击特征)
if ($http_user_agent ~* "(rift|malcious|scanner)") {
return 403;
}
# 拒绝空或过长的 URI
if ($request_uri ~* "^$") {
return 403;
}
if ($request_uri ~* "/{2,}") {
return 403;
}
}
如果希望对所有站点全局生效,可以在 Nginx 主配置(/www/server/nginx/conf/nginx.conf)的 http 块中添加 limit_conn_zone 和 limit_req_zone,然后每个要保护的站点 server 块中再分别添加限制。
保存文件后,务必在宝塔面板 → 软件商店 → Nginx → 设置中重载配置(或点击“重载配置”按钮)。
避坑指南:常见错误与正确做法
- 不要轻易修改 nginx.conf 核心参数:很多新手会直接改 Nginx 主配置中的
worker_connections或events块,这通常不会缓解漏洞,反而可能影响性能。本文只建议增加limit_conn_zone和limit_req_zone。 - if 规则可能误拦截正常请求:上面示例中的 User-Agent 拦截条件仅针对已知攻击者特征,生产环境请根据实际日志调整。建议先在测试站点验证,避免影响正常爬虫或 API 调用。
- 保存后一定要重载配置:单纯保存文件不会生效,必须通过宝塔面板的“重载配置”或命令行执行
nginx -s reload。 - 如果站点使用了 CDN:
$binary_remote_addr会获取 CDN 节点的 IP,导致限制不准确。此时应换成$http_x_forwarded_for或配置set_real_ip_from。宝塔面板支持在网站设置 → 反向代理 → 中配置真实 IP 地址传递。
常见问题解答
问:添加上述配置后网站访问变慢怎么办?
答:请检查 rate=30r/s 是否过低。对于正常用户流量,可以调整为 r=50r/s 或更高,同时增大 burst 值(例如 burst=10)。也可以在宝塔后台的“监控”中查看实际请求量再微调。
问:Rift 漏洞官方修复了吗?
答:截至本文发布,Nginx 官方尚未发布正式补丁。建议定期关注 Nginx 官网安全公告。本方案是临时缓解,待官方更新后仍建议升级到修复版本。
问:我只用宝塔一键部署的网站,没改过配置,是否需要手动添加?
答:是的,默认宝塔没有这些限制规则。请按本文步骤手动添加。如果担心误操作,可以先在“站点设置 → 备份”中备份当前配置文件。
验证配置是否生效
完成配置并重载后,可以通过两种方式验证:
- 登录宝塔面板 → 安全 → 防火墙日志,查看是否有被拦截的 403 记录(来自 User-Agent 或 URI 规则)。
- 在本地使用 curl 模拟攻击请求:
curl -I -H "User-Agent: rift" http://你的域名/
应返回 403 Forbidden。
如果返回正常状态码,说明规则未生效,请检查配置是否保存并重载。
如果你正在处理宝塔面板上的 Nginx Rift 漏洞风险,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
待 Nginx 官方补丁出来后,务必及时升级以彻底修复漏洞。