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-44228和CVE-2021-45046Log4j RCE 漏洞942550-sqliJSON 格式的内容漏洞google-mrs-v202512-id000001-rce和google-mrs-v202512-id000002-rceReact 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) | 敏感程度 |
|---|