前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx隐藏标识与版本号

nginx隐藏标识与版本号

作者头像
挑战者
发布2021-03-04 15:43:01
6.4K0
发布2021-03-04 15:43:01
举报
文章被收录于专栏:java沉淀

隐藏Nginx标识与版本号

前言

为什么要隐藏nginx标识与版本号?因为nginx默认配置存在安全漏洞。如下图:

image.png

目录

1、隐藏版本号 2、隐藏Nginx标识--修改源码 3、重新编译安装后即可

1、隐藏版本号

curl Nginx服务器时,有这么一行Server: nginx,说明我用的是 Nginx 服务器,但并没有具体的版本号。由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以提高安全性。这只需要在nginx.conf配置里加上这个就可以了:

编辑server模块在server_name下面怎么如下配置:

server_tokens off;

eg:

image.png

2、隐藏Nginx标识--修改源码

下载Nginx源码 http://nginx.org/download/nginx-1.19.2.tar.gz

下载不同版本的nginx模板

http://nginx.org/download/nginx-填写版本号.tar.gz

下载后存放位置:

[图片上传失败...(image-8211aa-1614592774731)]

2.1第一步:修改 core包下的nginx.h文件**
代码语言:javascript
复制
vim src/core/nginx.h +14

#define NGINX_VER "happy/" NGINX_VERSION

修改前:

image.png

修改后:

[root@glxxh src]# vim core/nginx.h

image.png

2.2第二步:修改src/http包下文件

修改文件:

1.ngx_http_special_response.c

2.ngx_http_header_filter_module.c

2.2.1修改gx_http_special_response.c
代码语言:javascript
复制
# vim src/http/ngx_http_special_response.c  +22 +29 和 +36 (注意修改后无引号,NGINX_VER为变量)

修改前:

image.png

修改后

image.png

"


<center>happy</center>" CRLF

2.2.2修改ngx_http_header_filter_module.c:
代码语言:javascript
复制
# vim src/http/ngx_http_header_filter_module.c +49

修改为:

image.png

代码语言:javascript
复制
static  char ngx_http_server_string[] = "Server: happy" CRLF;

3、重新编译安装后即可

3.1第一步:先备份

先备份/usr/local/nginx/sbin下的启动文件

再备份/usr/local/nginx/conf/下的nginx.conf文件

3.2第二步:编译nginx源码

image.png

进入nginx目录进行编译操作

cd nginx-1.13.7

[root@localhost nginx-1.13.7]# ./configure --prefix=/usr/local/nginx

[root@localhost nginx-1.13.7]# make

3.3第三步:更换启动文件nginx(非常重要的一步):

1.先停掉nginx服务器:

2.备份/usr/local/nginx/sbin/nginx文件

3.替换启动文件:将编译好的/u sr/local/nginx-1.13.7/objs/nginx 拷贝到/usr/local/nginx/sbin/下

4.启动nginx

[root@localhost sbin]# ./nginx -V

4、curl -I localhost

image.png

5、访问验证

修改前:

image.png

修改后:

image.png

6.修改默认配置

/usr/local/nginx/html下面的静态页面要修改不要出现nginx的字样。

image.png

如果遇到这方面的问题,没有处理好,请留言,如果有写的不对的地方请指正。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 隐藏Nginx标识与版本号
    • 前言
      • 目录
        • 1、隐藏版本号
          • 2、隐藏Nginx标识--修改源码
            • 2.1第一步:修改 core包下的nginx.h文件**
            • 2.2第二步:修改src/http包下文件
          • 3、重新编译安装后即可
            • 3.1第一步:先备份
            • 3.2第二步:编译nginx源码
            • 3.3第三步:更换启动文件nginx(非常重要的一步):
          • 4、curl -I localhost
            • 5、访问验证
              • 6.修改默认配置
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档