basic_rule
来自 NGINX Anti XSS & SQL Injection 模块的 `basic_rule` 指令定义了基于预定义模式过滤请求的安全规则。
NGINX Anti XSS & SQL Injection module
·
httpserverlocationlimit_except
语法basic_rule pattern1 [pattern2 ...];
默认值none
上下文http, server, location, limit_except
参数1+
说明
basic_rule 指令是 NGINX Anti XSS & SQL Injection 模块 (NAXSI) 的核心组件,旨在通过允许管理员定义规则来过滤潜在的恶意请求,从而增强安全性。每条规则指定一个匹配已知注入攻击向量(例如 SQL 注入或 XSS 有害载荷)的模式。当请求通过 NGINX 服务器到达时,basic_rule 会将请求内容与已定义的模式进行比对并根据匹配结果采取相应动作。如果请求违反了规则,可以根据服务器的配置以及规则所应用的上下文将其丢弃或记录报告。
该指令可以接受一个或多个参数,表示要匹配的模式。灵活的语法允许在不同上下文中(例如 http、server 或 location)添加多条规则,从而对应用架构各级别的请求处理进行细粒度控制。管理员可以根据应用的具体需求对规则集进行细化和扩展,特别是在初始学习阶段,可以根据日志中观察到的合法流量模式调整规则。
配置示例
http {
...
basic_rule "<";
basic_rule "|";
}
server {
...
location / {
basic_rule "drop";
}
}⚠
过于宽泛的模式可能导致误报并阻止合法流量。
⚠
在使用多个规则时,确保它们彼此不冲突。
⚠
对正则表达式要谨慎,因为如果未优化,它们可能会引入性能开销。