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系统的调用拦截篡改行为。是目前能力最强的方式。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

word2016版本中同时显示多个页面

为了方便查看word内容,我们会将多个页面同时显示。 对于2016版,操作方法如下: 视图 ---》多页

上海亚商投顾:沪指震荡下跌 两市成交不足7000亿元

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整,创业板指冲高回落。车路云概念股持续活跃,万通智控、鸿泉物联、华体…

AI炒股:获取个股的历史成交价格并画出K线图

任务:获取贵州茅台的近几个月的价格数据,绘制k线图; 在deepseek中输入提示词: 你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下: 用AKShare库获取股票贵州茅台&#xf…

超级详细Spring AI运用Ollama大模型

大模型工具Ollama 官网:https://ollama.com/ Ollama是一个用于部署和运行各种开源大模型的工具; 它能够帮助用户快速在本地运行各种大模型,极大地简化了大模型在本地运行的过程。用户通过执行几条命令就能在本地运行开源大模型,如Lama 2等; 综上&#x…

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

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

适用于 Windows 的 8 大数据恢复软件

数据恢复软件可帮助您恢复因意外删除或由于某些技术故障(如硬盘损坏等)而丢失的数据。这些工具可帮助您从硬盘驱动器 (HDD) 中高效地恢复丢失的数据,因为这些工具不支持从 SSD 恢复数据。重要的是要了解,您删除的数据不会被系统永…

NAT端口映射,实现外网访问内网服务器

目录 前言一、搭建网络拓扑1.1 配置server和pc1.1.1 配置server01.1.2 配置server11.1.3 配置pc0 1.2 配置客户路由器1.2.1 配置路由器IP1.2.2 配置静态路由 1.3 配置ISP路由器 二、配置端口映射2.1 在客户路由器配置端口映射2.2 测试公网计算机访问私网服务器2.2.1 PC0向serve…

一个简单的方式看看MySQL的锁

突然发现半个月没写了。最近事情太多了。 在日常工作的处理问题的过程中,我发现了一个简单的论证锁的问题,以前我讲的有点复杂,看来应该去改改之前的讲法了。 首先构造一个无主键无索引的表。并且初始化5条数据。 场景A: RR隔离…

珈和科技携手浙江省气候中心,打造农业气象数字化服务新标杆!

古谚有云:春耕夏种秋收冬藏,皆在天时。可天有不测风云,农有“旦夕祸福”。寒潮、干旱、洪涝等气象灾害频繁发生,给农业生产带来了巨大挑战。 气候变化直接影响着农业生产,数字化时代,如何依靠科技手段降低…

【UML用户指南】-08-对基本结构建模-图

目录 1、41视图 2、术语和概念 3、结构图 (1)类图(class diagram): (2)构件图:(component diagram) (3)组合结构图:…

“Apache Kylin 实战指南:从安装到高级优化的全面教程

Apache Kylin是一个开源的分布式分析引擎,它提供了在Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力,支持超大规模数据的亚秒级查询。以下是Kylin的入门教程,帮助您快速上手并使用这个强大的工具。 1. 安装Kylin Apache Kylin的安装是一个关键步骤,它要求您具备一…

[Algorithm][动态规划][两个数组的DP][最长公共子序列][不相交的线][不同的子序列][通配符匹配]详细讲解

目录 1.最长公共子序列1.题目链接2.算法原理详解3.代码实现 2.不相交的线1.题目链接2.算法原理详解3.代码实现 3.不同的子序列1.题目链接2.算法原理详解3.代码实现 4.通配符匹配1.题目链接2.算法原理详解3.代码实现 1.最长公共子序列 1.题目链接 最长公共子序列 2.算法原理详…

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

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

[flutter]一键将YAPI生成的api.json文件转为需要的Dart Model类的脚本

目的: 根据YAPI接口平台生成的api.json接口文件,将接口数据转化为model类,生成对应的接口值类型文件。 发现: api.json文件导出: YAPi是一个接口管理平台,登录账号打开项目后,在点击数据管理…

AJAX 跨域

这里写目录标题 同源策略JSONPJSONP 是怎么工作的JSONP 的使用原生JSONP实践CORS 同源策略 同源: 协议、域名、端口号 必须完全相同、 当然网页的URL和AJAX请求的目标资源的URL两者之间的协议、域名、端口号必须完全相同。 AJAX是默认遵循同源策略的,不…

275 基于matlab的脉搏信号处理GUI界面编程

基于matlab的脉搏信号处理GUI界面编程,并实现滤波、去噪、实时回放、小波分析 计算脉率。采用低通滤波器,计算巴特沃斯数字滤波器的阶数N和截止频率Wn、使用coif4小波基计算信号的平稳小波分解完成降噪。程序已调通,可直接运行。 275 脉搏信号…

【面试笔记】嵌入式软件工程师,汽车电子软件相关

文章目录 1. C语言基础1.1 const1.2 static1.3 回调函数的用法1.4 宏定义1.5 编译、链接过程1.6 堆与栈的区别?1.7 简单的字符串算法题,C语言实现1.7.1 给定一个字符串,按顺序筛选出不重复的字符组成字符串,输出该字符串1.7.2 给定…

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

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

优化家庭网络,路由器无线中继配置全攻略(中兴E1600无线中继设置/如何解决没有预埋有线网络接口的问题/使用闲置路由实现WIFI扩展)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 网络优化 📒📒 操作步骤 📒💡适用场景🚨 常见问题及解决方案⚓️ 相关链接 ⚓️📖 介绍 📖 在现代家庭生活中,WiFi已经渗透到我们生活的每一个角落,成为了日常生活中不可或缺的一部分。然而,不少用户常常遇到W…