规则各个字段详细说明:
选项 | 必填 | 子字段 | 可选值 | 含义 | 备注 |
---|---|---|---|---|---|
actions | Y | 1. disrupt 具体动作 2. addheader 添加返回头和值 | 1. disrupt 1) ACCEPT:模式为ACTIVE时 接受请求,不在继续匹配其它规则,常用于开关功能 2)CHAIN 继续匹配下一条规则,具体action在后面的规则中定义 3) DENY 模式为ACTIVE时 直接拒绝请求 4) IGNORE 继续匹配下一条规则 2. addheader 增加一个返回头信息,具体返回头key-value在vars中定义 | 规则匹配后的动作 | |
id | Y | 规则的唯一标识 | |||
msg | Y | 规则描述信息,为字符串 | |||
op_negated | N | 1 | 取反标志,为1表示在原匹配基础上取反 | ||
operator | Y | REGEX: 正则匹配 EQUAL: 相等 GREATER:大于 LESS:小于 GREATOR_EQ:大于等于 LESS_EQ: 小于等于 EXISTS:存在 CONTAINS:包含 STR_EXISTS: str_find PM: 字符串列表查找 CIDR_MATCH: IP查找 RBL_LOOKUP: 域名解析? DETECT_SQLI:检测SQL注入 DETECT_XSS:检测跨站 STR_MATCH:字符串比较 | 操作指令 | ||
opts | N | resty\waf\transform.lua 具体定义支持的方法,支持 函数有 base64_decode、base64_encode、compress_whitespace、hex_decode、hex_encode、html_decode、length、lowercase、md5、normalise_path、remove_comments、remove_comments_char、 remove_whitespace、replace_comments、sha1、sql_hex_decode、trim、trim_left、trim_right、uri_decode | 规则执行之前,对匹配目标进行的预处理。 | ||
pattern | Y | 具体规则 | |||
vars | Y | 1) type specific, ignore_regex, ignore, keys, values, all 在resty\waf\util.lua 中parse_collection里定义 | 1) parse METHOD, REQUEST_ARGS, URI, REQUEST_HEADERS, HTTP_VERSION, CONTENT-TYPE, COOKIES, URI_ARGS, USER_AGENT, REQUEST_BODY, TX | 规则匹配参数选项 |
1.添加返回头功能:
{"vars":[{"header":"server","value":"website80.com"},{"header":"x-powered-by","value":""}], "pattern":"", "operator":"", "actions": {"addheader": "yes"}, "msg":"", "id":2005}