提升网站安全性-隐藏nginx信息

网站优化/运营
367
0
0
2022-03-29

一般使用nginx的web网站,访问网站时,可以从请求头中看到使用了nginx以及nginx的版本号。暴露这些信息将给网站带来一定的风险,因此安装nginx时最好把这些信息隐藏。

提升网站安全性-隐藏nginx信息

隐藏nginx 版本号与WEB服务器信息

如果未安装nginx,先去官网下载压缩包并解压到指定目录,然后进入nginx安装目录

1、 修改src/http文件夹下的两个文件,具体见下图

提升网站安全性-隐藏nginx信息

(1)修改
src/http/ngx_http_header_filter_module.c文件

vim
src/http/ngx_http_header_filter_module.c  

#大约在49行, 修改Server后面服务器信息为自定义服务器信息

static u_char ngx_http_server_string[] = "Server: listen/1.1" CRLF;

提升网站安全性-隐藏nginx信息

改成自定义名称:

提升网站安全性-隐藏nginx信息

(2)修改
src/http/ngx_http_special_response.c文件

vim src/http/ngx_http_special_response.c

#大约在36行,修改为自定义服务器信息

"<hr><center>listen/1.1</center>" CRLF

提升网站安全性-隐藏nginx信息

改成自定义名称

提升网站安全性-隐藏nginx信息

2、编译配置(如果已经安装过nginx,这一步需要先通过nginx –V查看安装信息,然后把相关配置加入下面配置中)

./configure --prefix=/usr/local/src/nginx

3、编译安装(已经安装过的这步只执行make,不执行make install,不然会把以前的配置覆盖,编译后直接手动复制nginx执行文件到原安装目录)

make && make install

4、修改nginx配置文件,http节点下添加 server_tokens off

vim /usr/local/nginx/conf/nginx.conf

....

http {

server_tokens off;

.....

提升网站安全性-隐藏nginx信息

5、启动nginx(正在运行的,需要杀掉进程再重新启动)

/usr/local/src/nginx/sbin/nginx

6、测试

[root@node1 nginx]# sudo curl -I http://127.0.0.1

HTTP/1.1 200 OK

Server: listen/1.1

Date: Fri, 16 Oct 2020 10:49:48 GMT

Content-Type: text/html;charset=ISO-8859-1

Connection: keep-alive

Vary: Accept-Encoding

浏览器访问如下,看不出网站使用了nginx。

提升网站安全性-隐藏nginx信息

主要:如果只想隐藏版本号,而不想自定义服务器信息,则不需要修改src/http下的
ngx_http_header_filter_module.c和
ngx_http_special_response.c文件