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

WAF

image-20250503153855836

特性 软件WAF 硬件WAF
部署方式 安装在通用服务器或云平台上,作为应用程序的一部分运行 作为专用网络设备部署,通常位于网络边缘或数据中心入口
性能 性能取决于服务器硬件配置,可能引入一定延迟 专用硬件优化,提供高性能和低延迟,适合高流量场景
灵活性 高度灵活,可轻松扩展和定制规则,支持云原生和容器化环境 灵活性较低,规则更新和配置变更可能需要物理访问或专门的管理界面
成本 初始成本较低,适合预算有限的中小型企业 初始成本较高,包括硬件采购和维护费用,适合对性能和安全性要求高的大型企业
维护 需要定期更新软件和安全规则,依赖运维团队的技术能力 通常由供应商提供维护和支持,规则更新可能更自动化
可扩展性 易于通过增加服务器资源或水平扩展来应对流量增长 扩展性受限于硬件性能,可能需要购买更高级别的设备
典型场景 云服务、中小企业网站、开发测试环境 金融机构、电商平台、政府机构等对安全性要求极高的关键业务系统

软件WAF:安全狗,D盾,云锁等

硬件型WAF:以硬件形式部署在链路中,支持多种部署方式,当串联到链路时可以拦截恶意流量,在旁路监听时只记录攻击不拦截(IDS)代表产品:imperva,天清WAG等

云WAF:一般以反向代理的形式工作,通过配置NS或CNAME记录,使得对网站请求报文优先经过WAF主机,经过WAF主机过滤之后,将被认为无害的请求报文,在发送给实际网站服务器进行请求,可以认为是带防护功能的CDN,代表产品:阿里云云盾,腾讯云WAF等

网站内置的WAF:这种是直接嵌入在代码中,即开发人员为了网络安全,在可能会遭受攻击的地方增加一些安全防护代码,比如过滤敏感字符,对潜在的威胁字符进行编码,转义等,网站内置的WAF与业务更加契合。

免费的D盾防护软件

1
windows2012 + iis + D盾		#D盾开启之后,上传的一句话不能被正常执行

CDN

image-20250503153927143

  1. 内容缓存
    CDN服务商在全球各地建立大量服务器节点(称为“边缘节点”),将原始服务器(源站)的内容(如图片、视频、网页、文件等)复制并缓存到这些节点上。
  2. 智能调度
    当用户请求内容时,CDN通过DNS解析或智能路由技术,将请求导向距离用户最近、网络状况最佳的节点,而非直接访问源站。
  3. 负载均衡
    CDN通过算法自动分配流量,避免单个节点过载,确保服务稳定性和高效性。

对于安全的影响

因为你在每个区域访问的地址不一样,从而间接的隐藏了真实的源ip地址,导致对目标测试错误。因此,绕过CDN的关键在于找到未被CDN代理的直接连接路径。

绕过CDN

一、基础方法(适用于未严格配置的CDN)

1. 利用历史DNS记录

  • 原理:CDN配置前,域名可能直接解析到源站IP。通过查询历史DNS记录,可能找到未使用CDN时的IP。
  • 工具:
    • SecurityTrails:提供域名历史DNS记录。
    • DNSDB:全球DNS历史数据库。
    • 命令行工具:dig + whois(需结合时间戳查询)。
  • 示例:
1
2
3
4
# 查询域名历史A记录

dig example.com A +trace
whois 历史IP地址 # 可能关联到源站信息

2. 子域名挖掘

  • 原理:主域名可能启用CDN,但某些子域名(如测试环境、后台管理)可能未配置CDN,直接指向源站IP。
  • 工具:
  • 步骤:
    1. 枚举目标域名的所有子域名。
    2. 逐个查询子域名的IP,筛选出与主域名不同的IP。

3. SSL/TLS证书查询

  • 原理:CDN边缘节点通常使用CDN服务商的证书,而源站可能使用自有证书。通过证书透明度日志,可能找到源站IP。
  • 工具:
    • Censys:搜索证书关联的IP。
    • crt.sh:证书透明度日志查询。
  • 示例:
1
2
# 在crt.sh搜索域名证书
https://crt.sh/?q=example.com

二、进阶方法(需结合网络行为分析)

4. 利用邮件头信息

  • 原理:服务器发送的邮件(如注册确认邮件、密码重置邮件)可能包含真实IP。
  • 步骤:
    1. 触发目标网站发送邮件。
    2. 查看邮件头中的Received字段,寻找非CDN节点的IP。
  • 示例:
  • Received: from mail.example.com ([真实IP]) by 邮件服务器... #### 5. **网络追踪工具**- **原理**:通过路由追踪工具(如traceroutemtr)分析数据包路径,识别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命令。

三、高级方法(需深度分析)

7. 定时任务与日志分析

  • 原理:某些网站后台任务(如定时备份、日志清理)可能直接连接源站IP。
  • 步骤:
    1. 监控目标域名的网络流量,识别非常规请求。
    2. 分析日志中的异常IP。

8. CDN服务商特性利用

  • 原理:不同CDN服务商有特定行为(如特定HTTP头、Cookie),可通过逆向工程识别边缘节点。
  • 示例:
    • Cloudflare的边缘节点会设置CF-RAY头。
    • 通过发送特定请求过滤CDN节点,剩余响应可能来自源站。

OSS

image-20250503153957100

这个东西的设计初衷在于网站只需要干网站的数据处理,将数据存储的这个功能模块化,但是这样的设计导致对安全的攻击的影响是,举个例子,你上传了一个木马,但是由于对方用了oss存储,所以就会导致:1.你不知道你的上传路径,就算你知道了你的上传路径你也解析不了你的后门,因为oss存储的环境根本就不支持解析,oss就是一个单纯的存储环境。

1
2
3
4
5
总结:
上传的文件或解析的文件均来自于oss资源,无法解析,单独存储
1.修复上传安全
2.文件解析不一样
3.但是存在Accesskey泄露的隐患

正向代理

image-20250503154053292

用翻墙这个例子来说,当你访问不了谷歌的时候,你可以通过一台可以访问谷歌的代理服务器,以此为跳板,来访问谷歌。

总结:

1
正向代理为客户端服务,客户端主动建立代理访问目标(不代理不可达)

反向代理

image-20250503154103395

相当于你本身是访问不到目标服务器的,目标服务器也访问不到你,所以这里为了可以进行通信,目标服务器将资源主动发送给一台你可以访问到的代理服务器上,这个时候你就可以通过访问这个代理服务器,来访问目标服务器上的资源。听起来跟正向代理没有什么区别。其实这两个概念是要从谁的视角来看,来判断谁是反向,谁是正向的

总结:

1
2
3
4
5
6
反向代理为服务端服务,服务端主动转发数据给可访问地址(不主动不可达)

对于安全的影响:
访问目标只是一个代理,非真实应用服务器。

注意:正向代理和反向代理都是解决访问不可达的问题,但是由于反向代理中多出了一个可以重定向解析的功能,导致反代理出的站点指向和真实应用毫无关系。

负载均衡

负载均衡(Load Balancing)是一种网络技术,用于将网络流量或工作任务分配到多个服务器或计算资源上,以提高系统的性能、可靠性和可扩展性。通过负载均衡,可以确保没有单个服务器过载,同时充分利用所有可用资源。

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

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