Google Cloud Armor 预配置的 WAF 规则概览

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

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

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

CRS 3.3

Google Cloud Armor 规则名称 ModSecurity 规则名称 当前状态
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

Google Cloud Armor 规则名称 ModSecurity 规则名称 当前状态
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 规则适用于所有 Google Cloud Armor 客户,以帮助检测并选择性地阻止以下漏洞:

  • CVE-2021-44228CVE-2021-45046 Log4j RCE 漏洞
  • 942550-sqli JSON 格式的内容漏洞
Google Cloud Armor 规则名称 涵盖的漏洞类型
cve-canary Log4j 漏洞
json-sqli-canary 基于 JSON 的 SQL 注入绕过漏洞

预配置的 ModSecurity 规则

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

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)

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

SQLi 敏感度级层 1

evaluatePreconfiguredExpr('sqli-v33-stable',
['owasp-crs-v030301-id942110-sqli',
  'owasp-crs-v030301-id942120-sqli',
  'owasp-crs-v030301-id942130-sqli',
  'owasp-crs-v030301-id942150-sqli',
  'owasp-crs-v030301-id942180-sqli',
  'owasp-crs-v030301-id942200-sqli',
  'owasp-crs-v030301-id942210-sqli',
  'owasp-crs-v030301-id942260-sqli',
  'owasp-crs-v030301-id942300-sqli',
  'owasp-crs-v030301-id942310-sqli',
  'owasp-crs-v030301-id942330-sqli',
  'owasp-crs-v030301-id942340-sqli',
  'owasp-crs-v030301-id942361-sqli',
  'owasp-crs-v030301-id942370-sqli',
  'owasp-crs-v030301-id942380-sqli',
  'owasp-crs-v030301-id942390-sqli',
  'owasp-crs-v030301-id942400-sqli',
  'owasp-crs-v030301-id942410-sqli',
  'owasp-crs-v030301-id942470-sqli',
  'owasp-crs-v030301-id942480-sqli',
  'owasp-crs-v030301-id942430-sqli',
  'owasp-crs-v030301-id942440-sqli',
  'owasp-crs-v030301-id942450-sqli',
  'owasp-crs-v030301-id942510-sqli',
  'owasp-crs-v030301-id942251-sqli',
  'owasp-crs-v030301-id942490-sqli',
  'owasp-crs-v030301-id942420-sqli',
  'owasp-crs-v030301-id942431-sqli',
  'owasp-crs-v030301-id942460-sqli',
  'owasp-crs-v030301-id942101-sqli',
  'owasp-crs-v030301-id942511-sqli',
  'owasp-crs-v030301-id942421-sqli',
  'owasp-crs-v030301-id942432-sqli']
)
          
SQLi 敏感度级层 2

evaluatePreconfiguredExpr('sqli-v33-stable',
 ['owasp-crs-v030301-id942251-sqli',
  'owasp-crs-v030301-id942490-sqli',
  'owasp-crs-v030301-id942420-sqli',
  'owasp-crs-v030301-id942431-sqli',
  'owasp-crs-v030301-id942460-sqli',
  'owasp-crs-v030301-id942101-sqli',
  'owasp-crs-v030301-id942511-sqli',
  'owasp-crs-v030301-id942421-sqli',
  'owasp-crs-v030301-id942432-sqli']
)
SQLi 敏感度级层 3

evaluatePreconfiguredExpr('sqli-v33-stable',
        ['owasp-crs-v030301-id942421-sqli',
         'owasp-crs-v030301-id942432-sqli']
         )
SQLi 敏感度级层 4

evaluatePreconfiguredExpr('sqli-v33-stable')

