Cloud Armor 预配置的 WAF 规则概览

Google Cloud Armor 预配置的 WAF 规则是具有数十个签名的复杂 Web 应用防火墙 (WAF) 规则,这些规则是根据开源业界标准编译而成的。每个签名都对应于规则集中的攻击检测规则。Google 按原样提供这些规则。借助这些规则,Cloud Armor 可以通过引用方便命名的规则评估数十种不同的流量特征签名,而无需您手动定义每个特征签名。

您可以调整 Google Cloud Armor 预配置的 WAF 规则以尽量满足您的需求。如需详细了解如何调整规则,请参阅调整 Google Cloud Armor 预配置的 WAF 规则

下表包含可在 Cloud Armor 安全政策中使用的预配置 WAF 规则的完整列表。规则来源为 OWASP 核心规则集 (CRS) 3.3.2。我们建议您使用 3.3 版来提高敏感度,并增加受保护的攻击类型的范围。我们继续为 CRS 3.0 提供支持。

CRS 3.3

Cloud Armor 规则名称 OWASP 规则名称 当前状态
SQL 注入 sqli-v33-stable sqli-v33-canary 同步
sqli-v33-canary 最新
跨站点脚本攻击 xss-v33-stable xss-v33-canary 同步
xss-v33-canary 最新
本地文件包含 lfi-v33-stable lfi-v33-canary 同步
lfi-v33-canary 最新
远程文件包含 rfi-v33-stable rfi-v33-canary 同步
rfi-v33-canary 最新
远程代码执行 rce-v33-stable rce-v33-canary 同步
rce-v33-canary 最新
方法强制执行 methodenforcement-v33-stable methodenforcement-v33-canary 同步
methodenforcement-v33-canary 最新
扫描程序检测 scannerdetection-v33-stable scannerdetection-v33-canary 同步
scannerdetection-v33-canary 最新
协议攻击 protocolattack-v33-stable protocolattack-v33-canary 同步
protocolattack-v33-canary 最新
PHP 注入攻击 php-v33-stable php-v33-canary 同步
php-v33-canary 最新
会话固定攻击 sessionfixation-v33-stable sessionfixation-v33-canary 同步
sessionfixation-v33-canary 最新
Java 攻击 java-v33-stable java-v33-canary 同步
java-v33-canary 最新
NodeJS 攻击 nodejs-v33-stable nodejs-v33-canary 同步
nodejs-v33-canary 最新

CRS 3.0

Cloud Armor 规则名称 OWASP 规则名称 当前状态
SQL 注入 sqli-stable sqli-canary 同步
sqli-canary 最新
跨站点脚本攻击 xss-stable xss-canary 同步
xss-canary 最新
本地文件包含 lfi-stable lfi-canary 同步
lfi-canary 最新
远程文件包含 rfi-stable rfi-canary 同步
rfi-canary 最新
远程代码执行 rce-stable rce-canary 同步
rce-canary 最新
方法强制执行 methodenforcement-stable methodenforcement-canary 同步
methodenforcement-canary 最新
扫描程序检测 scannerdetection-stable scannerdetection-canary 同步
scannerdetection-canary 最新
协议攻击 protocolattack-stable protocolattack-canary 同步
protocolattack-canary 最新
PHP 注入攻击 php-stable php-canary 同步
php-canary 最新
会话固定攻击 sessionfixation-stable sessionfixation-canary 同步
sessionfixation-canary 最新
Java 攻击 Not included
NodeJS 攻击 Not included

此外,以下 cve-canary 规则适用于所有 Cloud Armor 客户,以帮助检测并选择性地阻止以下漏洞:

  • CVE-2021-44228CVE-2021-45046 Log4j RCE 漏洞
  • 942550-sqli JSON 格式的内容漏洞
  • google-mrs-v202512-id000001-rcegoogle-mrs-v202512-id000002-rce React RCE 漏洞
Cloud Armor 规则名称 涵盖的漏洞类型
cve-canary Log4j 和 React RCE 漏洞
json-sqli-canary 基于 JSON 的 SQL 注入绕过漏洞

预配置的 OWASP 规则

每个预配置的 WAF 规则的敏感度级别都对应于一个 OWASP CRS 偏执级别。较低的敏感度级别表示较高的置信度签名,生成误报的可能性较小。较高的敏感度级别会提高安全性,但也会增加生成假正例的风险。

