nginx版本号隐藏

WWNY666 2024-08-22 09:37:01 阅读 84

隐藏Nginx版本号的主要作用是增强服务器的安全性。当Nginx的版本号被隐藏时,攻击者就难以利用已知的漏洞来攻击特定版本的软件,因为他们无法确切知道服务器上运行的Nginx版本。这样可以降低攻击者对系统的了解,增加攻击的复杂性,从而保护服务器免受潜在攻击。

步骤

安装nginx

<code>[root@admin ~]# wget -c https://nginx.org/download/nginx-1.24.0.tar.gz

--2024-05-01 14:38:29-- https://nginx.org/download/nginx-1.24.0.tar.gz

正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:5c0:2601::6, ...

正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:1112471 (1.1M) [application/octet-stream]

正在保存至: “nginx-1.24.0.tar.gz”

nginx-1.24.0.tar.gz 100%[====================================================================>] 1.06M 12.2KB/s 用时 98s

2024-05-01 14:40:09 (11.1 KB/s) - 已保存 “nginx-1.24.0.tar.gz” [1112471/1112471])#

#安装依赖包

[root@admin ~]# yum -y install gcc make gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

正在更新 Subscription Management 软件仓库。

无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

AppStream 3.1 MB/s | 3.2 kB 00:00

BaseOS 2.7 MB/s | 2.7 kB 00:00

软件包 pcre-8.44-3.el9.3.x86_64 已安装。

软件包 zlib-1.2.11-39.el9.x86_64 已安装。

软件包 openssl-1:3.0.7-6.el9_2.x86_64 已安装。

依赖关系解决。

省略 。 。 。 。 。

[root@admin ~]# useradd -s /sbin/nologin nginx

[root@admin ~]# tar xf nginx-1.24.0.tar.gz

预编译安装

[root@admin nginx-1.24.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module

省略。。。。

[root@admin nginx-1.24.0]# make && make install

省略。。。。

启动nginx

[root@admin nginx-1.24.0]# cd /usr/local/nginx/

[root@admin nginx]# cd sbin/

[root@admin sbin]# ./nginx

[root@admin sbin]# ss -anltp

State Recv-Q Send-Q Local Address:Port Peer Address:Port Process

LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=89050,fd=6),("nginx",pid=89049,fd=6))

LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1001,fd=3))

LISTEN 0 128 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=999,fd=7))

LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1001,fd=4))

LISTEN 0 128 [::1]:631 [::]:* users:(("cupsd",pid=999,fd=6))

[root@admin sbin]#

[root@admin sbin]# systemctl stop firewalld.service

[root@admin sbin]# setenforce 0

 

隐藏版本号

没隐藏前

<code>[root@admin ~]# curl -I 192.168.200.133

HTTP/1.1 200 OK

Server: nginx/1.24.0 //版本

Date: Wed, 01 May 2024 06:51:31 GMT

Content-Type: text/html

Content-Length: 615

Last-Modified: Wed, 01 May 2024 06:47:00 GMT

Connection: keep-alive

ETag: "6631e564-267"

Accept-Ranges: bytes

[root@admin ~]#

编辑配置文件

[root@admin ~]# vim /usr/local/nginx/conf/nginx.conf

29

30 #keepalive_timeout 0;

31 keepalive_timeout 65;

32 server_tokens off; //添加此行

[root@admin ~]# /usr/local/nginx/sbin/nginx -s reload

[root@admin ~]# curl -I 192.168.200.133

HTTP/1.1 200 OK

Server: nginx //版本号已经隐藏

Date: Wed, 01 May 2024 06:55:12 GMT

Content-Type: text/html

Content-Length: 615

Last-Modified: Wed, 01 May 2024 06:47:00 GMT

Connection: keep-alive

ETag: "6631e564-267"

Accept-Ranges: bytes

[root@admin ~]#

第二种隐藏版本方法

编译安装时禁用模块

[root@admin ~]# vim /usr/local/nginx/conf/nginx.conf

29

30 #keepalive_timeout 0;

31 keepalive_timeout 65;

32 server_tokens off; //删除此行

[root@admin ~]# /usr/local/nginx/sbin/nginx -s reload

[root@admin ~]# cd nginx-1.24.0/

[root@admin nginx-1.24.0]# make clean

rm -rf Makefile objs

[root@admin nginx-1.24.0]# cd src/core/

[root@admin core]# vim nginx.h

12 #define nginx_version 1024000

13 #define NGINX_VERSION "hhh" //修改此行随意写什么

14 #define NGINX_VER "hhh" NGINX_VERSION //修改此行随意写什么

重新预编译安装

[root@admin nginx-1.24.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_realip_module --with-http_ssl_module --with-http_gunzip_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log

[root@admin nginx-1.24.0]# make && make install

[root@admin nginx-1.24.0]# /usr/local/nginx/sbin/nginx

[root@admin nginx-1.24.0]# curl -I 192.168.200.133

HTTP/1.1 200 OK

Server: hhhhhh //此处以看不到版本号了

Date: Wed, 01 May 2024 07:20:13 GMT

Content-Type: text/html

Content-Length: 615

Last-Modified: Wed, 01 May 2024 06:47:00 GMT

Connection: keep-alive

ETag: "6631e564-267"

Accept-Ranges: bytes

[root@admin nginx-1.24.0]#



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。