或者,您也可以通过使用具有预设敏感度参数的 evaluatePreconfiguredWaf() 在特定敏感度级层配置规则。默认情况下,如果不配置规则集的敏感度,Google 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) 敏感度级层 说明
Not included 1 通过 libinjection 检测 XSS 攻击
owasp-crs-v030001-id941110-xss 1 XSS 过滤器 - 类别 1:脚本标记向量
owasp-crs-v030001-id941120-xss 1 XSS 过滤器 - 类别 2:事件处理脚本向量
owasp-crs-v030001-id941130-xss 1 XSS 过滤器 - 类别 3:属性向量
owasp-crs-v030001-id941140-xss 1 XSS 过滤器 - 类别 4:JavaScript URI 向量
owasp-crs-v030001-id941160-xss 1 NoScript XSS InjectionChecker:HTML 注入
owasp-crs-v030001-id941170-xss 1 NoScript XSS InjectionChecker:属性注入
owasp-crs-v030001-id941180-xss 1 节点验证器屏蔽名单关键字
owasp-crs-v030001-id941190-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941200-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941210-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941220-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941230-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941240-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941250-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941260-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941270-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941280-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941290-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941300-xss 1 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941310-xss 1 US-ASCII 格式错误的编码 XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941350-xss 1 UTF-7 编码 IE XSS - 检测到攻击
Not included 1 检测到 JSFuck / 层次结构混淆
Not included 1 找到 JavaScript 全局变量
Not included 2 通过 libinjection 检测 XSS 攻击
owasp-crs-v030001-id941150-xss 2 XSS 过滤器 - 类别 5:不允许的 HTML 属性
owasp-crs-v030001-id941320-xss 2 检测到可能的 XSS 攻击 - HTML 标记处理程序
owasp-crs-v030001-id941330-xss 2 IE XSS 过滤器 - 检测到攻击
owasp-crs-v030001-id941340-xss 2 IE XSS 过滤器 - 检测到攻击
Not included 2 检测到 AngularJS 客户端模板注入

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

XSS 敏感度级层 1

evaluatePreconfiguredExpr('xss-v33-stable',
['owasp-crs-v030301-id941101-xss',
  'owasp-crs-v030301-id941150-xss',
  'owasp-crs-v030301-id941320-xss',
  'owasp-crs-v030301-id941330-xss',
  'owasp-crs-v030301-id941340-xss',
  'owasp-crs-v030301-id941380-xss'
])
          


XSS 的所有签名均低于敏感度级层 2。以下配置适用于其他敏感度级层:

XSS 敏感度级层 2

evaluatePreconfiguredExpr('xss-v33-stable')

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

CRS 3.3

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

CRS 3.0

敏感程度 表达式
1 evaluatePreconfiguredWaf('xss-stable', {'sensitivity': 1})

本地文件包含 (LFI)

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

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id930100-lfi 1 路径遍历攻击 (/../)
owasp-crs-v030301-id930110-lfi 1 路径遍历攻击 (/../)
owasp-crs-v030301-id930120-lfi 1 尝试访问操作系统文件
owasp-crs-v030301-id930130-lfi 1 尝试访问受限文件

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id930100-lfi 1 路径遍历攻击 (/../)
owasp-crs-v030001-id930110-lfi 1 路径遍历攻击 (/../)
owasp-crs-v030001-id930120-lfi 1 尝试访问操作系统文件
owasp-crs-v030001-id930130-lfi 1 尝试访问受限文件

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。LFI 的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:

LFI 敏感度级层 1

evaluatePreconfiguredExpr('lfi-v33-stable')

或者,您也可以通过使用具有预设敏感度参数的 evaluatePreconfiguredWaf() 在特定敏感度级层配置规则。LFI 的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:

CRS 3.3

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

CRS 3.0

敏感程度 表达式
1 evaluatePreconfiguredWaf('lfi-stable', {'sensitivity': 1})