SQL 注入 (SQLi)

下表提供了 SQLi 预配置的 WAF 规则中每个支持的签名的 ID、敏感度级别和说明。

CRS 3.3

签名 ID(规则 ID) 敏感程度 说明
owasp-crs-v030301-id942100-sqli 1 通过 libinjection 检测 SQL 注入攻击
owasp-crs-v030301-id942140-sqli 1 SQL 注入攻击:检测到通用 DB 名称
owasp-crs-v030301-id942160-sqli 1 使用 sleep() 或 benchmark() 检测 blind SQLi 测试。
owasp-crs-v030301-id942170-sqli 1 检测 SQL 基准测试和睡眠注入尝试,包括条件查询
owasp-crs-v030301-id942190-sqli 1 检测 MSSQL 代码执行和信息收集尝试
owasp-crs-v030301-id942220-sqli 1 查找整数溢出攻击
owasp-crs-v030301-id942230-sqli 1 检测条件 SQL 注入尝试
owasp-crs-v030301-id942240-sqli 1 检测 MySQL 字符集切换和 MSSQL DoS 尝试
owasp-crs-v030301-id942250-sqli 1 检测 MATCH AGAINST
owasp-crs-v030301-id942270-sqli 1 查找基本的 SQL 注入;MySql 的通用攻击字符串
owasp-crs-v030301-id942280-sqli 1 检测 Postgres pg_sleep 注入
owasp-crs-v030301-id942290-sqli 1 查找基本 MongoDB SQL 注入尝试
owasp-crs-v030301-id942320-sqli 1 检测 MySQL 和 PostgreSQL 已存储过程/函数注入
owasp-crs-v030301-id942350-sqli 1 检测 MySQL UDF 注入和其他数据/结构操纵尝试
owasp-crs-v030301-id942360-sqli 1 检测串联的基本 SQL 注入和 SQLLFI 尝试
owasp-crs-v030301-id942500-sqli 1 检测到 MySQL 内嵌注释
owasp-crs-v030301-id942110-sqli 2 SQL 注入攻击:检测到常见注入测试
owasp-crs-v030301-id942120-sqli 2 SQL 注入攻击:检测到 SQL 运算符
owasp-crs-v030301-id942130-sqli 2 SQL 注入攻击:检测到 SQL 同义反复
owasp-crs-v030301-id942150-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942180-sqli 2 检测基本 SQL 身份验证绕过尝试 1/3
owasp-crs-v030301-id942200-sqli 2 检测 MySQL 备注/空间混淆注入和英文反引号终止
owasp-crs-v030301-id942210-sqli 2 检测链式 SQL 注入尝试 1/2
owasp-crs-v030301-id942260-sqli 2 检测基本 SQL 身份验证绕过尝试 2/3
owasp-crs-v030301-id942300-sqli 2 检测 MySQL 备注
owasp-crs-v030301-id942310-sqli 2 检测链式 SQL 注入尝试 2/2
owasp-crs-v030301-id942330-sqli 2 检测传统 SQL 注入探测 1/2
owasp-crs-v030301-id942340-sqli 2 检测基本 SQL 身份验证绕过尝试 3/3
owasp-crs-v030301-id942361-sqli 2 根据关键字更改或联合检测基本 SQL 注入
owasp-crs-v030301-id942370-sqli 2 检测传统 SQL 注入探测 2/3
owasp-crs-v030301-id942380-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942390-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942400-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942410-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942470-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942480-sqli 2 SQL 注入攻击
owasp-crs-v030301-id942430-sqli 2 限制的 SQL 字符异常值检测(参数):超过特殊字符数 (12)
owasp-crs-v030301-id942440-sqli 2 检测到 SQL 备注序列
owasp-crs-v030301-id942450-sqli 2 已识别的 SQL 十六进制编码
owasp-crs-v030301-id942510-sqli 2 检测到通过引号或反引号发出的 SQLi 绕过尝试
owasp-crs-v030301-id942251-sqli 3 检测 HAVING 注入
owasp-crs-v030301-id942490-sqli 3 检测传统 SQL 注入探测 3/3
owasp-crs-v030301-id942420-sqli 3 限制的 SQL 字符异常值检测 (Cookie):超过特殊字符数 (8)
owasp-crs-v030301-id942431-sqli 3 限制的 SQL 字符异常值检测(参数):超过特殊字符数 (6)
owasp-crs-v030301-id942460-sqli 3 元字符异常值检测警报 - 重复的非单词字符
owasp-crs-v030301-id942101-sqli 3 通过 libinjection 检测 SQL 注入攻击
owasp-crs-v030301-id942511-sqli 3 检测到通过引号发出的 SQLi 绕过尝试
owasp-crs-v030301-id942421-sqli 4 限制的 SQL 字符异常值检测 (Cookie):超过特殊字符数 (3)
owasp-crs-v030301-id942432-sqli 4 限制的 SQL 字符异常值检测(参数):超过特殊字符数 (2)

