网络安全 day3 --- WAFCDNOSS反向代理正向代理负载均衡

news2024/11/15 4:59:17

WAF(网页防火墙)

原理:Web应用防火墙,旨在提供保护

影响:常规Web安全测试手段会受到拦截

实验:Windows2022 + IIS +D盾

作用是防范网络安全入侵。

如下图,我们在网站目录下放一个简单的一句话木马,发现轻松的连接上了,这是没有WAF(防火墙的结果)不仅如此我们还可以执行ipconfig等命令。

我们下载一个免费的D盾防火墙 ,把它安装在我们的网页目录下并开启保护程序。

我们的后门已经连接不上了。

访问网站,出现D盾防护的拦截字样

WAF具体原理如下

waf分类如下

CDN(内容分发服务)

原理:内容分发服务,旨在提高访问速度

影响:隐藏真实源IP,导致对目标测试错误

实验:阿里云备案域名全局CDN加速服务(直接阿里云搜就有,这里我不做演示了)

多地ping工具:网站测速_网站速度诊断_HTTP速度测速_WEB速度测试_CDN测速_API测速_多线路速度测试_多地区速度测试

网站部署到本地的时候,本地的人访问的就会很快,但是距离你比较远的地方的人访问会很慢。

CDN就是用来解决这个问题的,并且每个地区访问的人访问的节点不一样,因为CDN服务节点的存在可以让我们从不同的地方访问一个web应用速度也很快。CDN在提供加速分发服务的同时,提供了节点我们访问的web应用的IP都会成为节点的IP,将原本的真实IP进行了隐藏。

当然我们需要进行CDN加速需要各大云厂商提供的CDN服务根据需求指向国内CDN或者全球,就是可以对于国内进行加速与在全球都进行加速。我们需要有自己的域名才可以使用云厂商的服务进行加速。自己应该也是可以配置的,但是成本往往是很高的。

具体原理如下:

 具体演示效果如图我们拿百度做个演示

可以看到百度对于国内大部分地方的加速还是很可观的,上面是单次测试的截图。

下面放一下持续性ping的截图

有这张图片进行对比,那没CDN服务的网站是什么效果呢?我们从网上随便找个blog进行多地ping测试。

发现加速方面是有很明显的对比的。

配置完CDN后有一段时间的响应时间,我们需要稍加等待然后可以ping测试我们自己的域名,会发现每次的响应IP都有可能不一样 。

OSS(对象存储应用)

原理:云存储服务,旨在提高访问速度

影响:

演示:https://cloudreve.org/

Windows2022 + cloudreve + 阿里云OSS

https://github.com/cloudreve/Cloudreve/releases/download/3.7.1/cloudreve_3.7.1_windows_amd64.zip

我们使用上面这个源码进行操作,解压完成后直接点击exe文件进行运行 

运行完成后如图会在本机的5212端口搭建一个网站我们直接访问,注意这个服务会和IIS冲突,我们需要先关闭IIS网站再次进行访问。 上面会给我们管理员的账号密码。于此,搭建了一个自己的OSS对象存储应用。

如果文件存储到OSS里面去了,那么我们也就没必要测试文件上传漏洞了,因为测试了没有意义,哪怕拿下了也拿不到网站本身的敏感数据。

反向代理

反向代理是一种代表服务器接收客户端请求的代理服务器。它位于服务器端,将客户端的请求分发给内部的服务器进行处理,然后将响应返回给客户端。

反向代理我们举例子一个很好理解的,就拿我们的负载均衡服务器nginx来说,当客户端访问负载均衡服务器nginx的时候nginx会把客户端流量分发给后端服务器,这种形式就可以称之为反向代理。

正向代理

正向代理是一种代表客户端发起请求的代理服务器,客户端通过正向代理访问目标服务器。它在客户端和服务器之间充当中介,将客户端的请求转发到目标服务器,并将服务器的响应返回给客户端。

通俗易懂点,我们使用校园网访问bilibili的时候,我们需要走学校的服务器去访问bilibili的服务器,或者学校的服务器会缓存bilibili的服务页面直接分发给校园网用户,这种代理访问的模式我们称之为正向代理。

具体原理如下图所示

负载均衡

这个其实是比较复杂的,具体说说我们使用nginx 、iptables、ipvs都可以做负载均衡。具体深入学习还需要各位自行探究。