远程代码执行 (RCE)

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

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id932100-rce 1 UNIX 命令注入
owasp-crs-v030301-id932105-rce 1 UNIX 命令注入
owasp-crs-v030301-id932110-rce 1 Windows 命令注入
owasp-crs-v030301-id932115-rce 1 Windows 命令注入
owasp-crs-v030301-id932120-rce 1 找到 Windows PowerShell 命令
owasp-crs-v030301-id932130-rce 1 找到 Unix Shell 表达式
owasp-crs-v030301-id932140-rce 1 找到 Windows FOR/IF 命令
owasp-crs-v030301-id932150-rce 1 直接执行 Unix 命令
owasp-crs-v030301-id932160-rce 1 找到 UNIX Shell 代码
owasp-crs-v030301-id932170-rce 1 Shellshock (CVE-2014-6271)
owasp-crs-v030301-id932171-rce 1 Shellshock (CVE-2014-6271)
owasp-crs-v030301-id932180-rce 1 尝试上传受限文件
owasp-crs-v030301-id932200-rce 2 RCE 绕过技术
owasp-crs-v030301-id932106-rce 3 远程命令执行:Unix 命令注入
owasp-crs-v030301-id932190-rce 3 远程命令执行:通配符绕过技术尝试

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id932100-rce 1 UNIX 命令注入
owasp-crs-v030001-id932105-rce 1 UNIX 命令注入
owasp-crs-v030001-id932110-rce 1 Windows 命令注入
owasp-crs-v030001-id932115-rce 1 Windows 命令注入
owasp-crs-v030001-id932120-rce 1 找到 Windows PowerShell 命令
owasp-crs-v030001-id932130-rce 1 找到 Unix Shell 表达式
owasp-crs-v030001-id932140-rce 1 找到 Windows FOR/IF 命令
owasp-crs-v030001-id932150-rce 1 直接执行 Unix 命令
owasp-crs-v030001-id932160-rce 1 找到 UNIX Shell 代码
owasp-crs-v030001-id932170-rce 1 Shellshock (CVE-2014-6271)
owasp-crs-v030001-id932171-rce 1 Shellshock (CVE-2014-6271)
Not included 1 尝试上传受限文件
Not included 2 RCE 绕过技术
Not included 3 远程命令执行:Unix 命令注入
Not included 3 远程命令执行:通配符绕过技术尝试

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。以下配置适用于所有敏感度级层:

RCE 敏感度级层 1

evaluatePreconfiguredExpr('rce-v33-stable',
          ['owasp-crs-v030301-id932200-rce',
           'owasp-crs-v030301-id932106-rce',
           'owasp-crs-v030301-id932190-rce'])
          
RCE 敏感度级层 2

evaluatePreconfiguredExpr('rce-v33-stable',
           [ 'owasp-crs-v030301-id932106-rce',
           'owasp-crs-v030301-id932190-rce'])
          
RCE 敏感度级层 3

evaluatePreconfiguredExpr('rce-v33-stable')

或者,您也可以通过使用具有预设敏感度参数的 evaluatePreconfiguredWaf() 在特定敏感度级层配置规则。RCE 的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:

CRS 3.3

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

CRS 3.0

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

远程文件包含 (RFI)

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

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id931100-rfi 1 使用 IP 地址的网址参数
owasp-crs-v030301-id931110-rfi 1 常用 RFI 易受攻击的参数名称与网址载荷一起使用
owasp-crs-v030301-id931120-rfi 1 网址载荷与尾随英文问号字符 (?) 一起使用
owasp-crs-v030301-id931130-rfi 2 网域外引用/链接

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id931100-rfi 1 使用 IP 地址的网址参数
owasp-crs-v030001-id931110-rfi 1 常用 RFI 易受攻击的参数名称与网址载荷一起使用
owasp-crs-v030001-id931120-rfi 1 网址载荷与尾随英文问号字符 (?) 一起使用
owasp-crs-v030001-id931130-rfi 2 网域外引用/链接

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

RFI 敏感度级层 1

evaluatePreconfiguredExpr('rfi-v33-stable', ['owasp-crs-v030301-id931130-rfi'])

RFI 的所有签名均低于敏感度级层 2。以下配置适用于其他敏感度级层:

RFI 敏感度级层 2

evaluatePreconfiguredExpr('rfi-v33-stable')

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

CRS 3.3

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

CRS 3.0

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

