中间件-Nginx漏洞整改(限制IP访问隐藏nginx版本信息)

中间件-Nginx漏洞整改(限制IP访问&隐藏nginx版本信息)

  • 一、限制IP访问
    • 1.1 配置Nginx的ACL
    • 1.2 重载Nginx配置
    • 1.3 验证结果
  • 二、隐藏nginx版本信息
    • 2.1 打开Nginx配置文件
    • 2.2 隐藏Nginx版本信息
    • 2.3 保存并重新加载Nginx配置
    • 2.4 验证结果
    • 2.5 验证隐藏版本信息


💖The Begin💖点点关注,收藏不迷路💖

如何在Linux系统上使用Nginx配置IP访问限制,以增强服务器的安全性。我们将详细讨论如何设置Nginx的访问控制列表(ACL)来限制特定IP地址的访问。

一、限制IP访问

1.1 配置Nginx的ACL

在Nginx的配置文件中,我们可以使用allow和deny指令来设置IP访问限制。

打开Nginx的配置文件(通常是/usr/local/nginx/nginx.conf),在需要限制访问的位置块中添加以下配置:

location / {deny 192.168.1.1; #拒绝IPallow 192.168.1.100;  #允许IP allow 10.0.0.0/24;  #允许IP deny all; #拒绝其他所有IP 
}

上述配置将允许IP地址为192.168.1.100、10.0.0.0/24的客户端访问该位置,而拒绝192.168.1.1、其他所有客户端的访问。

注意:IP需要根据自己的应用场景,设置合适的IP地址。

1)设置了阻止访问网站或敏感目录的IP

2)设置了允许访问网站或敏感目录的IP

以上两个条件同时满足时合规,否则不合规。

1.2 重载Nginx配置

在修改完Nginx配置文件后,需要重新加载Nginx以使更改生效。可以使用以下命令重新加载Nginx配置:

cd 到nginx的sbin目录,执行./nginx -s reload

1.3 验证结果

cat /usr/local/nginx/conf/nginx.conf |sed "/\s*#/d"|sed "/^\s*$/d"|egrep -i "allow|deny"

在这里插入图片描述

为了验证IP访问限制是否生效,可以尝试从不同IP地址的客户端访问设置了限制的位置。确保只有在允许的IP地址范围内的客户端才能成功访问,而其他客户端将被拒绝访问。

通过配置Nginx的ACL,可以轻松实现在Linux系统上限制特定IP地址的访问。这种访问控制可以帮助您增强服务器的安全性,防止未经授权的访问。

二、隐藏nginx版本信息

修改Nginx配置文件以隐藏版本信息,从而减少暴露服务器的潜在风险。

2.1 打开Nginx配置文件

首先,打开Nginx的配置文件(通常是/usr/local/nginx/nginx.conf)

2.2 隐藏Nginx版本信息

1、在Nginx配置文件中,找到或添加以下配置项:

server_tokens off;

存在以上配置则合规,否则不合规。

将server_tokens设置为off可以隐藏Nginx版本信息。这样,当客户端发送请求时,服务器将不会在响应头中包含Nginx的版本信息。

2、修改nginx解压缩路径ngx_http_header_filter_module.c文件

可使用

 find / -name ngx_http_header_filter_module.c

进行检索。

(/home/user/nginx-1.23.1/src/http/ngx_http_header_filter_module.c)文件的第48和49行内容,自定义头信息:

static char ngx_http_server_string[] = “Server:XXXXX” CRLF; 
static char ngx_http_server_full_string[] = “Server:XXXXX” CRLF; 

ngx_http_header_filter_module.c文件是Nginx中的一个模块,主要负责过滤和修改HTTP响应头。在Nginx中,HTTP响应头包含了服务器发送给客户端的元数据信息,如Content-Type、Content-Length等。

通过这个模块,可以在发送HTTP响应之前对响应头进行操作,比如添加、修改或删除特定的响应头字段。

ngx_http_header_filter_module.c文件的作用是允许开发者在Nginx中对HTTP响应头进行定制化操作,以满足特定的需求或增强服务器的功能。

2.3 保存并重新加载Nginx配置

保存对Nginx配置文件的更改,并使用以下命令重新加载Nginx配置:

cd 到nginx的sbin目录,执行./nginx -s reload

