Web安全:Web体系架构存在的安全问题和解决方案

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等12个知识域的一百多个知识点,持续更新。

这一章节我们需要了解web体系架构,掌握Web存在的安全问题和解决方案。

在这里插入图片描述

Web安全

  • 1、Web体系架构
  • 2、Web存在的安全问题
  • 3、Web安全解决方案
    • 3.1、Web应用防火墙
    • 3.2、网页防篡改系统

1、Web体系架构

Web(World Wide Web)是全球广域网,也叫万维网,是一个全球性的分布式图形信息系统。

  • Web 1.0(静态互联网):1994年开始,将互联网上的资源聚合起来,用大量静态的HTML网页表示出来。这一时期网络是内容提供者,用户通过浏览器搜索信息。代表产品是网易、新浪这种新闻、「门户网站」
  • Web 2.0(交互式互联网):2004年开始,将应用程序通过浏览器提供给用户使用,不需要下载安装就能构造内容,与其他用户和网站互动。这一时期网络是平台,用户提供内容,另一部分用户获取内容。由于平台属于企业,用户信息都存储在平台上,这种中心化的模式很不安全。代表产品是博客、微博这种「互动式网站」
  • Web 3.0(去中心化互联网):2010年开始,未来的趋势,用户在网络上拥有自己的数据并能在不同的网站上使用。代表产品是「区块链」、以太坊这种业内人士提出的概念。

「Web体系架构」由客户端、通信协议、服务端三个部分组成。

  1. 客户端:负责用户交互。向服务器发送请求,接收并显示服务器返回的响应并渲染界面。通常是浏览器或者应用程序。
  2. 网络协议:定义计算机之间的通讯规则,比如HTTP和HTTPS。
  3. 服务器:负责提供信息。接收并处理用户请求,返回响应信息。使用Apache、Tomcat等中间件提供Web服务。

「Web应用开发技术」分为表现层、业务层、持久层三层架构。

  1. 表现层(Presentation layer):负责展示界面与用户交互。主要包含HTML、CSS、JS等前端技术。
  2. 业务层(Business Logic Layer):核心层,负责处理业务逻辑和传递数据。主要包含Java、Python、Spring等编程语言和框架。
  3. 持久层(Database Layer):负责存储并执行增删改查等基本数据操作。主要包含MySQL、Redis等数据库技术。

2、Web存在的安全问题

Web的安全问题也就是我们常说的Web漏洞,常见的有SQL注入、文件上传、文件包含。

SQL注入漏洞详解
文件上传漏洞详解
文件包含漏洞详解

3、Web安全解决方案

Web应用的安全问题主要有两种防护技术:Web应用防火墙和网页防篡改。

3.1、Web应用防火墙

Web应用防火墙(Web Application Firewall,WAF)通过过滤HTTP请求,保护Web应用免受SQL注入、XSS这种攻击。

WAF部署在客户端和Web服务器之间,通过「反向代理」的方式,接管所有发送给Web服务器的HTTP/HTTPS请求。

客户端的请求发给WAF,WAF根据内置的规则库检查请求头、请求体里是否包含攻击特征,包含就拦截,不包含就把请求转发给Web服务器。
Web服务器处理后返回响应给WAF,WAF检查响应体里是否包含敏感信息或者被篡改,再由WAF返回给客户端。对于客户端而言,一直就是跟WAF通信,Web服务器是隐藏的。

WAF跟传统防火墙的部署位置和功能不同,传统防火墙部署在网络边界,WAF部署在防火墙后面。先由防火墙根据策略过滤掉一部分流量以后,WAF再检测剩下的流量。而且传统防火墙工作在网络层,它不检查也无法理解数据包里编程语言那些数据,只能做访问控制。WAF工作在应用层,解决SQL注入、XSS这种传统防火墙无法解决的Web安全漏洞,实际环境中往往搭配使用。

