Google Cloud Armor 预配置的规则是具有数十个签名的复杂 Web 应用防火墙 (WAF) 规则,这些规则是根据开源业界标准编译而成的。Google 按原样提供这些规则。通过这些规则,Google Cloud Armor 可以通过引用方便命名的规则评估数十种不同的流量签名,而无需您手动定义每个签名。
下表包含可在 Google Cloud Armor 安全政策中使用的预配置 WAF 规则的完整列表。规则来源为 ModSecurity 核心规则集 3.0.2 (CRS)。
Google Cloud Armor 规则名称 |
ModSecurity 规则名称 |
当前状态 |
sqli-stable |
SQL 注入 |
与 sqli-canary 同步 |
sqli-canary |
SQL 注入 |
最新 |
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-stable |
PHP 注入攻击(公开预览版) |
与 php-canary 同步 |
php-canary |
PHP 注入攻击(公开预览版) |
最新 |
sessionfixation-stable |
会话固定攻击(公开预览版) |
与 sessionfixation-canary 同步 |
sessionfixation-canary |
会话固定攻击(公开预览版) |
最新 |
每条预配置的规则都包含多个签名。根据预配置的规则评估传入请求。如果请求与与预配置规则相关联的任何签名匹配,则该请求与预配置规则匹配。当 evaluatePreconfiguredExpr()
命令返回值 true
时,将进行匹配。
如果您确定预配置规则匹配的流量超过必要流量,或者如果该规则正阻止需要允许的流量,则可以调整该规则以停用嘈杂或不必要的签名。如需在特定的预配置规则中停用签名,您可向 evaluatePreconfiguredExpr()
命令提供不需要的签名的 ID 列表。
以下示例会从预配置的 xss-stable
WAF 规则中排除两个 CRS 规则 ID:
evaluatePreconfiguredExpr('xss-stable', ['owasp-crs-v020901-id981136-xss', 'owasp-crs-v020901-id981138-xss'])
上面的示例是采用自定义规则语言的表达式。常规语法如下:
evaluatePreconfiguredExpr(RULE, ['SIGNATURE1', 'SIGNATURE2', 'SIGNATURE3'])
SQL 注入 (SQLi)
签名 ID(CRS 规则 ID) |
敏感度级层 |
说明 |
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 尝试 |
owasp-crs-v030001-id942110-sqli |
2 |
SQL 注入攻击:检测到常见注入测试 |
owasp-crs-v030001-id942120-sqli |
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 |
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 注入攻击 |
owasp-crs-v030001-id942430-sqli |
2 |
限制的 SQL 字符异常值检测(参数):# 具有超过 (12) 的特殊字符数 |
owasp-crs-v030001-id942440-sqli |
2 |
检测到 SQL 备注序列 |
owasp-crs-v030001-id942450-sqli |
2 |
已识别的 SQL 十六进制编码 |
owasp-crs-v030001-id942251-sqli |
3 |
检测 HAVING 注入 |
owasp-crs-v030001-id942420-sqli |
3 |
限制的 SQL 字符异常值检测 (Cookie):# 具有超过 (8) 的特殊字符数 |
owasp-crs-v030001-id942431-sqli |
3 |
限制的 SQL 字符异常值检测(参数):# 具有超过 (6) 的特殊字符数 |
owasp-crs-v030001-id942460-sqli |
3 |
元字符异常值检测警报 - 重复的非单词字符 |
owasp-crs-v030001-id942421-sqli |
4 |
限制的 SQL 字符异常值检测 (Cookie):# 具有超过 (3) 的特殊字符数 |
owasp-crs-v030001-id942432-sqli |
4 |
限制的 SQL 字符异常值检测(参数):# 具有超过 (2) 的特殊字符数 |
如需在特定敏感度级层配置规则,请在较高的敏感度级层停用签名:
SQLi 敏感度级层 1 |
evaluatePreconfiguredExpr('sqli-stable', ['owasp-crs-v030001-id942110-sqli',
'owasp-crs-v030001-id942120-sqli',
'owasp-crs-v030001-id942150-sqli',
'owasp-crs-v030001-id942180-sqli',
'owasp-crs-v030001-id942200-sqli',
'owasp-crs-v030001-id942210-sqli',
'owasp-crs-v030001-id942260-sqli',
'owasp-crs-v030001-id942300-sqli',
'owasp-crs-v030001-id942310-sqli',
'owasp-crs-v030001-id942330-sqli',
'owasp-crs-v030001-id942340-sqli',
'owasp-crs-v030001-id942380-sqli',
'owasp-crs-v030001-id942390-sqli',
'owasp-crs-v030001-id942400-sqli',
'owasp-crs-v030001-id942410-sqli',
'owasp-crs-v030001-id942430-sqli',
'owasp-crs-v030001-id942440-sqli',
'owasp-crs-v030001-id942450-sqli',
'owasp-crs-v030001-id942251-sqli',
'owasp-crs-v030001-id942420-sqli',
'owasp-crs-v030001-id942431-sqli',
'owasp-crs-v030001-id942460-sqli',
'owasp-crs-v030001-id942421-sqli',
'owasp-crs-v030001-id942432-sqli']
)
|
SQLi 敏感度级层 2 |
evaluatePreconfiguredExpr('sqli-stable', ['owasp-crs-v030001-id942251-sqli',
'owasp-crs-v030001-id942420-sqli',
'owasp-crs-v030001-id942431-sqli',
'owasp-crs-v030001-id942460-sqli',
'owasp-crs-v030001-id942421-sqli',
'owasp-crs-v030001-id942432-sqli']
)
|
SQLi 敏感度级层 3 |
evaluatePreconfiguredExpr('sqli-stable', ['owasp-crs-v030001-id942421-sqli',
'owasp-crs-v030001-id942432-sqli']
)
|
SQLi 敏感度级层 4 |
evaluatePreconfiguredExpr('sqli-stable')
|
跨站脚本攻击 (XSS)
签名 ID(规则 ID) |
敏感度级层 |
说明 |
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 - 检测到攻击 |
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 过滤器 - 检测到攻击 |
如需在特定敏感度级层配置规则,请在较高的敏感度级层停用签名:
XSS 敏感度级层 1 |
evaluatePreconfiguredExpr('xss-stable', ['owasp-crs-v030001-id941150-xss',
'owasp-crs-v030001-id941320-xss',
'owasp-crs-v030001-id941330-xss',
'owasp-crs-v030001-id941340-xss'])
|
XSS 的所有签名均低于敏感度级层 2。以下配置适用于其他敏感度级层:
XSS 敏感度级别 2/3/4 |
evaluatePreconfiguredExpr('xss-stable')
|
本地文件包含 (LFI)
签名 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 |
尝试访问受限文件 |
LFI 的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:
LFI 敏感度级层 1/2/3/4 |
evaluatePreconfiguredExpr('lfi-canary')
|
远程代码执行 (RCE)
签名 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) |
RCE 的所有签名均位于敏感度级层 1。以下配置适用于所有敏感度级层:
RCE 敏感度级层 1/2/3/4 |
evaluatePreconfiguredExpr('rce-canary')
|
远程文件包含 (RFI)
签名 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 |
网域外引用/链接 |
如需在特定敏感度级层配置规则,请在较高的敏感度级层停用签名:
RFI 敏感度级层 1 |
evaluatePreconfiguredExpr('rfi-canary', ['owasp-crs-v030001-id931130-rfi'])
|
RFI 的所有签名均低于敏感度级层 2。以下配置适用于其他敏感度级层:
RFI 敏感度级层 2/3/4 |
evaluatePreconfiguredExpr('rfi-canary')
|
方法强制执行
此规则处于公开预览版状态。
签名 ID(规则 ID) |
敏感度级层 |
说明 |
owasp-crs-v030001-id911100-methodenforcement |
1 |
政策不允许使用方法 |
方法强制执行的所有签名均低于敏感度级层 2。以下配置适用于其他敏感度级层:
方法强制执行灵敏度级别 2/3/4 |
evaluatePreconfiguredExpr('methodenforcement-canary')
|
扫描程序检测
此规则处于公开预览版状态。
签名 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 |
找到与网页抓取工具/聊天机器人关联的用户代理 |
如需在特定敏感度级层配置规则,请在较高的敏感度级层停用签名。
扫描程序检测的敏感度级层 1 |
evaluatePreconfiguredExpr('scannerdetection-stable',
['owasp-crs-v030001-id913101-scannerdetection',
'owasp-crs-v030001-id913102-scannerdetection']
)
|
Scanner Detection 的敏感度级别 2 |
evaluatePreconfiguredExpr('scannerdetection-stable')
|
协议攻击
此规则处于公开预览版状态。
签名 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 和标头名称) |
owasp-crs-v030001-id921151-protocolattack |
2 |
通过载荷进行的 HTTP 标头注入攻击(检测到 CR/LF) |
owasp-crs-v030001-id921170-protocolattack |
3 |
HTTP 参数污染 |
如需在特定敏感度级层配置规则,请在较高的敏感度级层停用签名。
协议攻击敏感度级别 1 |
evaluatePreconfiguredExpr('protocolattack-stable',
['owasp-crs-v030001-id921151-protocolattack',
'owasp-crs-v030001-id921170-protocolattack']
)
|
协议攻击敏感度级层 1 |
evaluatePreconfiguredExpr('protocolattack-stable',
['owasp-crs-v030001-id921170-protocolattack']
)
|
协议攻击敏感度级层 1 |
evaluatePreconfiguredExpr('protocolattack-stable')
|
PHP
此规则处于公开预览版状态。
签名 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 流 |
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 注入攻击:找到变量函数调用 |
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 脚本文件上传 |
如需在特定敏感度级层配置规则,请在较高的敏感度级层停用签名。
PHP 注入攻击敏感度级别 1 |
evaluatePreconfiguredExpr('php-stable', ['owasp-crs-v030001-id933151-php',
'owasp-crs-v030001-id933131-php',
'owasp-crs-v030001-id933161-php',
'owasp-crs-v030001-id933111-php']
)
|
PHP 注入攻击敏感度级别 2 |
evaluatePreconfiguredExpr('php-stable', ['owasp-crs-v030001-id933131-php',
'owasp-crs-v030001-id933161-php',
'owasp-crs-v030001-id933111-php']
)
|
PHP 注入攻击敏感度级别 3 |
evaluatePreconfiguredExpr('php-stable')
|
会话固定
此规则处于公开预览版状态。
签名 ID(规则 ID) |
敏感度级层 |
说明 |
owasp-crs-v030001-id943100-sessionfixation |
1 |
可能的会话固定攻击:在 HTML 中设置 Cookie 值 |
owasp-crs-v030001-id943110-sessionfixation |
1 |
可能的会话固定攻击:带有网域间引用器的会话 ID 参数名称 |
owasp-crs-v030001-id943120-sessionfixation |
1 |
可能的会话固定攻击:不含引用器的会话 ID 参数名称 |
会话固定的所有签名都低于敏感程度 2 级。以下配置适用于其他敏感度级层:
会话固定敏感度级别 2/4 |
evaluatePreconfiguredExpr('sessionfixation-canary')
|
后续步骤