nginx修改server信息的方法详解
场景复现
请求响应信息会暴露nginx版本信息,若攻击者获知服务器组件等信息及版本信息,会使下一步的攻击和漏洞测试提供便利
修复方式
漏洞修复需要将http请求头中的"Server:nginx"隐藏掉,这里需要用到headers-more-nginx-module模块。
注意:以下所有操作均在linux环境中进行
查看nginx版本

# 这里使用nginx-1.22.1版本为例,如是内网服务器,可以在有网电脑上下载上传至服务器上 curl -O http://nginx.org/download/nginx-1.22.1.tar.gz # 解压 tar xvf nginx-1.22.1.tar.gz
下载headers-more-nginx源码
# 下载headers模块,如是内网服务器,可以在有网电脑上下载上传至服务器上 $> wget https://github.com/openresty/headers-more-nginx-module/archive/refs/tags/v0.34.tar.gz # 解压headers $> tar xvf v0.34.tar.gz # 查看解压结果,这里会存在文件夹名为【headers-more-nginx-module-0.34】 $> ls

安装nginx及headers模块
# 进入nginx目录 $> cd /root/nginx-1.22.1 # 配置参数,这里需要根据自身目录进行配置 $> ./configure --add-dynamic-module=/root/headers-more-nginx-module-0.34/ --prefix=/usr/local/nginx --with-http_gzip_static_module --with-http_ssl_module # 编译安装 $> make && make install # 安装成功后,进入nginx安装目录的modules下 cd /usr/local/nginx/modules # 查看结果,可以发现多出 ngx_http_headers_more_filter_module.so 模块 $> ls
修改配置文件
# 修改conf配置文件 $> vi /usr/local/nginx/conf/nginx.conf
worker_processes 1;
# 配置加载模块
load_module /usr/local/nginx/modules/ngx_http_headers_more_filter_module.so;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name localhost;
more_set_headers "Server: youGuess"; # 设置Server信息
error_page 404 /404.html;
location = /404.html {
root /usr/local/nginx/html;
}
location / {
root html;
index index.html index.htm;
}
}
}
启动nginx
$> /usr/local/nginx/sbin/nginx
访问nginx欢迎页面,查看请求响应的Server信息

至此Server漏洞已修复,该问题除使用headers模块进行修复之外,还可以通过另一种方式进行修复,请参考下面文章
nginx隐藏响应头server信息和版本号信息的操作方法_nginx_脚本之家
到此这篇关于nginx修改server信息的方法详解的文章就介绍到这了,更多相关nginx修改server信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Nginx下WordPress链接(url伪静态)301永久重定向实现方法
在几个blog程序中折腾的结果,导致url连续二次变化。这是第三次了。 nginx 通过rewrite 使用 permanent; 参数 成301永久url重定向2012-09-09
nginx ingress代理websocket流量的配置方法
ingress nginx默认支持websocket协议,使用长连接协议时需要注意连接超时的设置,文中有提到读取和发送超时的注解参数,通过本文阅读可以快速掌握,对nginx ingress代理websocket相关知识感兴趣的朋友一起看看吧2022-03-03
Nginx中worker connections问题的解决方法
这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05
Nginx配置srcache_nginx模块搭配Redis建立缓存系统
这篇文章主要介绍了Nginx配置srcache_nginx模块搭配Redis建立缓存系统的方法,文中关于Nginx模块和Redis数据库的安装就不再说明了,这里只关注配置搭建阶段,需要的朋友可以参考下2016-01-01
Nginx配置React项目Url后直接输入路由路径时报404问题的解决
这篇文章主要给大家介绍了关于Nginx配置React项目Url后面直接输入路由路径时报404问题的解决方法,文中通过示例代码将解决的方法介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。2017-11-11
Nginx could not build the server_names_hash 错误的解决办法
这篇文章主要介绍了Nginx could not build the server_names_hash 错误的解决办法,需要的朋友可以参考下2014-03-03
结合 Nginx 将 DoNetCore 部署到 阿里云的安装配置方法
这篇文章主要介绍了结合 Nginx 将 DoNetCore 部署到 阿里云的方法 ,需要的朋友可以参考下2018-10-10
nginx 部署 vue 项目找不到js css文件的解决方法
这篇文章主要介绍了nginx 部署 vue 项目找不到js css文件的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-07-07


最新评论