2.4 验证结果

cat /usr/local/nginx/conf/nginx.conf |sed "/\s*#/d"|sed "/^\s*$/d"|grep -i "server_tokens"

在这里插入图片描述

2.5 验证隐藏版本信息

为了验证Nginx版本信息是否已成功隐藏,您可以使用浏览器或命令行工具发送请求到您的Nginx服务器,并检查响应头中是否包含Nginx版本信息。

可以看到,Nginx版本信息已经隐藏。

在这里插入图片描述

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IT廉连看——Uniapp——什么是Uniapp

IT廉连看——Uniapp——什么是Uniapp 目标: 了解什么是Uniapp 熟悉创建Uniapp项目的基本流程 一、什么是Uniapp uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS、Android、H5、以及各种小程序&…

关系型数据库事务的四性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)

关系型数据库事务的四性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability) 事务的四性通常指的是数据库事务的ACID属性,包括原子性&…

Qt OpenGL程序在Windows下正常,但在Linux下无显示问题【已解决】

Qt OpenGL程序在Windows下正常,但在Linux下无显示问题【已解决】 引言一、问题描述二、解决方案三、解决过程记录3.1 定位问题3.2 解决问题,深入分析 引言 在Windows上正常运行的OpenGL程序,到Linux下正常编译…但是没有任何显示(只有背景颜…

告别枯燥代码,Matplotlib学习网站让图表活起来!

介绍:Matplotlib是一个广泛使用的Python绘图库,专门用于创建高质量的2D图形。 Matplotlib的特点包括: 丰富的图表类型:支持多种图表类型,如线图、散点图、柱状图、直方图等,满足不同的数据可视化需求。 高度…

openGauss学习笔记-229 openGauss性能调优-系统调优-配置Ustore

文章目录 openGauss学习笔记-229 openGauss性能调优-系统调优-配置Ustore229.1 设计原理229.2 核心优势229.3 使用指导 openGauss学习笔记-229 openGauss性能调优-系统调优-配置Ustore Ustore存储引擎,又名In-place Update存储引擎(原地更新&#xff09…

芯来芯片的硬件的栈溢出检测机制(Stack Check)介绍

1、发生栈溢出上报的中断号 发生栈上溢,上报中断号0x18;发生栈下溢,上报终端号0x19; 2、栈溢出控制寄存器 1、MODE位设置为0,选择栈的上溢和下溢检查模式; 2、使能栈上溢检查和栈下溢检查; 3、设…

【LeetCode:2476. 二叉搜索树最近节点查询 + 中序遍历 + 有序表】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【iOS ARKit】ARWorldMap

ARWorldMap 用于存储 ARSession 检测扫描到的空间信息数据,包括地标(Landmark)、特征点(Feature Point)、平面(Plane)等,以及使用者的操作信息,如使用者添加的 ARAnchor …

FreeRTOS 的队列基础API函数的使用

参考教程来源 //* 实验平台:启明欣欣 STM32F407应用开发板(高配版) 参考正点原子 #include "freertos_demo.h" #include "./SYSTEM/usart/usart.h" #include "led.h" #include "lcd.h" #include "key.h"/*FreeRTOS*********…

【PX4SimulinkGazebo联合仿真】在Simulink中使用ROS2控制无人机沿自定义8字形轨迹正向飞行(带偏航角控制)并在Gazebo中可视化

在Simulink中使用ROS2控制无人机沿自定义8字形轨迹正向飞行(带偏航角控制)并在Gazebo中可视化 系统架构Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge运行所需的环境配置PX4&Simulink&Gazebo联合仿真实现方法建立Simulink模…

Prompt 编程的优化技巧

一、为什么要优化 一)上下文限制 目前 GPT-3.5 以及 GPT-4最大支持 16K 上下文,比如你输入超过 16k 的长文本,ChatGPT 会提示文本过大,为了避免 GPT 无法回复,需要限制 上下文在16k 以内 上下文对于 GPT 来说是非常重…

Maven jar 的查找及依赖版本确定

关于 jar 的查找,及使用版本的确定,及依赖的版本确认,避免 jar 冲突或版本不兼容 在使用 maven 构建项目时,需要的 jar 可以通过在 https://mvnrepository.com/ 可以找到部分需要的依赖,这里以查找 mybatis 依赖为例&…