WAF的产品类型有硬件WAF、软件WAF、云WAF三种。

  1. 硬件WAF:厂商提供一台单独的服务器,部署在网络边界。
  2. 软件WAF:厂商提供一个软件安装包,部署在服务器上。
  3. 云WAF:用户通过网络访问和配置WAF,保护云上的Web应用。

3.2、网页防篡改系统

网页防篡改技术本质上是防止网站后台文件被篡改。先备份文件,然后通过防篡改技术监测,发现被改后恢复文件。

具体实现技术有三种:

  1. 客户端轮询技术:轮询读取每一个网页,与真实网页对比,判断完整性。这种方式只能在被篡改后恢复,时效性很差。
  2. 事件触发技术:操作文件底层驱动, 监测文件夹内的所有内容和底层文件的变更事件,通过纯文件安全拷贝方式恢复文件,拷贝过程是毫秒级,篡改相当于无效。
  3. 驱动拦截技术:通过内核模块hook系统的调用拦截篡改行为。是目前能力最强的方式。

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

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

相关文章

【毕业设计之微信小程序系列】基于微信小程序的餐厅点餐小程序的设计与实现

《基于微信小程序的餐厅点餐小程序的设计与实现》 项目效果图 目录大纲 摘要 1、选题及其意义 1.1、设计项目的名称 1.2、研究意义 2、需求分析 2.1、用户需求分析 2.2、功能需求分析 2.3、非功能需求分析 3、系统相关技术概述 3.1、餐饮平台开发相关技术 3.1.1、微信小程序 …

读AI未来进行式笔记04数字医疗与机器人

1. 数字医疗 1.1. 20世纪的“现代医学”得益于史无前例的科学突破,使得医疗的方方面面都得到改善,让人类预期寿命从1900年的31岁提高到2017年的72岁 1.2. 现有的医疗数据库和流程将实现数字化 1.2.1. 患者记录 1.2.…

实时语音交互数字人解决方案,满足不同场景需求

北京美摄网络科技有限公司凭借其领先的实时语音交互数字人解决方案,为企业带来了全新的沟通体验与商业机遇。 一、技术革新,开启交互新篇章 美摄科技实时语音交互数字人解决方案,以先进的人工智能和机器学习技术为基础,实现了文…

批量提取 Word 文档中的全部图片

步骤 1、打开 WinRAR 任选一个现成的压缩包双击打开 WinRAR ,或从开始菜单打开 WinRAR 2、直接把要提取图片的 Word 文档拖入 WinRAR 菜单区域 1 → 2 → 3,WinRAR 资源管理目录中的 media 就是该 Word 文档所要提取的全部图片所在文件夹 按住&#x…

人工智能任务5-高级算法工程师需要学习哪些课程与掌握哪些能力

大家好,我是微学AI,今天给大家介绍一下人工智能的任务5-高级算法工程师需要学习哪些课程,需要掌握哪些能力。高级算法工程师需要掌握的算法模型有:人脸检测模型MTCNN,人脸识别方法Siamese network、center loss、softm…

基于协同注意力的视觉-语言嵌入用于机器人手术视觉问题定位回答

文章目录 CAT-ViL: Co-attention Gated Vision-Language Embedding for Visual Question Localized-Answering in Robotic Surgery摘要方法实验结果 CAT-ViL: Co-attention Gated Vision-Language Embedding for Visual Question Localized-Answering in Robotic Surgery 摘要…

今日份动态规划学习(二维01背包+01背包变形)

目录 P1877 [HAOI2012] 音量调节 P1877 [HAOI2012] 音量调节 题解:一个入门级别的01背包问题,首先就是为什么能看出是01背包,因为只有两种状态,要不增大音量,要不减小音量,和01背包的选与不选非常近似。但…

酱菜产业:传承美味,点亮生活

酱菜,这道深受人们喜爱的传统美食,以其独特的风味和营养价值,点亮了我们的日常生活。酱菜产业作为美食文化的重要组成部分,正以其独特的魅力,吸引着越来越多的消费者。 酱菜产业的赵总说:酱菜的制作过程&am…

