nginx版本号隐藏

news2024/11/18 17:49:10

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

步骤

安装nginx

[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

 

隐藏版本号

没隐藏前

[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]# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1637172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大模型系列】大模型的上下文长度解释与拓展

文章目录 1 什么是大模型的上下文长度?2 拓展大模型上下文长度的方式参考资料 1 什么是大模型的上下文长度? 大模型的上下文长度(Context Length)是指在自然语言处理(NLP)的大型语言模型(Large…

《QT实用小工具·四十四》支持图片和动图的文本编辑器

1、概述 源码放在文章末尾 该项目实现了一个功能丰富的文本编辑器,除了包含文本常规的编辑功能,还包括图片的插入功能和动图的插入功能,项目demo演示如下所示: 项目部分代码如下所示: #include "imagehelper.…

【Linux网络编程】DNS、ICMP、NAT技术、代理服务器+网络通信各层协议总结

DNS、ICMP、NAT技术、代理服务器网络通信总结 1.DNS2.ICMP协议2.1ping命令2.2traceroute命令 3.NAT技术4.NAT和代理服务器5.网线通信各层协议总结 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励&…

第七篇:专家级指南:Python异常处理的艺术与策略

专家级指南:Python异常处理的艺术与策略 1 引言 在编程的世界中,异常处理是一门必修的艺术。它不仅涉及到程序的错误处理,更广泛地影响着软件的稳定性、健壮性和用户体验。本篇文章将深入探讨Python中的异常处理,展示如何通过精心…

瘦身秘籍:如何使用 PyInstaller 打造超小型 Python 可执行文件

你是否曾经尝试过将你的 Python 程序打包成一个可执行文件,却发现生成的文件大得惊人?别担心,本文将教你如何使用 PyInstaller 尽可能减小生成的 onefile 大小,让你的程序轻盈如风! 1. 使用虚拟环境 首先&#xff0c…

边循环边删除List中的数据

List边循环,边删除;这种一听感觉就像是会出问题一样,其实只要是删除特定数据,就不会出问题,你如果直接循环删除所有数据,那可能就会出问题了,比如: public static void main(String[…

基于RK1126的小型化低功耗AI相机,支持人体特征识别、人脸特征识别、案例帽识别等

提供可定制的⼀套 AI相机软硬件开发平台, 硬件采⽤ RockchipRV1126处理器解决 ⽅案,可选择搭配 SonyIMX系列传感器,POE供电与数据传输,采⽤ 38板标准结构设计,快速按需定制外壳,⽀撑从开发到验证到批量⽣产…

Redis集群模式:高可用性与性能的完美结合!

【更多精彩内容,欢迎关注小米的微信公众号“软件求生”】 大家好,我是小米,一个积极活泼、喜好分享技术的29岁程序员。今天我们来聊聊Redis的集群模式,以及它是如何实现高可用的。 什么是Redis集群模式? Redis的集群模式是为了避免单一节点负载过高导致不稳定的一种解决…

Windows之隐藏特殊文件夹(自定义快捷桌面程序)

作者主页:点击! 创作时间:2024年5月1日12点55分 祝大家劳动节快乐~ Windows中的特殊文件夹是指一些预定义的文件夹,用于存储特定类型的数据或文件。这些文件夹通常由操作系统或应用程序使用,但用户也可以访问和管理它…

java序列化和反序列化基础学习

一、前言 前文分析了java的反序列化的DNSURL利用链,但是对于java反序列化的一些过程不是很了解,这篇主要记录下学习java反序列基础知识 二、原理 概念 1、什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列…

24 JavaScript学习:this

this在对象方法中 在 JavaScript 中,this 的值取决于函数被调用的方式。在对象方法中,this 引用的是调用该方法的对象。 让我们看一个简单的例子: const person {firstName: John,lastName: Doe,fullName: function() {return this.firstN…

element的textarea字体与input字体不一致解决方案

实现 <style scoped> .el-textarea /deep/ .el-textarea__inner{font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; } </style>效…

【Flutter】极光推送配置流程(小米厂商通道) 章二

前言 继【Flutter】极光推送配置流程(极光通道/华为厂商/IOS) 章一 并且&#xff0c;我大概率不会去修改第一篇文章的内容。 随着我自己在配置公司的项目的同时&#xff0c;我希望一直更新这个推送系列文章。 在章一配置完后&#xff0c;也是出现了一些问题&#xff0c;所以本…

【IC设计】CRC(循环冗余校验)

目录 理论解读CRC应用CRC算法参数解读常见CRC参数模型 设计实战校招编程题分类串行输入、并行计算、串行输出**串行计算、串行输出&#xff08;线性移位寄存器&#xff09;LSFR线性移位寄存器&#xff08;并转串&#xff09;(并行计算)模二除 总结——串行、并行计算的本质参考…

nowcoder——删除公共字符

删除公共字符_牛客题霸_牛客网 (nowcoder.com) 对于这个题其实就是删除字符串1中在字符串2中出现过的字符。我们来分析下解题步骤&#xff1a; 思路一&#xff1a;遍历字符串1&#xff0c;如果遍历到的字符在字符串2中出现&#xff0c;则将该字符之后的所有字符向前移一位。 …

[高质量]2024五一数学建模A题保奖思路+代码(后续会更新)

你的点赞收藏是我继续更新的最大动力&#xff0c;可点击文末卡片获取更多资料 你是否在寻找数学建模比赛的突破点&#xff1f; 作为经验丰富的数学建模团队&#xff0c;我们将为你带来2024 年华东杯&#xff08;A题&#xff09;的全面解析包。这个解决方案包不仅包括完整的代…

[C语言]典型例题:小蚂蚁爬橡皮筋、买汽水问题、导致单词块、菱形打印……

1、小蚂蚁爬橡皮筋问题 假设橡皮筋长4m&#xff0c;小蚂蚁从一端爬向另一端每天爬1m&#xff0c;且每爬了1m&#xff0c;橡皮筋会立马拉伸4m&#xff0c;在理想条件下&#xff0c;小蚂蚁需要爬多少天可以到达橡皮筋的另一端&#xff1f; 不仔细想&#xff0c;我们很可能认为小蚂…

LeetCode 543.二叉树的直径

题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 1&#xff1a; 输入&#xff1a;root [1,2,3,4,5]…

5个Python自动化EDA库

EDA或探索性数据分析是一项耗时的工作&#xff0c;但是由于EDA是不可避免的&#xff0c;所以Python出现了很多自动化库来减少执行分析所需的时间。EDA的主要目标不是制作花哨的图形或创建彩色的图形&#xff0c;而是获得对数据集的理解&#xff0c;并获得对变量之间的分布和相关…

OpenFeign修改HttpClient为Apache HttpClient 5

OpenFeign中http client 如果不做特殊配置&#xff0c;OpenFeign默认使用JDK自带的HttpURLConnection发送HTTP请求&#xff0c; 由于默认HttpURLConnection没有连接池、性能和效率比较低。所以修改为Apache HttpClient 5。 总结为两步&#xff1a; 加依赖改yml 具体操作请往…