Day03:Web架构OSS存储负载均衡CDN加速反向代理WAF防护

目录

WAF

CDN

OSS

反向代理

负载均衡

思维导图


章节知识点:

应用架构:Web/APP/云应用/三方服务/负载均衡等

安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等

渗透命令:文件上传下载/端口服务/Shell反弹等

抓包技术:HTTP/TCP/UDP/ICMP/DNS/封包/代理等

算法加密:数据编码/密码算法/密码保护/反编译/加壳

WAF

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

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

演示:免费D盾防护软件,D盾防火墙

常见WAF分类

未开启D盾,asp后门可以访问

开启D盾,asp后门不可以访问

CDN

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

影响:隐藏展示源IP,导致对目标测试失误

演示:阿里云备案域名全局CDN加速服务

流程:

  1. 准备备案域名
  2. 配置宝塔的域名绑定
  3. 配置CDN加速选项
  4. 添加DNS CNAME记录

OSS

原理:数据以对象(Object)的形式存储在OSS的存储空间(Bucket )中。

为什么要使用第三方存储?

  1. 静态文件会占用大量带宽
  2. 加载速度
  3. 存储空间

影响:上传的文件或解析的文件均来自于OSS资源,无法解析,单独存储

  1. 修复上传安全
  2. 文件解析不一样,脚本等文件不可被解析执行
  3. 但存在Accesskey泄露的问题

网盘OSD储存搭建:Cloudreve - 部署公私兼备的网盘系统

搭建流程:

  1. 启动应用
  2. 登录管理
  3. 配置存储信息
  4. 更改用户组存储属性

win server2008使用cloundreve搭建web服务

使用初始账号密码登录 可在线拖拽上传文件

阿里云OSS:

  1. 开通OSS
  2. 新建Bucket
  3. 配置Bucket属性
  4. 配置Access访问

OSS存储只是单纯的储存数据资源,没有代码执行环境,即使上传了后门脚本,也无法解析,相对于直接上传到网站服务器上,更加安全。

Accesskey隐患(附带一张近期我的Accesskey报警)——云安全

这个Accesskey存在泄露的风险

正/反向代理

正向代理为客户端服务,客户端主动建立代理访问目标(梯子)

反向代理为服务端服务,服务端主动转发数据给可访问地址

原理:通过网络反向代理转发真实服务达到访问目的

影响:访问目标只是一个代理,不是真实应用服务器

注意:正向/反向代理都是解决访问不可达问题,但是反向代理中可以通过重定向解析的功能操作,把访问指向别的web服务,导致反代理的站点指向和目标的资产没有任何关系

在宝塔里可以通过Nginx反向代理配置

正向代理

反向代理

nginx设置反向代理

负载均衡

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

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

演示:Nginx负载均衡配置

Windows2012 + BT宝塔面板 + Nginx

宝塔面板修改负载均衡配置,weight数值对应访问优先级。

配置好负载均衡后,对baidu.whgojp.top域名解析就会以1/2的概率分别访问这两个服务器

正常生产环境是搭建两个相同的服务,以防止一个服务器宕机后网站不能使用服务

负载均很设置案例

#BT定义负载设置
upstream fzjh{
server 121.43.145.189:80 weight=2;
server 121.41.59.211:80 weight=1;
}#定义访问路径 访问策略
location / {
proxy_pass http://fzjh/;
}

思维导图

 

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

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

相关文章

非线性优化资料整理

做课题看了一些非线性优化的资料,整理一下,以方便查看: 优化的中文博客 数值优化|笔记整理(8)——带约束优化:引入,梯度投影法 (附代码)QP求解器对比对于MPC的QP求解器 数值优化| 二次规划的…

Flask中使用日志库loguru

文章目录 README.mdapp.pyconfig.py参考资料 关于日志记录库loguru的介绍,具体可参见之前的博客:Python日志记录库——loguru 今天来介绍下,如何在Flask中使用loguru日志库。 README.md This is a simple example of how to use loguru in…

【Godot4自学手册】第十七节主人公的攻击和敌人的受伤

本节主要学习主人公是如何向敌人发起进攻的,敌人是如何受伤的,受伤时候动画显示,击退效果等。其原理和上一节内容相同,不过有许多细节需要关注和完善。 一、修改Bug 在本节学习之前,我将要对上一节的代码进行完善&am…

租赁系统|租赁软件提供免押金等多种租赁方式

租赁小程序是一种全新的租赁模式,为用户提供了免押金、多种租赁方式、定制化服务等多项优势,让用户的租赁体验更加美好。让我们来了解一下它的特点和功能。 首先,租赁小程序支持租完即送,无需等待固定租期。它提供了多种租赁方式&…

