BasicRule
`BasicRule` 指令允许在 NGINX 的 Anti XSS & SQL Injection 模块中配置基本过滤规则,以防范 Web 漏洞。
NGINX Anti XSS & SQL Injection module
·
httpserverlocationlimit_except
语法BasicRule pattern1 [pattern2 ...];
默认值none
上下文http, server, location, limit_except
参数1+
说明
BasicRule 指令是 NGINX 的 Anti XSS & SQL Injection (Naxsi) 模块的一部分,该模块提供用于减轻潜在 Web 漏洞的机制。它充当一种默认丢弃的防火墙,这意味着除非由预定义规则明确允许,否则它会阻止所有流量。BasicRule 指令接受一个或多个参数,用于定义匹配传入请求的模式。这些模式可以包括与 XSS 和 SQL 注入攻击相关的特定字符或字符串,有效地作为一个简单的基于规则的防火墙来保护 Web 应用。
为 BasicRule 提供的参数可以根据应用需求进行定制;例如,你可能希望定义专门针对某些请求方法或内容类型的规则。定义后,这些规则帮助模块决定如何处理请求——根据允许的模式放行,或在匹配到已知攻击特征时阻止。管理员负责细化这些规则,并可能利用 Naxsi 模块中的自动学习功能从合法流量自动生成白名单行为。
由于 Naxsi 模块不依赖基于签名的系统,它能够防护未知模式和攻击,增强部署在 NGINX 服务器上的 Web 应用的整体安全性。有效使用 BasicRule 指令需要谨慎规划和定期更新,以确保合法的应用流量不会被错误阻断,同时保持对恶意活动的强有力防御。
配置示例
server {
location / {
BasicRule "<";
BasicRule "|";
BasicRule "drop";
}
}⚠
对可能也匹配合法用户输入的广泛模式要谨慎,因为它们可能会无意中阻止有效请求。
⚠
在将新规则部署到生产环境之前,务必先在预发布环境中测试,以避免对正常流量造成中断。
⚠
定期检查 Nginx 错误日志以分析行为并在需要时修改规则。