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:
确定

拖动滑块以完成验证