当前位置: 首页 > 科技观察

如何隐藏我们的Nginx版本号

时间:2023-03-15 01:21:08 科技观察

简介当我们使用Nginx作为代理时,所有的网络请求都是通过Nginx分发的。而且只要是软件,就会存在漏洞。Nginx难免会存在一些漏洞,Nginx也在不断的迭代自己的版本,所以我们需要在外界访问的时候防止外界获取到我们的Nginx版本。降低部分因版本暴露导致的攻击风险。(及时升级到最新版本,安全性会更高。)本文介绍如何隐藏我们的Nginx版本号,避免外部攻击。1、如何查看自己服务器的Nginx版本是否被隐藏?下面介绍不同环境下的查询方法(1)在windows环境下,我们可以通过浏览器访问网页,按F12进入检查模式,通过网络面板查看当前页面的所有网络请求查找任意一个界面,点击,在弹出的请求详情中,通过Headers面板下的ResponseHeaders可以看到如下数据:其中,Server:Accept-Ranges后会显示你的nginx的版本号:bytesAccess-Control-Allow-Credentials:trueAccess-Control-Allow-Headers:Content-Type,ADMIN-Authorization,API-AuthorizationAccess-Control-Allow-Methods:GET,POST,PUT,DELETE,OPTIONSAccess-Control-Max-Age:3600Cache-Control:public,max-age=60,s-maxage=60Content-Encoding:gzipContent-Length:3348Content-Type:application/javascriptDate:2022年9月23日星期五01:55:37GMTLast-Modified:星期二,08Mar202207:14:08GMTServer:nginx/1.23.0Vary:Origin上面的例子是一个例子暴露nginx版本号的文件。如果版本号被隐藏,会显示为:Server:nginx/willnotslacktheversionnumber。(2)与linux环境下的windows查询方式相比,linux查询可以直接通过curl-I命令进行查询。比如查看这个站点的效果:[root@iZuf63tu3fn1swasqa62h8Znginx]#curl-Izinyan.comHTTP/1.1301MovedPermanentlyServer:nginxDate:Fri,23Sep202202:09:49GMTContent-Type:text/htmlContent-Length:178Connection:keep-alive位置:https://zinyan.com/如果nginx版本没有隐藏,会在nginx后面加上版本号。2.隐藏Nginx版本隐藏方法比较简单:需要打开nginx.conf配置文件。(一般文件目录在/etc/nginx/nginx.conf)切换到nginx.conf文件所在目录,使用vimnginx.conf打开文件。(按I进入编辑模式)然后在服务器级别添加:server_tokensoff;如果有server_tokens,将值改为on,如果没有,则整体添加。效果如下:http{...server{listen80default_server;听[::]:80默认服务器;服务器名称_;根/usr/share/nginx/html;服务器令牌关闭;{}error_page404/404.html;location=/40x.html{}error_page500502503504/50x.html;location=/50x.html{}}}添加完成后按Esc键退出编辑模式,输入:wq保存退出。(如果不熟悉vim命令,可以通过https://zinyan.com/?p=23了解)最后执行:nginx-sreload,重启nginx。隐藏版可以实现。默认情况下,nginx不隐藏版本号。我们需要自己主动配置。