您的位置:首页 >Nginx配置防火墙规则有哪些技巧
发布于2026-05-02 阅读(0)
扫一扫,手机访问
为Web服务构建坚固的防御体系,从来不是单一工具或规则能一劳永逸的。它更像是一场精心设计的纵深防御战役,需要从网络边界到应用逻辑层层设防。今天,我们就来聊聊如何围绕Nginx,打造一套既实用又高效的防火墙策略。
安全的第一要义是减少攻击面。一个稳健的架构,必然遵循“最小权限”原则,并在不同层级部署控制点。
allow/deny指令、limit_req(请求速率限制)和limit_conn(连接数限制)等功能,实现IP、请求频率和并发层面的管控。至此,“系统防火墙 + 主机防火墙 + Nginx应用层”的三层纵深防御已然成型。理论说完了,来看点实实在在能抄作业的配置。下面这份清单覆盖了从系统到应用的关键步骤。
/admin/这类敏感路径,严格限制仅允许内网IP段访问;对于已知的恶意IP,直接全局deny。firewall-cmd --permanent --add-service=http --add-service=https --add-service=ssh && firewall-cmd --reloadfirewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” service name=“http” limit value=“10/s” accept’ && firewall-cmd --reloadNew-NetFirewallRule -DisplayName “Nginx HTTP” -Direction Inbound -LocalPort 80 -Protocol TCP -Action AllowNew-NetFirewallRule -DisplayName “Nginx HTTPS” -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allowlocation /admin/ {
allow 192.168.1.0/24;
deny all;
}
deny 203.0.113.5;
allow all;
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 405;
}
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=ops:10m;
}
server {
limit_req zone=one burst=20 nodelay;
limit_conn ops 10;
}
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
server {
listen 80;
return 301 https://$host$request_uri;
}
ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;
当面对更具攻击性的DDoS或恶意爬虫时,我们需要更立体的应对策略。
limit_req和limit_conn控制单个IP的行为。在系统防火墙层(如iptables/firewalld),可以对新建连接(NEW状态)设置速率阈值,作为Nginx之前的另一道闸门,优先丢弃异常突发流量。基础稳固之后,我们可以追求更高级的安全和更可持续的运营。
server_tokens来隐藏Nginx版本信息。合理设置各类超时参数(如client_body_timeout, keepalive_timeout),以防御慢速攻击。同时,通过client_max_body_size限制客户端请求体大小,防止大文件上传滥用。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9