main_rule
定义用于解析 JSON 请求体内容的规则,有助于防止 XSS 和 SQL injection。
NGINX Anti XSS & SQL Injection module
·
http
语法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;
}⚠
确保所提供的规则经过精心设计,以避免阻止合法请求。
⚠
过度依赖预定义规则可能导致未能发现漏洞;建议持续审查规则。
⚠
配置不当可能导致过多的日志记录,从而影响性能。