bash和sh和./的区别

bash和sh和./的区别 今天在执行一个脚本的时候,用的是sh script.sh,执行报错,使用bash script.sh执行时就能成功,才知道sh和bash是不一样的 sh sh表示 Bourne Shell,是 Unix 系统上的一种基本的命令解释器。它也可以…

GPT与MBR:硬盘分区表格式的革新与区别

概述 在计算机存储领域,硬盘分区是管理数据和操作系统部署的基础。两种广泛使用的分区表格式——MBR(Master Boot Record)和GPT(GUID Partition Table),各自代表了不同的技术阶段和发展需求。本文将详细介…

NR 2-STEP RA Absolute Timing Advance Command MAC CE的应用场景

3 GPP在 R2-2002413中将2-step RA引入,进而R16 38.321出现了 Absolute TAC MAC CE,在 NR Timing Advance(TA)_ntn rrc-CSDN博客 有提到这个MAC CE,当时以“absolute timing advance command MAC CE 在2-step RA的某个场景下使用”一笔带过&am…

python使用unittest进行单元测试

文章目录 示例程序更多assert方法 通过一种规范的测试方法,可以帮助我们在修改程序后能够快速的检测一些bug,使用unittest库的方法如下: 示例程序 import unittestclass Demo01(unittest.TestCase):classmethoddef setUpClass(self) -> …

设计模式----装饰器模式

在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰器模式来实现。 装饰器模式 允许向一个现有的对象添加新的功能,同时又不改变他的…

MQTT协议解析:揭秘固定报头、可变报头与有效载荷的奥秘

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种轻量级的通讯协议,常用于远程传感器和控制设备的通讯。MQTT协议基于发布/订阅模式,为大量计算能力有限且工作在低带宽、不可靠网络环境中的设备…

Java集合基础梳理(集合体系+ArrayList)

目录 Java集合体系 为什么要使用集合类 ? 如何选用集合? 哪些集合类是线程安全的?哪些不安全? 快速失败(fail-fast)和安全失败(fail-safe)的区别是什么? 遍历的同时修改一个List有几种方式 ArrayList 如何进行元素的遍历操作&#x…

Spring Boot项目误将Integer类型写成int来进行传参

在处理项目中Idea中无报错: 问题: localhost:8080/param/m2在浏览器中输入:localhost:8080/param/m2 产生报错: This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Feb 27 20:55…

Android PMS——系统更新和版本管理(十三)

当 Android 系统进行升级时,PMS(Package Manager Service)在系统更新和版本管理中扮演着关键角色。PMS 负责确保应用程序在新的系统版本上能够正常运行,这涉及到一系列的适配流程,具体如下: 检测不兼容应用:在系统升级过程中,PMS首先会扫描已安装的应用程序,识别出那些…

git上传了一个文件到远程仓库里面,之后如何忽略它

我们可能会遇到这种情况,因为一些失误或者别人的粗心,将一些本地的文件上传到了远程仓库,而且这个文件是环境相关的,随着不同开发者的环境,编译器会动态修改,从而导致每个人都不同 在提交过程中相互覆盖&a…

Redis哨兵模式和Redis Cluster模式

文章目录 🔊博主介绍🥤本文内容Redis Cluster 模式支持自动故障转移功能吗?Redis Cluster 模式支持自动故障转移功能和哨兵有什么区别?Redis Cluster 模式和哨兵模式(Sentinel)在自动故障转移方面有一些关键…

Java最新面试宝典 SpringMVC面试题)

Java最新面试宝典 SpringMVC面试题 前言1、什么是SpringMVC?2、SpringMVC 的优点?3、Spring MVC配置步骤?4、SpringMVC工作原理了解吗?5、Spring MVC 核心组件的功能?6、B/S 系统标准的三层架构是什么?7、C…

计算机网络:深入探索HTTP

引言: HTTP,全称超文本传输协议(Hypertext Transfer Protocol),是互联网上数据通信的基础。它定义了客户端(如浏览器)和服务器之间如何交互和传输数据。HTTP最初是为了支持Web浏览而设计的&…

1200页文档笔记,java数据库面试问题

Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新,很多研发人员把spring看作心目中最好的Java项目,没有之一。 **可以毫不夸张…

MySQL篇—持久化和非持久化统计信息介绍(第一篇,总共三篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

c++委托构造函数与类的类型自动转换

前言 记录看书复习到的2个知识点 委托构造函数类类型自动转换 c11标准之后,类允许初始化数据成员,但是根据抽象派(老派)人员的观点,类一个抽象的东西,怎么能有具体的数值呢,就算要有默认数据…