Nginx版本信息泄露,可修改配置隐藏或重编译源码及模块清除Server头。
漏洞详情
使用Nginx部署应用程序,存在一个http头文件信息披露漏洞,请求中默认会返回Nginx版本信息,攻击者可以根据版本号来了解相关漏洞并进行针对性攻击。
修复步骤
有三种方法:
第一种是修改配置文件;
第二种是修改源文件,需要重新编译nginx;
第三种是使用 more_clear_headers 模块,需要重新编译nginx。
方法1:使用server_tokens off 配置,可以用来隐藏nginx版本号信息。
打开nginx.conf配置文件,将server_tokens off;添加在http { … } 配置块内;默认无该配置项,需要手动添加。
配置完成后,重新加载配置nginx -s reload;
在Nginx中,server_tokens指令用于控制是否在响应头中显示 Nginx 的版本号。然而,即使将 server_tokens设置为 off,Nginx 仍然会显示 Server: nginx,只是不会显示版本号。
方法2:修改源码中web服务器所使用的nginx的名称和版本信息
第一种方法只能屏蔽版本号信息,无法屏蔽nginx名称,想要屏蔽服务名称的话需要对源码进行修改。
需要修改如下三个文件
./src/core目录下的nginx.h文件,将NGINX_VERSION值改成1.0.0.0;NGINX_VER值改成webserver
./src/http目录下的ngx_http_header_filter_module.c文件,将nginx改成webserver;
./src/http目录下的ngx_http_special_response.c文件,将将nginx改成webserver;
修改完成后重新编译;此时http头文件中server值显示的是webserver;
方法3:使用 more_clear_headers 模块
ngx_http_headers_more_module是一个第三方模块,允许你更灵活地操作 HTTP 响应头。通过这个模块,你可以完全清除 Server响应头。
下载headers-more-nginx-module-0.33模块,重新编译nginx
在Nginx 配置文件中,使用 more_clear_headers指令清除 Server响应头;
重新加载配置,nginx -s reload,头文件信息中清除了server响应头;
以上三种方法,只有方法3清除http头文件信息
中server响应头,可以彻底杜绝信息泄露问题。
原文来源:https://mp.weixin.qq.com/s/r93pJThhREIfP-cQdluG6g
来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。
Copyright©2011-2025 JSedu114 All Rights Reserved. 江苏教育信息综合发布查询平台保留所有权利
苏公网安备32010402000125
苏ICP备14051488号-3技术支持:南京博盛蓝睿网络科技有限公司
南京思必达教育科技有限公司版权所有 百度统计