CheckRule

CheckRule 指令定义了用于根据指定模式验证传入请求的规则,以防范 XSS 和 SQL Injection 攻击。

语法CheckRule rule_name;
默认值none
上下文http, server, location, limit_except
参数1+

说明

CheckRule 指令是 NGINX Anti XSS & SQL Injection 模块 (Naxsi) 的一部分,该模块旨在保护 Web 应用免受常见的 Web 漏洞攻击。调用该指令时,它会检查传入请求,并将其与预定义的规则或模式集合进行匹配,以识别潜在的安全威胁,例如 XSS 或 SQL Injection 尝试。该指令允许定义自定义规则,可根据应用的特定安全需求进行调整,从而增强站点的整体安全态势。\n\nCheckRule 的一个关键特性是其灵活性;它可以接受一个或多个参数来指定要应用的规则。这些规则可以包含各种模式,允许管理员创建复杂的规则集,既考虑到合法的用户行为,又阻止恶意输入。该指令可以在多个上下文中使用,包括 'http'、'server'、'location' 和 'limit_except',从而为 NGINX 用户提供广泛的配置选项。\n\n在实践中,Naxsi 以白名单方式运行,这意味着默认情况下拒绝所有请求,只有匹配明确定义规则的请求才被允许通过。这种方式通过关注已知的良好行为而不是不断尝试识别恶意行为,从而将未被检测到的 Web 漏洞风险降到最低。管理员可以手动定义规则,或使用基于站点典型行为生成白名单规则的自动学习模式,从而在保持严格安全标准的同时改善用户体验。

配置示例

location /submit {
    CheckRule "Request_Validation_Rules";
}

确保规则正确定义,以避免无意中阻止合法请求。

过于通用的规则可能导致误报,合法请求可能会被阻止。

在将配置应用到生产环境之前,始终先在预发布环境中进行测试,以防止停机。

← 返回所有指令