main_rule

定义用于解析 JSON 请求体内容的规则,有助于防止 XSS 和 SQL injection。

语法main_rule rule_name rule_parameters;
默认值none
上下文http
参数1+

说明

main_rule 指令在 NGINX 的 Anti XSS & SQL Injection 模块 (NAXSI) 中旨在通过定义解析传入请求的 JSON 请求体内容的规则来帮助保护 Web 应用。它在 HTTP 块上下文中运行,期望一个或多个参数,这些参数表示用于验证的具体规则。这些规则可以通过检查请求内容并拒绝包含恶意模式的请求,有效检测并缓解常见的 Web 漏洞,比如 XSS 和 SQL injection。

指定 main_rule 指令时,实质上是指示 NAXSI 模块在处理传入的 JSON 数据时应用所提供的规则。在评估请求时,模块的内部解析函数会处理 JSON 正文中的空白符和特定字符序列,使用算法提取可能触发安全警报的有价值数据字段。如果内容匹配任何被视为威胁的定义模式,可以采取包括记录事件或拒绝访问资源在内的措施,从而表现出类似防火墙的行为,只允许安全的请求通过。

总之,对于使用 NGINX 的环境来说,main_rule 指令对于 Web 安全至关重要,尤其是对于处理 JSON 数据的应用。识别有效模式并排除潜在有害内容,是维护应用完整性的关键方面。

配置示例

http {
    main_rule allow_method get;
    main_rule deny_sql_injection;
    main_rule allow_xss; 
}

确保所提供的规则经过精心设计,以避免阻止合法请求。

过度依赖预定义规则可能导致未能发现漏洞;建议持续审查规则。

配置不当可能导致过多的日志记录,从而影响性能。

← 返回所有指令