C++结合OpenCV进行图像处理与分类

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三…

数据库(24)——外键约束

概念 外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。 具有外键的表称为子表,关联的表称为父表。 语法 添加外键 CREATE TABLE 表名( 字段名 数据类型, .. [CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主…

CGS与MGS的矩阵正交化-C语言实现

格拉姆-施密特正交化和改进的格拉姆-施密特正交化 格拉姆-施密特正交化CGS 数学公式 代码实现: 过程版 矩阵运算实现的难点在于每次运算都是一个向量,需要for循环进行,会带来运算时在代码中的复杂,进而难以理解代码的过程 Q矩阵…

软件测试——白盒测试

目录 学习视频来源:1.01什么是白盒测试(Av809778070,P1)_哔哩哔哩_bilibili 1.语句覆盖 2.判定覆盖 3.条件覆盖 4.判定条件覆盖 5.条件组合覆盖 6.路径覆盖 7.基本路径覆盖 学习视频来源:1.01什么是白盒测试(Av809778070,P1)_哔哩哔哩_bilibili …

正则表达式运用

已经写了表达式,下一步就是匹配字符串得到结果 使用matcher的源码(匹配)普通方法,find(寻找)合适的代码,看字符串是否匹配成功 是否可以匹配上 匹配么,匹配就留下,fin…

性能工具之 JMeter 常用组件介绍(三)

文章目录 一、常用组件介绍二、Sampler:取样器三、Controller:控制器(逻辑控制器)四、Pre Processor:预处理五、Post Processor:请求之后的处理六、Assertions:断言七、Timer:定时器八、Test Fragment:片段九、Config Element:配置…

STM32 SPI驱动读取LSM6DSRTR

提示:通过SPI驱动读取传感器数据 文章目录 前言一、LSM6DSRTR二、配置步骤1.配置SPI2.引入 LSM驱动库3.结果 总结 前言 制作一个倾角传感器,通过SPI读取LSM6DSRTR的加速度数据转换为角度,不用IIC的原因是考虑IIC通讯的协议过于繁琐&#xff…

springCloudAlibaba之服务熔断组件---sentinel

sentinel组件学习 sentinel学习sentinel容错机制使用代码方式进行QPS流控-流控规则初体验使用SentinelResource注解进行流控使用注解方式 sentinel学习 服务雪崩 服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程。 …

心链10----查询修改加入队伍业务实现

心链 — 伙伴匹配系统 接口设计 查询队伍列表 :::success 分页展示队伍列表,根据名称、最大人数等搜索队伍 P0,信息流中不展示已过期的队伍 从请求参数中取出队伍名称等查询条件,如果存在则作为查询条件不展示已过期的队伍(根…

docker实战命令大全

文章目录 1 环境准备1.1 移除旧版本Docker1.2安装工具包1.3配置docker yum源 2 安装最新docker2.1 设置开机自启docker2.2配置加速器 3 实操-镜像3.1搜索镜像3.2下载镜像3.3查看镜像3.4 删除镜像 4 实操-容器4.1运行nginx容器4.2 查看容器4.3启动容器4.5关闭容器4.6查看容器日志…

分布式光纤测温DTS与光纤光栅FBG解调仪有什么区别?

分布式光纤测温DTS和光纤光栅FBG解调仪之间存在本质区别。分布式光纤测温DTS是一种完全分布式的温度监测技术,意味着光纤的整个长度都充当传感器,可以感知任何位置的温度变化。然而,由于空间分辨率的限制,目前国内外的大多数技术只…

Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解

前言 在Web开发中,Three.js是一个极为强大的库,它让开发者能够轻松地在浏览器中创建和展示3D图形。随着3D技术在网页设计、游戏开发、数据可视化等领域的广泛应用,用户与3D场景的交互变得日益重要。而要实现这种交互,一个核心的技…