隐藏Nginx标识及版本号



前言

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

请在此添加图片描述

1、隐藏版本号

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

编辑nginx.conf中的server模块在server_name下面怎么如下配置:

server_tokens off;

eg:

请在此添加图片描述

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

下载Nginx安装包

下载不同版本的nginx模板

http://nginx.org/download/nginx-填写版本号.tar.gz
2.1第一步:修改 core包下的nginx.h文件**
vim src/core/nginx.h +14

#define NGINX_VER "happy/" NGINX_VERSION

修改前:

请在此添加图片描述
修改后:

[root@glxxh src]# vim core/nginx.h
请在此添加图片描述

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
# vim src/http/ngx_http_special_response.c  +22 +29+36 (注意修改后无引号,NGINX_VER为变量)

修改前:

请在此添加图片描述
修改后

请在此添加图片描述

2.2.2修改ngx_http_header_filter_module.c:
# vim src/http/ngx_http_header_filter_module.c +49

修改为:
请在此添加图片描述

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源码

请在此添加图片描述

进入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、服务器中检查验证是否修改成功

请在此添加图片描述

5、浏览器访问验证

修改前:
请在此添加图片描述
修改后:
请在此添加图片描述

6.修改默认配置

/usr/local/nginx/html下面的静态页面要修改不要出现nginx的字样。
请在此添加图片描述
如果遇到这方面的问题,没有处理好,请留言,如果有写的不对的地方请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值