【Nginx】 - nginx 模块安装

又是漏洞扫描,要求修改 Web 服务器的 HTTP 标头,使其不泄露有关基础 Web 服务器的详细信息。o(╥﹏╥)o

漏洞修复 CVE-2004-2479

Web 服务器 HTTP 标头信息泄露, 采用headers-more-nginx-module模块可隐藏头标信息。

在这里插入图片描述

开始修复

nginx安装headers-more-nginx-module模块

安装编译套件

sudo apt install build-essential libpcre3-dev zlib1g-dev

下载nginx 原始码这裡需要下载和你使用的 nginx 同版本的原始码

查看版本命令

nginx -v

知道版本后就可以进行下载了(以下用版本 1.21.5 作为范例)

curl -O http://nginx.org/download/nginx-1.21.5.tar.gz

解压缩

tar -xzf nginx-1.21.5.tar.gz

下载 headers-more-nginx-module 源码

git clone https://github.com/openresty/headers-more-nginx-module

开始编译切换到原始码目录

cd nginx-1.21.5

设置

./configure --add-dynamic-module=/root/headers-more-nginx-module --with-compat

编译modules

make modules

复制动态库到模组目录
nginx 的模组目录可以用以下指令查看


nginx -V 2>&1 | grep modules-path

在这里插入图片描述

接在 modules-path=后面的就是我的路径,我的路径为

/usr/lib/nginx/modules/

复制

cp objs/ngx_http_headers_more_filter_module.so /usr/lib/nginx/modules/

隐藏服器信息
headers-more-nginx-module 有很多实用的功能,不过这里只着重如何设定 server 标头。

以下操作修改 nginx 的设定,可以在在 /etc/nginx/modules-enabled/ 新增 .conf 档或是直接在 /etc/nginx/nginx.conf 写入

载入模组

# 载入 ngx_http_headers_more_filter_module.so 自订标头 在/etc/nginx/nginx.conf 顶部写入

load_module modules/ngx_http_headers_more_filter_module.so;

# 禁用 server 标头 在server下添加
server {

    more_clear_headers "server";
    ...
}

more_clear_headers 后面接的字串即为要拿掉的标头。
查看标头, 可以看到nginx的信息已经不见啦

#  --head          Show document info only
curl --head http://localhost

在这里插入图片描述

自订 server 标头
当然我们也可以打造专属自己的酷炫 server 标头

more_set_headers "server: super web server";

修改后服务器回传的 HTTP 标头 server 栏位变成了 super web server

参考: https://blog.owo9.com/910/hide-nginx-header-server-information/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生如夏花般绚丽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值