方法强制执行

下表提供了方法强制执行预配置规则中每个支持的签名的签名 ID、敏感度级层和说明。

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id911100-methodenforcement 1 政策不允许使用方法

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id911100-methodenforcement 1 政策不允许使用方法

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。方法强制执行的所有签名均位于敏感度级层 1。以下配置适用于其他敏感度级层:

方法强制执行灵敏度级层 1

evaluatePreconfiguredExpr('methodenforcement-v33-stable')

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

CRS 3.3

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

CRS 3.0

敏感程度 表达式
1 evaluatePreconfiguredWaf('methodenforcement-stable', {'sensitivity': 1})

扫描程序检测

下表提供了扫描程序检测预配置规则中每个支持的签名的签名 ID、敏感度级层和说明。

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id913100-scannerdetection 1 找到与安全扫描程序关联的用户代理
owasp-crs-v030301-id913110-scannerdetection 1 找到与安全扫描程序关联的请求标头
owasp-crs-v030301-id913120-scannerdetection 1 找到与安全扫描程序关联的请求文件名/参数
owasp-crs-v030301-id913101-scannerdetection 2 找到与脚本/通用 HTTP 客户端关联的用户代理
owasp-crs-v030301-id913102-scannerdetection 2 找到与网页抓取工具/聊天机器人关联的用户代理

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id913100-scannerdetection 1 找到与安全扫描程序关联的用户代理
owasp-crs-v030001-id913110-scannerdetection 1 找到与安全扫描程序关联的请求标头
owasp-crs-v030001-id913120-scannerdetection 1 找到与安全扫描程序关联的请求文件名/参数
owasp-crs-v030001-id913101-scannerdetection 2 找到与脚本/通用 HTTP 客户端关联的用户代理
owasp-crs-v030001-id913102-scannerdetection 2 找到与网页抓取工具/聊天机器人关联的用户代理

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

扫描程序检测的敏感度级层 1

evaluatePreconfiguredExpr('scannerdetection-v33-stable',
  ['owasp-crs-v030301-id913101-scannerdetection',
  'owasp-crs-v030301-id913102-scannerdetection']
)
          
Scanner Detection 的敏感度级别 2

evaluatePreconfiguredExpr('scannerdetection-v33-stable')
          

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

CRS 3.3

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

CRS 3.0

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

协议攻击

下表提供了协议攻击预配置规则中每个支持的签名的签名 ID、敏感度级层和说明。

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
Not included 1 HTTP 请求走私攻击
owasp-crs-v030301-id921110-protocolattack 1 HTTP 请求走私攻击
owasp-crs-v030301-id921120-protocolattack 1 HTTP 响应拆分攻击
owasp-crs-v030301-id921130-protocolattack 1 HTTP 响应拆分攻击
owasp-crs-v030301-id921140-protocolattack 1 通过标头进行的 HTTP 标头注入攻击
owasp-crs-v030301-id921150-protocolattack 1 通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF)
owasp-crs-v030301-id921160-protocolattack 1 通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
owasp-crs-v030301-id921190-protocolattack 1 HTTP 拆分(在请求文件名中检测到 CR/LF)
owasp-crs-v030301-id921200-protocolattack 1 LDAP 注入攻击
owasp-crs-v030301-id921151-protocolattack 2 通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF)
owasp-crs-v030301-id921170-protocolattack 3 HTTP 参数污染

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id921100-protocolattack 1 HTTP 请求走私攻击
owasp-crs-v030001-id921110-protocolattack 1 HTTP 请求走私攻击
owasp-crs-v030001-id921120-protocolattack 1 HTTP 响应拆分攻击
owasp-crs-v030001-id921130-protocolattack 1 HTTP 响应拆分攻击
owasp-crs-v030001-id921140-protocolattack 1 通过标头进行的 HTTP 标头注入攻击
owasp-crs-v030001-id921150-protocolattack 1 通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF)
owasp-crs-v030001-id921160-protocolattack 1 通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF 和标头名称)
Not included 1 HTTP 拆分(在请求文件名中检测到 CR/LF)
Not included 1 LDAP 注入攻击
owasp-crs-v030001-id921151-protocolattack 2 通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF)
owasp-crs-v030001-id921170-protocolattack 3 HTTP 参数污染

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

