第3天:基础入门-Web架构_OSS存储_负载均衡_CDN加速_反向代理_WAF防护

第3天:基础入门-Web架构_OSS存储_负载均衡_CDN加速_反向代理_WAF防护
Yatming的博客WAF
特性 | 软件WAF | 硬件WAF |
---|---|---|
部署方式 | 安装在通用服务器或云平台上,作为应用程序的一部分运行 | 作为专用网络设备部署,通常位于网络边缘或数据中心入口 |
性能 | 性能取决于服务器硬件配置,可能引入一定延迟 | 专用硬件优化,提供高性能和低延迟,适合高流量场景 |
灵活性 | 高度灵活,可轻松扩展和定制规则,支持云原生和容器化环境 | 灵活性较低,规则更新和配置变更可能需要物理访问或专门的管理界面 |
成本 | 初始成本较低,适合预算有限的中小型企业 | 初始成本较高,包括硬件采购和维护费用,适合对性能和安全性要求高的大型企业 |
维护 | 需要定期更新软件和安全规则,依赖运维团队的技术能力 | 通常由供应商提供维护和支持,规则更新可能更自动化 |
可扩展性 | 易于通过增加服务器资源或水平扩展来应对流量增长 | 扩展性受限于硬件性能,可能需要购买更高级别的设备 |
典型场景 | 云服务、中小企业网站、开发测试环境 | 金融机构、电商平台、政府机构等对安全性要求极高的关键业务系统 |
软件WAF:安全狗,D盾,云锁等
硬件型WAF:以硬件形式部署在链路中,支持多种部署方式,当串联到链路时可以拦截恶意流量,在旁路监听时只记录攻击不拦截(IDS)代表产品:imperva,天清WAG等
云WAF:一般以反向代理的形式工作,通过配置NS或CNAME记录,使得对网站请求报文优先经过WAF主机,经过WAF主机过滤之后,将被认为无害的请求报文,在发送给实际网站服务器进行请求,可以认为是带防护功能的CDN,代表产品:阿里云云盾,腾讯云WAF等
网站内置的WAF:这种是直接嵌入在代码中,即开发人员为了网络安全,在可能会遭受攻击的地方增加一些安全防护代码,比如过滤敏感字符,对潜在的威胁字符进行编码,转义等,网站内置的WAF与业务更加契合。
免费的D盾防护软件
1 | windows2012 + iis + D盾 #D盾开启之后,上传的一句话不能被正常执行 |
CDN
- 内容缓存:
CDN服务商在全球各地建立大量服务器节点(称为“边缘节点”),将原始服务器(源站)的内容(如图片、视频、网页、文件等)复制并缓存到这些节点上。 - 智能调度:
当用户请求内容时,CDN通过DNS解析或智能路由技术,将请求导向距离用户最近、网络状况最佳的节点,而非直接访问源站。 - 负载均衡:
CDN通过算法自动分配流量,避免单个节点过载,确保服务稳定性和高效性。
对于安全的影响
因为你在每个区域访问的地址不一样,从而间接的隐藏了真实的源ip地址,导致对目标测试错误。因此,绕过CDN的关键在于找到未被CDN代理的直接连接路径。
绕过CDN
一、基础方法(适用于未严格配置的CDN)
1. 利用历史DNS记录
- 原理:CDN配置前,域名可能直接解析到源站IP。通过查询历史DNS记录,可能找到未使用CDN时的IP。
- 工具:
- SecurityTrails:提供域名历史DNS记录。
- DNSDB:全球DNS历史数据库。
- 命令行工具:
dig
+whois
(需结合时间戳查询)。
- 示例:
1 | # 查询域名历史A记录 |
2. 子域名挖掘
- 原理:主域名可能启用CDN,但某些子域名(如测试环境、后台管理)可能未配置CDN,直接指向源站IP。
- 工具:
- 步骤:
- 枚举目标域名的所有子域名。
- 逐个查询子域名的IP,筛选出与主域名不同的IP。
3. SSL/TLS证书查询
1 | # 在crt.sh搜索域名证书 |
二、进阶方法(需结合网络行为分析)
4. 利用邮件头信息
- 原理:服务器发送的邮件(如注册确认邮件、密码重置邮件)可能包含真实IP。
- 步骤:
- 触发目标网站发送邮件。
- 查看邮件头中的
Received
字段,寻找非CDN节点的IP。
- 示例:
Received: from mail.example.com ([真实IP]) by 邮件服务器... #### 5. **网络追踪工具**- **原理**:通过路由追踪工具(如
traceroute、
mtr)分析数据包路径,识别CDN边缘节点后的真实IP。- 工具: -
traceroute(Linux/Mac)或
tracert(Windows)。 -
mtr:实时路由追踪工具。- 示例:```bashtraceroute example.com# 观察跳数,若中间节点IP属于CDN服务商(如Cloudflare、Akamai),继续追踪后续节点。
6. 利用服务器漏洞
- 原理:若目标服务器存在漏洞(如SSRF、文件上传、命令注入),可通过漏洞获取内部IP信息。
- 示例:
- SSRF漏洞:构造URL请求内部服务(如
http://localhost/
),可能返回真实IP。 - 文件上传:上传PHP文件读取
/etc/hosts
或执行ifconfig
命令。
- SSRF漏洞:构造URL请求内部服务(如
三、高级方法(需深度分析)
7. 定时任务与日志分析
- 原理:某些网站后台任务(如定时备份、日志清理)可能直接连接源站IP。
- 步骤:
- 监控目标域名的网络流量,识别非常规请求。
- 分析日志中的异常IP。
8. CDN服务商特性利用
- 原理:不同CDN服务商有特定行为(如特定HTTP头、Cookie),可通过逆向工程识别边缘节点。
- 示例:
- Cloudflare的边缘节点会设置
CF-RAY
头。 - 通过发送特定请求过滤CDN节点,剩余响应可能来自源站。
- Cloudflare的边缘节点会设置
OSS
这个东西的设计初衷在于网站只需要干网站的数据处理,将数据存储的这个功能模块化,但是这样的设计导致对安全的攻击的影响是,举个例子,你上传了一个木马,但是由于对方用了oss存储,所以就会导致:1.你不知道你的上传路径,就算你知道了你的上传路径你也解析不了你的后门,因为oss存储的环境根本就不支持解析,oss就是一个单纯的存储环境。
1 | 总结: |
正向代理
用翻墙这个例子来说,当你访问不了谷歌的时候,你可以通过一台可以访问谷歌的代理服务器,以此为跳板,来访问谷歌。
总结:
1 | 正向代理为客户端服务,客户端主动建立代理访问目标(不代理不可达) |
反向代理
相当于你本身是访问不到目标服务器的,目标服务器也访问不到你,所以这里为了可以进行通信,目标服务器将资源主动发送给一台你可以访问到的代理服务器上,这个时候你就可以通过访问这个代理服务器,来访问目标服务器上的资源。听起来跟正向代理没有什么区别。其实这两个概念是要从谁的视角来看,来判断谁是反向,谁是正向的
总结:
1 | 反向代理为服务端服务,服务端主动转发数据给可访问地址(不主动不可达) |
负载均衡
负载均衡(Load Balancing)是一种网络技术,用于将网络流量或工作任务分配到多个服务器或计算资源上,以提高系统的性能、可靠性和可扩展性。通过负载均衡,可以确保没有单个服务器过载,同时充分利用所有可用资源。
原理:分摊到多个操作单元上进行执行,共同完成工作任务
影响:有多个服务器加载服务,测试过程中存在多个目标的情况。