nginx 隐藏版本号及修改软件名

马谦马谦马谦 CentOS评论491字数 880阅读 2 分 56 秒阅读模式

一、概述

nginx 作为当前最流行的开源 web 服务器之一,被无数公司或个人在使用。正因为开源,所以任何人都可以获取到它的源码,这其中就包含了世界各地的黑客。他们无时无刻不在想着如何找出 nginx 的漏洞,以至于在网上随便一搜都能找到无数 nginx 相关的漏洞:

nginx隐藏版本号及修改软件名

默认情况下,http 响应的Server头部都会携带上服务器的名字和版本信息:

而一旦黑客知道了服务端软件的版本信息,很容易就能通过对应版本的漏洞来攻击服务器,引发安全问题。所以针对生产环境的服务器,有必要隐藏或者修改软件版本信息,以避免黑客的指向性攻击。

二、隐藏 nginx 版本号

nginx 中隐藏版本号可以通过配置来解决,通过设置server_tokens变量控制版本号显示

重新载入 nginx,再次获取会发现版本号不见了,但是还能看出是 nginx:

二、修改版本号

nginx 的版本号在 nginx-1.12.2/src/core/nginx.hNGINX_VERSION 字段中定义,位于第 13 行左右:

修改第 13 行的 NGINX_VERSION2.0.0,然后重新编译 nginx,重启服务。

三、修改服务端软件名

修改 nginx/src/core/nginx.h 中的 NGINX_VER 字段:

修改 nginx/src/http/ngx_http_header_filter_module.c 的第 49 行:

改为 Server: Tomcat

重新编译:

  最后更新:2020-3-13
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2018 年 3 月 12 日 11:13:47
  • 转载请务必保留本文链接:https://www.dyxmq.cn/linux/centos/nginx-hide-server-tokens.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证