---

title: Istio 入口 WAF 与限速协同策略(ModSecurity、Envoy RateLimit 与验证)

date: 2025-11-26

keywords:

  • WAF
  • ModSecurity
  • Envoy Rate Limit
  • Ingress
  • 黑白名单

description: 在入口层结合WAF规则与Envoy限速实现协同防护,通过指纹识别与令牌桶保护后端,提供配置与端到端验证方法。

categories:

  • 文章资讯
  • 技术教程

---

概述

入口WAF识别常见攻击与恶意机器人,Envoy限速在高峰与异常流量时保护后端。两者协同可提升边界防护与系统稳定性。

关键实践与参数

  • WAF规则: 启用CRS并按业务调优
  • 本地限速: tokens_per_fillfill_interval 设置速率
  • 黑白名单: 基于IP或Header策略控制
  • 审计: 记录命中规则与限速事件

示例/配置/实现

# ModSecurity + CRS 示例
SecRuleEngine On
Include /usr/local/modsecurity/crs-setup.conf
Include /usr/local/modsecurity/rules/*.conf
SecRule REQUEST_HEADERS:User-Agent "@rx (curl|bot|scrapy|wget)" "id:100100,phase:1,deny,status:403,log"
# Istio EnvoyFilter 本地限速
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: ingress-rl
  namespace: istio-system
spec:
  workloadSelector:
    labels: { istio: ingressgateway }
  configPatches:
    - applyTo: HTTP_FILTER
      match: { context: GATEWAY }
      patch:
        operation: INSERT_BEFORE
        value:
          name: envoy.filters.http.local_ratelimit
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
            stat_prefix: rl
            token_bucket: { max_tokens: 100, tokens_per_fill: 100, fill_interval: 1s }

验证

  • 攻击拦截: 使用扫描UA与Payload触发WAF拒绝
  • 高并发限速: 超过速率阈值请求返回429且后端稳定
  • 名单策略: 黑名单拒绝、白名单放行准确
  • 审计可追溯: 日志记录规则ID与限速命中

注意事项

  • 规则与限速需结合业务场景调优
  • 外层WAF与入口网关策略需协同
  • 在多副本网关下评估分布效果
  • 定期复盘拦截与误报

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部