协议攻击敏感度级别 1

evaluatePreconfiguredExpr('protocolattack-v33-stable',
  ['owasp-crs-v030301-id921151-protocolattack',
  'owasp-crs-v030301-id921170-protocolattack']
)
          
协议攻击敏感度级层 2

evaluatePreconfiguredExpr('protocolattack-v33-stable',
  ['owasp-crs-v030301-id921170-protocolattack']
)
          
协议攻击敏感度级层 3

evaluatePreconfiguredExpr('protocolattack-v33-stable')
          

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

CRS 3.3

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

CRS 3.0

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

PHP

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

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id933100-php 1 PHP 注入攻击:找到 PHP 打开标记
owasp-crs-v030301-id933110-php 1 PHP 注入攻击:找到 PHP 脚本文件上传
owasp-crs-v030301-id933120-php 1 PHP 注入攻击:找到配置指令
owasp-crs-v030301-id933130-php 1 PHP 注入攻击:找到变量
owasp-crs-v030301-id933140-php 1 PHP 注入攻击:找到 I/O 流
owasp-crs-v030301-id933200-php 1 PHP 注入攻击:检测到封装容器方案
owasp-crs-v030301-id933150-php 1 PHP 注入攻击:找到高风险的 PHP 函数名称
owasp-crs-v030301-id933160-php 1 PHP 注入攻击:找到高风险的 PHP 函数调用
owasp-crs-v030301-id933170-php 1 PHP 注入攻击:序列化对象注入
owasp-crs-v030301-id933180-php 1 PHP 注入攻击:找到变量函数调用
owasp-crs-v030301-id933210-php 1 PHP 注入攻击:找到变量函数调用
owasp-crs-v030301-id933151-php 2 PHP 注入攻击:找到中等风险的 PHP 函数名称
owasp-crs-v030301-id933131-php 3 PHP 注入攻击:找到变量
owasp-crs-v030301-id933161-php 3 PHP 注入攻击:找到低价值的 PHP 函数调用
owasp-crs-v030301-id933111-php 3 PHP 注入攻击:找到 PHP 脚本文件上传
owasp-crs-v030301-id933190-php 3 PHP 注入攻击:找到 PHP 关闭标记

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id933100-php 1 PHP 注入攻击:找到 PHP 打开标记
owasp-crs-v030001-id933110-php 1 PHP 注入攻击:找到 PHP 脚本文件上传
owasp-crs-v030001-id933120-php 1 PHP 注入攻击:找到配置指令
owasp-crs-v030001-id933130-php 1 PHP 注入攻击:找到变量
owasp-crs-v030001-id933140-php 1 PHP 注入攻击:找到 I/O 流
Not included 1 PHP 注入攻击:检测到封装容器方案
owasp-crs-v030001-id933150-php 1 PHP 注入攻击:找到高风险的 PHP 函数名称
owasp-crs-v030001-id933160-php 1 PHP 注入攻击:找到高风险的 PHP 函数调用
owasp-crs-v030001-id933170-php 1 PHP 注入攻击:序列化对象注入
owasp-crs-v030001-id933180-php 1 PHP 注入攻击:找到变量函数调用
Not included 1 PHP 注入攻击:找到变量函数调用
owasp-crs-v030001-id933151-php 2 PHP 注入攻击:找到中等风险的 PHP 函数名称
owasp-crs-v030001-id933131-php 3 PHP 注入攻击:找到变量
owasp-crs-v030001-id933161-php 3 PHP 注入攻击:找到低价值的 PHP 函数调用
owasp-crs-v030001-id933111-php 3 PHP 注入攻击:找到 PHP 脚本文件上传
Not included 3 PHP 注入攻击:找到 PHP 关闭标记

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