CRS 3.0

签名 ID(规则 ID) 敏感程度 说明
Not included 1 通过 libinjection 检测 SQL 注入攻击
owasp-crs-v030001-id942140-sqli 1 SQL 注入攻击:检测到通用 DB 名称
owasp-crs-v030001-id942160-sqli 1 使用 sleep() 或 benchmark() 检测 blind SQLi 测试。
owasp-crs-v030001-id942170-sqli 1 检测 SQL 基准测试和睡眠注入尝试,包括条件查询
owasp-crs-v030001-id942190-sqli 1 检测 MSSQL 代码执行和信息收集尝试
owasp-crs-v030001-id942220-sqli 1 查找整数溢出攻击
owasp-crs-v030001-id942230-sqli 1 检测条件 SQL 注入尝试
owasp-crs-v030001-id942240-sqli 1 检测 MySQL 字符集切换和 MSSQL DoS 尝试
owasp-crs-v030001-id942250-sqli 1 检测 MATCH AGAINST
owasp-crs-v030001-id942270-sqli 1 查找基本的 SQL 注入;MySql 的通用攻击字符串
owasp-crs-v030001-id942280-sqli 1 检测 Postgres pg_sleep 注入
owasp-crs-v030001-id942290-sqli 1 查找基本 MongoDB SQL 注入尝试
owasp-crs-v030001-id942320-sqli 1 检测 MySQL 和 PostgreSQL 已存储过程/函数注入
owasp-crs-v030001-id942350-sqli 1 检测 MySQL UDF 注入和其他数据/结构操纵尝试
owasp-crs-v030001-id942360-sqli 1 检测串联的基本 SQL 注入和 SQLLFI 尝试
Not included 1 检测到 MySQL 内嵌注释
owasp-crs-v030001-id942110-sqli 2 SQL 注入攻击:检测到常见注入测试
owasp-crs-v030001-id942120-sqli 2 SQL 注入攻击:检测到 SQL 运算符
Not included 2 SQL 注入攻击:检测到 SQL 同义反复
owasp-crs-v030001-id942150-sqli 2 SQL 注入攻击
owasp-crs-v030001-id942180-sqli 2 检测基本 SQL 身份验证绕过尝试 1/3
owasp-crs-v030001-id942200-sqli 2 检测 MySQL 备注/空间混淆注入和英文反引号终止
owasp-crs-v030001-id942210-sqli 2 检测链式 SQL 注入尝试 1/2
owasp-crs-v030001-id942260-sqli 2 检测基本 SQL 身份验证绕过尝试 2/3
owasp-crs-v030001-id942300-sqli 2 检测 MySQL 备注
owasp-crs-v030001-id942310-sqli 2 检测链式 SQL 注入尝试 2/2
owasp-crs-v030001-id942330-sqli 2 检测传统 SQL 注入探测 1/2
owasp-crs-v030001-id942340-sqli 2 检测基本 SQL 身份验证绕过尝试 3/3
Not included 2 根据关键字更改或联合检测基本 SQL 注入
Not included 2 检测传统 SQL 注入探测 2/3
owasp-crs-v030001-id942380-sqli 2 SQL 注入攻击
owasp-crs-v030001-id942390-sqli 2 SQL 注入攻击
owasp-crs-v030001-id942400-sqli 2 SQL 注入攻击
owasp-crs-v030001-id942410-sqli 2 SQL 注入攻击
Not included 2 SQL 注入攻击
Not included 2 SQL 注入攻击
owasp-crs-v030001-id942430-sqli 2 限制的 SQL 字符异常值检测(参数):超过特殊字符数 (12)
owasp-crs-v030001-id942440-sqli 2 检测到 SQL 备注序列
owasp-crs-v030001-id942450-sqli 2 已识别的 SQL 十六进制编码
Not included 2 检测到通过引号或反引号发出的 SQLi 绕过尝试
owasp-crs-v030001-id942251-sqli 3 检测 HAVING 注入
Not included 2 检测传统 SQL 注入探测 3/3
owasp-crs-v030001-id942420-sqli 3 限制的 SQL 字符异常值检测 (Cookie):超过特殊字符数 (8)
owasp-crs-v030001-id942431-sqli 3 限制的 SQL 字符异常值检测(参数):超过特殊字符数 (6)
owasp-crs-v030001-id942460-sqli 3 元字符异常值检测警报 - 重复的非单词字符
Not included 3 通过 libinjection 检测 SQL 注入攻击
Not included 3 检测到通过引号发出的 SQLi 绕过尝试
owasp-crs-v030001-id942421-sqli 4 限制的 SQL 字符异常值检测 (Cookie):超过特殊字符数 (3)
owasp-crs-v030001-id942432-sqli 4 限制的 SQL 字符异常值检测(参数):超过特殊字符数 (2)