iptables是根据规则走顺序表进行负载均衡的,所以相对于ipvs走哈希表进行负载均衡会慢很多,具体顺序表和哈希表原理需要各位自行学习数据结构,这里讲就太多了。nginx也可以当作负载均衡服务器,我们使用nginx当做负载均衡服务器的时候就相当于加了一台多算法的流量分配机器,可以承担前端大量流量的访问,并将流量根据算法导入后端服务器,那这个时候问题很多的小明又要问了,那为啥我访问百度的时候永远都是百度一个服务器呢?因为百度的后端可能是用了nfs网络文件系统搭建网页,可以让后端页面发出一致。挂载了nfs。

 具体的nginx的算法我们列下来:

- 轮询(Round Robin):默认的负载均衡算法,按照顺序将请求分配给每一个服务器。

权重(Weighted Round Robin):在轮询的基础上,可以根据服务器性能或其他因素设置不同的权重,以便将更多的请求分配给高性能的服务器。

最少连接数(Least Connections):将请求分配给当前处理连接数最少的服务器。

IP 哈希(IP Hash):根据客户端的 IP 地址计算哈希值,将相同 IP 的请求分配给同一台服务器,通常用于会话保持。

URL Hash:根据请求的 URL 哈希值来分配请求,确保相同 URL 请求分配到同一台服务器上。

Fair:基于服务器的响应时间来动态分配请求,响应时间短的服务器将会被分配更多的请求。

这些都可以进行配置。

原理:分摊到多个操作单元上进行执行,共同完成工作任务

影响:有多个服务器加载服务,测试过程中存在多个目标情况

实验:Nginx负载均衡配置

# 当然负载均衡服务器也可以直接作为后端服务器那就意味着说可能不太安全,因为我们是可以给负载均衡服务器配置域名的访问的负载均衡服务器就是访问我们的域名而且不能直接访问到后端,如果直接在负载均衡服务器上进行网站配置的话有可能会导致敏感信息泄漏。具体我就不演示了,可以在微信公众号里面找到文章,有写负载均衡具体原理和单vip,双vip的配置等等。当然,最简单的莫过于宝塔搭建了,手动搭建还是会消耗一点时间的。多vip配置就避免了单点故障,一般的大企业的服务器都会配置多vip负载均衡避免出现事故。

总而言之,搭建了负载均衡之后我们安全测试的目标肯定又多了好多好多~。

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

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

相关文章

JavaScript初级——文档的加载

1、浏览器在加载一个页面时,是按照自上向下的顺序加载的,读取到一行就运行一行,如果将 script 标签写到页面的上边,在代码运行时,页面还没有加载,页面没有加载DOM对象也没有加载,会导致无法获取…

一个计算勒让德多项式的HTML页面

效果如下 HTML代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>勒让德多项式</ti…

ZooKeeper体系架构、安装、HA

一、主从架构的单点故障问题 主从架构 Hadoop采用了主从架构&#xff0c;其中包含一个主节点和多个从节点。主节点负责管理整个集群的元数据、任务分配等关键任务&#xff0c;而从节点则负责执行具体的数据存储、计算等操作。 单点故障 在Hadoop主从架构中&#xff0c;主节点作…

Linux并发与竞争

一.概念 Linux 是一个多任务操作系统,肯定会存在多个任务共同操作同一段内存或者设备的情况,多个任务甚至中断都能访问的资源叫做共享资源。在驱动开发中要注意对共享资源的保护,也就是要处理对共享资源的并发访问。 Linux 系统并发产生的原因很复杂,总结一下有下面几个主要原…

wegege

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

使用 setResponseStatus 函数设置响应状态码

title: 使用 setResponseStatus 函数设置响应状态码 date: 2024/8/25 updated: 2024/8/25 author: cmdragon excerpt: 通过 setResponseStatus 函数,你可以轻松地在 Nuxt.js 中设置响应的状态码。这不仅能帮助用户更好地理解发生了什么,还能在需要时显示自定义的错误页面。…

深入探讨与优化:常见排序算法的原理、实现与应用场景分析

目录 引言 排序算法的重要性 排序的基本概念 常见排序算法 插入排序 交换排序 选择排序 归并排序 分配排序 排序算法的实现与优化 总结与应用 引言 排序算法在计算机科学中占据了重要位置&#xff0c;它不仅仅是数据处理的基础&#xff0c;也是优化许多复杂算法的关…

初识redis:Zset有序集合

Set作为集合&#xff0c;有两个特点&#xff1a;唯一且无序。 Zset是有序集合&#xff0c;在保证唯一的情况下&#xff0c;是根据什么来排序的呢&#xff1f;排序的规则是什么&#xff1f; Zset中的member引入了一个属性&#xff0c;分数&#xff08;score&#xff09;&#…