PHP 注入攻击敏感度级别 1

evaluatePreconfiguredExpr('php-v33-stable',
['owasp-crs-v030301-id933151-php',
  'owasp-crs-v030301-id933131-php',
  'owasp-crs-v030301-id933161-php',
  'owasp-crs-v030301-id933111-php',
  'owasp-crs-v030301-id933190-php']
)
          
PHP 注入攻击敏感度级别 2

evaluatePreconfiguredExpr('php-v33-stable',
  ['owasp-crs-v0303001-id933131-php',
  'owasp-crs-v0303001-id933161-php',
  'owasp-crs-v0303001-id933111-php',
  'owasp-crs-v030301-id933190-php'])
          
PHP 注入攻击敏感度级别 3

evaluatePreconfiguredExpr('php-v33-stable')
          

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

CRS 3.3

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

CRS 3.0

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

会话固定

下表提供了会话固定预配置规则中每个支持的签名的签名 ID、敏感度级层和说明。

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id943100-sessionfixation 1 可能的会话固定攻击:在 HTML 中设置 Cookie 值
owasp-crs-v030301-id943110-sessionfixation 1 可能的会话固定攻击:带有网域间引用器的会话 ID 参数名称
owasp-crs-v030301-id943120-sessionfixation 1 可能的会话固定攻击:不含引用器的会话 ID 参数名称

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id943100-sessionfixation 1 可能的会话固定攻击:在 HTML 中设置 Cookie 值
owasp-crs-v030001-id943110-sessionfixation 1 可能的会话固定攻击:带有网域间引用器的会话 ID 参数名称
owasp-crs-v030001-id943120-sessionfixation 1 可能的会话固定攻击:不含引用器的会话 ID 参数名称

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。会话固定的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:

会话固定敏感度级层 1

evaluatePreconfiguredExpr('sessionfixation-v33-stable')

或者,您也可以通过使用具有预设敏感度参数的 evaluatePreconfiguredWaf() 在特定敏感度级层配置规则。会话固定的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:

CRS 3.3

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

CRS 3.0

敏感程度 表达式
1 evaluatePreconfiguredWaf('sessionfixation-stable', {'sensitivity': 1})

Java 攻击

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

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id944100-java 1 远程命令执行:检测到可疑的 Java 类
owasp-crs-v030301-id944110-java 1 远程命令执行:生成了 Java 进程 (CVE-2017-9805)
owasp-crs-v030301-id944120-java 1 远程命令执行:Java 序列化 (CVE-2015-4852)
owasp-crs-v030301-id944130-java 1 检测到可疑的 Java 类
owasp-crs-v030301-id944200-java 2 检测到魔法字节,可能使用了 Java 序列化
owasp-crs-v030301-id944210-java 2 检测到采用 Base64 编码的魔法字节,可能使用了 Java 序列化
owasp-crs-v030301-id944240-java 2 远程命令执行:Java 序列化 (CVE-2015-4852)
owasp-crs-v030301-id944250-java 2 远程命令执行:检测到可疑的 Java 方法
owasp-crs-v030301-id944300-java 3 Base64 编码的字符串与可疑关键字匹配

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
Not included 1 远程命令执行:检测到可疑的 Java 类
Not included 1 远程命令执行:生成了 Java 进程 (CVE-2017-9805)
Not included 1 远程命令执行:Java 序列化 (CVE-2015-4852)
Not included 1 检测到可疑的 Java 类
Not included 2 检测到魔法字节,可能使用了 Java 序列化
Not included 2 检测到采用 Base64 编码的魔法字节,可能使用了 Java 序列化
Not included 2 远程命令执行:Java 序列化 (CVE-2015-4852)
Not included 2 远程命令执行:检测到可疑的 Java 方法
Not included 3 Base64 编码的字符串与可疑关键字匹配

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

Java 攻击敏感度级别 1