您可以通过将 evaluatePreconfiguredWaf() 与预设敏感度参数结合使用,在特定敏感度级层配置规则。默认情况下,如果不配置规则集的敏感度,Cloud Armor 会评估所有特征签名。

CRS 3.3

敏感程度 表达式
1 evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 1})
2 evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 2})
3 evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 3})
4 evaluatePreconfiguredWaf('sqli-v33-stable', {'sensitivity': 4})

CRS 3.0

敏感程度 表达式
1 evaluatePreconfiguredWaf('sqli-stable', {'sensitivity': 1})
2 evaluatePreconfiguredWaf('sqli-stable', {'sensitivity': 2})
3 evaluatePreconfiguredWaf('sqli-stable', {'sensitivity': 3})
4 evaluatePreconfiguredWaf('sqli-stable', {'sensitivity': 4})

跨站脚本攻击 (XSS)

下表提供了 XSS 预配置的 WAF 规则中每个支持的签名的 ID、敏感度级别和说明。

CRS 3.3

签名 ID(规则 ID) 敏感程度 说明
owasp-crs-v030301-id941100-xss 1 通过 libinjection 检测 XSS 攻击
owasp-crs-v030301-id941110-xss 1 XSS 过滤器 - 类别 1:脚本标记向量
owasp-crs-v030301-id941120-xss 1 XSS 过滤器 - 类别 2:事件处理脚本向量
owasp-crs-v030301-id941130-xss 1 XSS 过滤器 - 类别 3:属性向量
owasp-crs-v030301-id941140-xss 1 XSS 过滤器 - 类别 4:JavaScript URI 向量
owasp-crs-v030301-id941160-xss 1 NoScript XSS InjectionChecker:HTML 注入
owasp-crs-v030301-id941170-xss 1 NoScript XSS InjectionChecker:属性注入
owasp-crs-v030301-id941180-xss 1 节点验证器拒绝名单关键字
owasp-crs-v030301-id941190-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941200-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941210-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941220-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941230-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941240-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941250-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941260-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941270-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941280-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941290-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941300-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941310-xss 1 US-ASCII 格式错误的编码 XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941350-xss 1 UTF-7 编码 IE XSS - 检测到攻击
owasp-crs-v030301-id941360-xss 1 检测到层次结构混淆
owasp-crs-v030301-id941370-xss 1 找到 JavaScript 全局变量
owasp-crs-v030301-id941101-xss 2 通过 libinjection 检测 XSS 攻击
owasp-crs-v030301-id941150-xss 2 XSS 过滤器 - 类别 5:不允许的 HTML 属性
owasp-crs-v030301-id941320-xss 2 检测到可能的 XSS 攻击 - HTML 标记处理程序
owasp-crs-v030301-id941330-xss 2 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941340-xss 2 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030301-id941380-xss 2 检测到 AngularJS 客户端模板注入

CRS 3.0

签名 ID(规则 ID) 敏感程度