SamWaf v1.3.24:轻量级私有化 WAF 的功能更新与部署实践

2026-08-27 45 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:10 分钟

SamWaf v1.3.24 延续了开源、轻量级和私有化部署的定位,并针对网站访问控制、HTTP/2、主机远程爆破防护以及 CDN 回源 IP 暴露等场景补充了实用能力。这个版本也带来了两项需要在升级前确认的变化:默认发布包不再内置 GeoLite2-Country.mmdb IPv6 地理库,中心管理功能已经移除。

升级前先确认两个变化

默认包不再包含 IPv6 地理库

v1.3.24 的默认发布包不再内置 GeoLite2-Country.mmdb。如果现有规则依赖基于国家或地区的 IPv6 地址判断,升级后需要单独准备对应数据库,并按照实际部署方式配置加载路径。

可以先检查发布包中是否存在该文件:

# 将路径替换为实际解压目录
find ./samwaf -type f -name 'GeoLite2-Country.mmdb' -print

如果命令没有输出,不代表 WAF 无法启动,但依赖地理位置匹配的规则需要重新验证。生产环境升级前,建议用一组 IPv4 和 IPv6 测试地址分别验证放行、拦截和日志记录结果。

中心管理功能已移除

该版本不再提供中心管理功能。对于过去依赖统一控制台管理多个实例的部署,需要重新评估运维方式,例如使用配置文件分发、进程管理工具、容器编排或现有的发布系统维护各个 WAF 节点。

这意味着升级不应只替换二进制文件,还应检查以下内容:

  • 是否仍有自动化脚本调用中心管理接口;
  • 多节点配置是否可以独立启动;
  • 证书、白名单、黑名单和 IP 组是否需要逐节点同步;
  • 回滚包是否保留了原有运行方式。

网站级访问控制更细化

网站可配置对外 HTTP/2 开关

v1.3.24 新增了网站级对外 HTTP/2 开关。它适合用于逐站点灰度:对已经确认兼容的 HTTPS 网站开启 HTTP/2,对存在老旧客户端、特殊代理链路或排障需求的网站保持关闭。

下面是一个用于表达部署意图的示例配置。字段名是实践示例,实际项目中应以 SamWaf 发布包提供的配置格式为准:

sites:
  - name: app.example.internal
    listen: 443
    tls: true
    http2: true
    upstream: http://127.0.0.1:8080

  - name: legacy.example.internal
    listen: 443
    tls: true
    http2: false
    upstream: http://127.0.0.1:8090

改造时需要关注三件事:TLS 证书是否正常、上游应用是否正确处理转发头,以及监控系统是否能够区分 HTTP/1.1 与 HTTP/2 请求。HTTP/2 开启后,连接复用和请求并发行为会变化,应用日志和限流策略也应随之检查。

统一访问认证方式

版本摘要还提到统一访问认证方式。对于需要保护管理入口、内部站点或敏感路径的场景,建议把认证策略按访问边界统一梳理,而不是在不同网站上混用多套容易遗忘的规则。

一种可执行的策略分层如下:

公网业务站点:仅开放业务路径,管理路径要求认证
内部管理站点:认证 + IP 白名单双重限制
健康检查路径:只允许监控网段访问
临时维护页面:短时启用,维护结束后立即撤销

认证本身不能替代权限控制。对外暴露的管理端口仍应限制来源地址,并通过日志审计认证失败、异常频率和可疑地理来源。

针对真实攻击面的防护能力

防止主机远程爆破

新增能力覆盖主机远程爆破防护场景。实际部署时,可以重点观察 SSH、远程管理服务以及 WAF 管理入口的失败登录行为,结合来源 IP、失败次数和时间窗口设置拦截或告警。

需要注意,WAF 规则只能覆盖经过它的流量。SSH 等主机服务通常还需要配合系统防火墙、登录失败封禁工具、密钥认证和最小权限账号。WAF 与主机侧防护应当形成互补,而不是把所有责任交给单一组件。

CDN 回源 IP 威胁情报

CDN 场景中,源站 IP 一旦泄露,攻击者可能绕过 CDN 直接访问源站。v1.3.24 增加 CDN 回源 IP 威胁情报相关能力,适合纳入以下检查流程:

  1. 盘点 DNS、证书透明度、历史资产和错误页面中是否泄露源站地址;
  2. 将已确认的 CDN 回源 IP 纳入威胁情报或访问控制规则;
  3. 让源站只接受 CDN 回源网段和必要的运维地址;
  4. 观察直连源站请求是否仍然出现,并核对 WAF 日志。

规则上线前应避免直接封禁整个 CDN 地址段。共享 CDN 网络可能承载多个租户,误封会造成业务中断。更稳妥的做法是先以观察模式验证命中情况,再逐步切换到拦截。

IP 订阅、泛解析与 IP 组

版本新增 IP 订阅能力,并支持 IP 黑白名单泛解析。IP 组还可以绑定 IP 白名单、IP 黑名单以及自定义规则,适合把重复的地址集合从单条规则中抽离出来统一维护。

可以这样组织规则对象:

ip_groups:
  trusted_monitoring:
    type: whitelist
    entries:
      - 192.0.2.10
      - 198.51.100.0/24

  known_attackers:
    type: blacklist
    subscription: https://threat-feed.example.invalid/list.txt

rules:
  - name: allow-monitoring
    source_group: trusted_monitoring
    action: allow

  - name: block-known-attackers
    source_group: known_attackers
    action: block

上面的地址和订阅地址仅用于说明配置思路,不能直接作为生产规则。实际接入 IP 订阅时,应确认订阅来源、更新频率、格式校验和失败回退策略。订阅服务不可用时,系统应继续使用最近一次经过校验的有效列表,避免因空列表或错误内容导致防护策略瞬间失效。

泛解析也需要谨慎使用。它可以减少重复维护,但范围过宽时可能把测试环境、管理地址或共享入口一并纳入规则。建议按业务边界拆分 IP 组,并为每次变更保留审计记录。

一份可执行的升级检查清单

部署 SamWaf v1.3.24 前,可以按下面顺序进行验证:

  • 备份当前配置、证书、规则和日志;
  • 确认业务是否依赖中心管理功能;
  • 检查 GeoLite2-Country.mmdb 是否需要单独准备;
  • 在测试站点开启和关闭 HTTP/2,验证客户端与上游兼容性;
  • 统一管理入口和敏感路径的认证策略;
  • 为远程爆破防护设置观察、告警和拦截阶段;
  • 核对 CDN 回源 IP 情报,避免误封共享地址段;
  • 为 IP 订阅配置格式校验、更新失败回退和变更审计;
  • 使用真实 IPv4、IPv6、CDN 回源和管理网段流量进行回归测试;
  • 保留可启动的旧版本包和明确的回滚步骤。

SamWaf v1.3.24 的价值不只在于新增了几个开关和规则类型,更在于它把网站级协议控制、认证、来源地址管理和 CDN 场景纳入了同一套私有化防护流程。对于中小规模站点,升级时应优先从配置兼容性、规则误拦截和运维替代方案入手,再逐步启用 HTTP/2、IP 订阅和威胁情报能力。


相关推荐