初识redis:类型补充

Redis最关键的五个数据类型&#xff1a;String List Hash Set Zset 我们已经学完了&#xff0c;接下来我们再了解一下不是那么重要的&#xff0c;但是仍然有用的类型。 Stream Redis Stream 是 Redis 5.0 版本引入的一种新的数据类型&#xff0c;它提供了一种存储时间顺序消息…

《机器学习》—— OpenCV 对图片的各种操作

文章目录 1、安装OpenCV库2、读取、显示、查看图片3、对图片进行切割4、改变图像的大小5、图片打码6、图片组合7、图像运算8、图像加权运算 1、安装OpenCV库 使用pip是最简单、最快捷的安装方式 pip install opencv-python3.4.2还需要安装一个包含了其他一些图像处理算法函数的…

智慧交通——铁路检测相关数据集

数据集列表 智慧交通系列数据集——铁路相关数据集&#xff0c;用于轨道交通、自动化、计算机等专业结合深度学习、目标检测、语义分割、实例分割相关技术实现应用型研究&#xff01;&#xff01;&#xff01; 下载链接&#xff1a;私信获取 目前已更新数据集类型如下&#x…

cola_os学习笔记(下)

cola_os学习笔记&#xff08;上&#xff09; os文件夹 cola_device.c ​ .h放在.c的同层级。作者采用了字符设备注册的方式&#xff0c;在.h中可以看到设备属性。也就是把LED这些设备抽象&#xff0c;外面传入"LED1"这样的参数&#xff0c;使我联想到java的new一个…

GoWeb 设置别名和多环境配置

别名 vite.config.ts中添加代码如下即可 //设置别名resolve: {alias: {"": path.resolve(process.cwd(),"src"),//用替代src}}随后即可使用 配置多环境 vite.config.ts中添加代码如下 envDir: ./viteenv,//相对路径随后在项目根目录创建对应的viteenv…

Flink内存调优

Flink内存调优 JVM 我们知道Flink是基于JobManager和TaskManager管理和运行任务&#xff0c;而他们都是以Java进程的形式运行的&#xff0c;所以在了解 Flink 内存时&#xff0c;我们需要先了解一下Java运行时环境Java虚拟机(JVM) 。 JVM 是可运行 Java 代码的假想计算机 &a…

Visio如何对自画的“不规则封闭图案”填充颜色?

Visio如何对自画的“不规则封闭图案”填充颜色&#xff1f; 当我们想要画一个如下所示的不规则图案时&#xff0c;可以根据Visio工具栏中的曲线/直线等进行拼接组成。 但是&#xff0c;画出来的图形即使是组合后也不能直接填充颜色&#xff0c;这是因为软件并不能识别其为一个…

Tomcat上传jsp木马

一、暴力破解 首先我们访问目标IP和端口 点击server status登录&#xff0c;直接burp进行爆破 我们输入tomcat 123 抓包&#xff0c;发现这个Basic是base64编码后的&#xff0c;解码是 tomcat:123 我们暴破时需要注意这里用的base64构成的&#xff0c;具体操作可以看http://…

【微服务】springboot整合对象映射工具MapStruct使用详解

目录 一、前言 二、实体对象映射概述 2.1 什么是实体对象映射 2.1.1 ORM的几个基本概念 2.1.2 ORM常用的框架 2.2 实体对象映射存在的问题 2.2.1 映射配置错误 2.2.2 性能问题 2.2.3 修改字段不一致问题 三、实体对象属性拷贝工具概述 3.1 什么是实体对象属性拷贝工具…

忘掉 Redux,拥抱 Zutand 和 Jotai 的全新世界

Redux 在现代 React 开发中存在着一些明显的局限性。 首先&#xff0c;Redux 的心智负担较重。它涉及到众多概念&#xff0c;如 Store、Reducer、Action 等&#xff0c;对于初学者来说&#xff0c;理解和掌握这些概念需要花费较多的时间和精力。而且&#xff0c;Redux 要求严格…

【MySQL】一文带你理清<表级锁>(表锁,元数据锁,意向锁)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C Linux的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的…

MFC程序设计(一) MFC框架

基本概念 SDK&#xff1a;开发软件的套件 WDK&#xff1a;开发驱动的套件 当我们开发驱动时&#xff0c;两者版本需要一致 MFC&#xff1a;Microsoft Fundation class&#xff0c;即微软基础类库。是基于Win32 SDK进行的封装的框架 。 MFC为我们提供了大量的WindowsSDK的代…