• 当前位置: 首 页 > 教育百科 > 学历/技能 > 正文

    解决HTTP头信息泄露Nginx版本信息问题

    :2025年09月18日
    妍小妖

    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

    [编辑:宋聪乔 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: Nginx http头信息泄露 修复方法 server_tokens off 模块清除头部信息 重新编译
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证