evaluatePreconfiguredExpr('java-v33-stable',
['owasp-crs-v030301-id944200-java',
 'owasp-crs-v030301-id944210-java',
 'owasp-crs-v030301-id944240-java',
 'owasp-crs-v030301-id944250-java',
 'owasp-crs-v030301-id944300-java'])
          
Java 攻击敏感度级别 2

evaluatePreconfiguredExpr('java-v33-stable',
['owasp-crs-v030301-id944300-java'])
          
Java 攻击敏感度级别 3

evaluatePreconfiguredExpr('java-v33-stable')
          

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

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

NodeJS 攻击

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

以下预配置 WAF 规则的签名仅在 CRS 3.3 中提供。

CRS 3.3

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030301-id934100-nodejs 1 Node.js 注入攻击

CRS 3.0

签名 ID(规则 ID) 敏感度级层 说明
Not included 1 Node.js 注入攻击

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。NodeJS 攻击的所有签名均位于敏感度级层 1。以下配置适用于其他敏感度级层:

NodeJS 敏感度级别 1

evaluatePreconfiguredExpr('nodejs-v33-stable')

或者,您也可以通过使用具有预设敏感度参数的 evaluatePreconfiguredWaf() 在特定敏感度级层配置规则。NodeJS 攻击的所有签名均位于敏感度级层 1。以下配置适用于其他敏感度级层:

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

CVE 和其他漏洞

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

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-v030001-id044228-cve 1 此基本规则有助于检测尝试利用 CVE-2021-44228CVE-2021-45046 漏洞的攻击
owasp-crs-v030001-id144228-cve 1 Google 提供的增强功能,涵盖更多尝试发动绕过和混淆的攻击
owasp-crs-v030001-id244228-cve 3 提高检测敏感度,以定位更多尝试发动绕过和混淆的攻击,同时增加假正例检测的风险
owasp-crs-v030001-id344228-cve 3 提高检测敏感度,以使用 base64 编码定位更多尝试发动绕过和混淆的攻击,同时增加假正例检测的风险

您可以在特定敏感度级层配置规则,方法是使用 evaluatePreconfiguredExpr() 在较高敏感度级层停用签名。

CVE 敏感度级层 1

evaluatePreconfiguredExpr('cve-canary', ['owasp-crs-v030001-id244228-cve',
  'owasp-crs-v030001-id344228-cve'])
          
CVE 敏感度级层 3

evaluatePreconfiguredExpr('cve-canary')

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

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

JSON 格式的内容 SQLi 漏洞

下表提供了受支持签名 942550-sqli 的签名 ID、敏感度级别和说明,其中涵盖恶意攻击者可能通过将 JSON 语法附加到 SQL 注入载荷来绕过 WAF 的漏洞。

签名 ID(规则 ID) 敏感度级层 说明
owasp-crs-id942550-sqli 2 检测所有基于 JSON 的 SQLi 矢量,包括网址中发现的 SQLi 签名

使用以下表达式部署签名:

  evaluatePreconfiguredWaf('json-sqli-canary', {'sensitivity':0, 'opt_in_rule_ids': ['owasp-crs-id942550-sqli']})
  

我们建议您在敏感度级层 2 启用 sqli-v33-stable,以完全解决基于 JSON 的 SQL 注入绕过问题。

限制

Google Cloud Armor 预配置的 WAF 规则具有以下限制:

  • WAF 规则更改通常需要几分钟才能传播。
  • 在带有请求正文的 HTTP 请求类型中,Google Cloud Armor 仅处理 POST 请求。Google Cloud Armor 会根据 POST 正文的前 8 KB 内容评估预配置规则。如需了解详情,请参阅 POST 正文检查限制
  • 当使用匹配的 Content-Type 标头值启用 JSON 解析时,Google Cloud Armor 可以解析和应用预配置的 WAF 规则。如需了解详情,请参阅 JSON 解析
  • 如果您将请求字段排除项附加到预配置的 WAF 规则,则无法使用 allow 操作。系统会自动允许与此例外情况匹配的请求。

后续步骤