魏晓东 发表于 2024-12-12 05:34:50

Web2.0架构(小迪网络安全笔记~

附:完整笔记目录~
ps:本人小白,笔记均在个人明白底子上整理,若有错误欢迎指正!
1.1.1 Web2.0架构


[*] 目前大部分Web资产架构为

[*]通过ip/域名进行资产访问
[*]资产基本组成:操纵体系 + 中心件 + 源码 + 数据库

[*] ip/域名

[*] 关系:不同域名通过DNS协议被分析为不同/雷同ip,通过域名对Web进行访问,实际也是通过ip访问Web。那为什么还要对Web使用域名呢?域名更方便记忆与管理。
[*] 使用:
一般而言企业/个人想要使用域名,则必要申请备案且支付费用。站在我自己的角度,为了克制麻烦与节约资本,往往仅会备案一个域名(称该域名为主域名)。但一个Web必要向用户提供的服务是许多的,一个主域名显然不够,为了实现更多的功能点而又不想备案/购买多余的主域,此时则必要子域名来完成。
[*] 访问方式:上述提到,我们常常通过ip/域名对Web进行访问。但由于Web结构的复杂与功能点的多样,因此会产生不同的访问方式。

[*] 通过端标语进行访问
https://img-blog.csdnimg.cn/img_convert/2c9b668b53395ee49c72117f44d30728.png
[*] 通过目录进行访问
https://img-blog.csdnimg.cn/img_convert/940bc527caae784b0a655d87fa233831.png
[*] 通过子域进行访问
https://img-blog.csdnimg.cn/img_convert/f66b9a94029f38258008b5a52b568be3.png
固然若了解url组成,也就很好明白这三种访问方式,同样这三种方式也可相互联合访问。


[*] 操纵体系

[*]满意不同需求的Web资产,可能会搭建在不同操纵体系的服务器上。而使用不同操纵体系所搭建的Web,其搭建/运维/渗透方式也会有些许差别。
[*]会使用搭建Web的操纵体系
[*]Liunx,Windows,Mac。


[*] 中心件

[*]中心件常常为某软件,被搭建在服务器上,常负责处理处罚转发来自客户端和服务器端的哀求,是客户端与背景服务器的桥梁。
[*]Web2.0中常使用中心件
[*]Apache:通过php实现的Web常常会部署至Apache上
[*]Tomcat:Java web部署至Tomcat上
[*]IIS:asp,.net部署至IIS上(少见)
[*]Nginx:提供反向代理与负载均衡,实现服务端的高性能高并发。


[*] 源码

[*] 众所周知,盘算机的所有功能均通过代码实现,而Web也不破例。
[*] 常用于Web开发的语言:

[*]Java、JavaScript、Go、Php、Asp等

[*] 使用语言开发Web的方式

[*]原生开发,即所有功能均由开发者自己实现。
[*]框架开发,开发者在已有框架上进行开发,高效、安全、快捷。

[*] 各语言常使用的开发框架

[*] Java:Springboot…
[*] Js:Vue、node…
[*] Php:Thinkphp…
[*] Python:Django…
即使使用开发框架开发Web,一旦客户需求、Web功能点等变多,仍会使开发者有很大工作量,那有没有更简朴实现Web开发的方法呢?

[*] Web源码类型

[*] 源码开源:对于开发水平较弱或对Web要求不多的用户而言,往往使用开源源码,无需额外思量源码结构、逻辑等,仅填充内容即可。更快、更方便、资本更低,但安全性也相对较弱,一旦开源源码存在安全问题,则使用该源码的Web可能均会遭殃。
开源源码:zblog
[*] 源码加密:相较于完全开源,源码可见,加密后的源码往往不可读,更安全,但同样也存在被破解的可能。一旦被破解则与开源无异。
加密源码:通达OA
[*] 源码闭源:基于原生&框架,开发者自己开发,源码完全不可见,更不易产生/发现安全问题。


[*] 数据库

[*] 与Web服务陪同的常常会存在数据库服务,数据库中常常会存储用户信息、余额等。且由于数据库的存在,不同用户对同一域名访问会返回差异性的Web。这同样也是Web2.0的重要特性。
数据被放置在数据库中以实现数据的通报,交互。
[*] 常见数据库

[*] Mysql、MongoDB、Access等。
由于数据库往往会存放,用户/管理者的敏感信息,为了克制当Web被攻击时数据库也遭殃,因此不同开发者对数据库的部署也会有所不同。

[*] 数据库的部署方式

[*] 本地部署,即Web服务与数据库服务部署在同一服务器上,traits:源码数据库配置文件中,127.0.0.1:3306/localhost:3306,此时若拿到其Web服务器权限则其数据库权限也一并拿到。
[*] 另一服务器部署,即Web服务与数据库服务部署在内网不同服务器上,则即使拿到Web服务器权限,也不一定获取其数据库权限。
[*] 云上部署,即数据库被部署至云上,而云数据库服务会默认开启毗连白名单,即使拿到云数据库配置信息也无法直接毗连。
注:数据库具体怎样部署一定是看开发者是何种需求,并不是因为云/另一服务器更安全而所有开发者都要使用。


[*] 实验

[*] 实验内容:在云服务器上通过宝塔部署zblog体系,并将数据库部署至云上。
[*] 步调

[*] 阿里云租一台Win Server服务器并通过远程桌面毗连
[*] 在该服务器上安装宝塔面板,并通过该面板安装Apache,php
https://img-blog.csdnimg.cn/img_convert/df64f881d52c3bf59af18c730e709def.png
[*] 部署zblog源码于网站目录下
[*] 实验访问
https://img-blog.csdnimg.cn/img_convert/89baa060d0da325f889cd30736892713.png
zblog成功部署
[*] 在阿里云上开通云数据库服务,并部署zblog数据库
https://img-blog.csdnimg.cn/img_convert/b50966b06582eb2d0d349555de8d1f12.png
ps:记得云数据库服务配置白名单
https://img-blog.csdnimg.cn/img_convert/456728e0080efced111ca0c301f81665.png
zblog云数据库部署完成,试验竣事。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Web2.0架构(小迪网络安全笔记~