跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Nginx 安全加固:利用重定向屏蔽所有针对 HTTP 80 端口的非法嗅探

单纯靠重定向无法屏蔽非法嗅探,真正有效的是让80端口对非法Host请求返回444、禁用默认server块、隐藏版本号、自定义错误页并配合防火墙限制访问。 单纯靠重定向无法屏蔽非法嗅探,它只能把 HTTP 请求转走,但端口本身仍开放、仍可被探测或发起连接。真正有效的安全加固,是让 80 端口不响应非法请求,同时确保合法跳转行为可控、不暴露后端细节。 只对已知域名做精准 301 跳转 避免使用
server_name _;
或通配符匹配所有 Host。攻击者常伪造 Host 头发起探测,若 Nginx 对任意 Host 都返回 301,等于主动确认该 IP 正在运行 Web 服务,反而暴露存在性。 应明确列出允许跳转的域名:
server_name example.com www.example.com;
不在列表中的请求,统一返回 444(Nginx 特有“关闭连接”状态码),不发任何响应头或 body 这样既阻断非法 Host 探测,又不影响真实用户访问 禁用默认 server 块响应 Nginx 启动时总会有一个默认 server 块处理未匹配的请求。若未显式配置,它可能返回默认欢迎页或版本信息,泄露 Nginx 版本等敏感数据。 做法是添加一个“兜底” server 块,监听 80 端口但不做跳转: Nginx 在宝塔面板中轻松管理Nginx高性能Web服务器。提供可视化配置反向代理、负载均衡、SSL证书及HTTP缓存功能,一键优化高并发性能,助您高效搭建稳定、快速的网站运行环境。 下载
server { listen 80 default_server; return 444; }
放在所有其他 server 块之前,确保它优先匹配未声明的请求 444 状态码会让连接直接断开,无响应、无日志(默认)、无指纹泄漏 关闭不必要的响应头与错误页 即使做了跳转,Nginx 默认可能返回
Server: nginx/1.18.0
这类头,或在出错时显示带版本号的错误页,都属于信息泄露。 在对应 server 块中加入:
server_tokens off;
—— 隐藏版本号
error_page 400 403 404 405 497 /404.html;
+ 自定义精简错误页(不含服务器标识) 避免使用
rewrite ... permanent
,改用
return 301
,更轻量、更可控、不触发正则引擎 配合防火墙限制非必要访问 重定向是应用层手段,底层防护不能缺。建议补充: 用
ufw
或
iptables
限制 80 端口仅允许主流搜索引擎 User-Agent(如 Googlebot、Bingbot)或已知 CDN IP 段访问(可选) 对高频、无 Host 头、User-Agent 为空或含扫描特征(如 sqlmap、nmap)的请求,直接 DROP 注意:此步需谨慎测试,避免误伤正常爬虫或移动端请求

相关文章