引言
互联网行业里有一个著名的“4秒法则”,就是当用户点击网站发起访问时,如果超过4秒,网页内容没有呈现出来,30%的用户会不断刷新或选择不再等待直接关闭页面,这样严重影响了用户体验。随着现在应用场景越来越多样、系统功能越来越复杂、需要呈现的内容多元化(不单是以前文本、图片、音视频、流媒体,还有实时的微博、增强现实等更新的动态内容),网络越来越复杂,用户体验要求越来越高等,也在推动技术的发展,由早期的镜像技术演进到CDN技术进行网络加速,提升用户访问体验。
1.CDN是什么?
CDN全称内容分发网络(Content Delivery Network),是在现有网络中增加一层新的网络架构,主要解决由于长距离数据传输导致的网络访问速度慢的问题,通过将用户需要的内容放置在靠近用户最近的位置,使用用户可以就近访问需要的内容,提高用户访问的响应速度。
CDN的基本原理是在各个区域放置缓存服务器,通过全局调度及内容分发功能,将用户需要的内容分发到缓存服务器,用户的内容请求解析权交给CDN的调度系统,然后将用户请求调度到性能最佳最靠近用户的CDN节点上,由CDN节点缓存服务器为用户请求提供服务。
2.CDN解决什么问题?
CDN诞生之初,主要是为了解决网站内容访问速度、时延和抖动问题,结合CDN实际的效果,总结如下:
缓解源站服务器访问压力,解决服务器端的“第一千米”问题。
提升用户的访问质量和体验,降低时延,提高网站访问速度。
解决不同电信运营商之间互联互通问题造成的影响。
提升网站服务的可靠性,解决流量激增、网络故障、网站故障等问题。
提高源站服务端的安全性,有效防止黑客找出源站进行攻击。
3.CDN的工作过程
CDN的基本工作过程包括内容注入、用户请求调度、内容分发及内容服务这4个步骤,具体如下:
- 内容接入
内容接入是CDN能为用户提供服务的第一步,就是把内容从源站接入CDN的过程,包括存储接入方式、内容预注入方式、实时回源方式。前两种方式都是将源站内容提前接入CDN缓存服务器中,区别是前者默认是永久删除,需要手动删除,后者是设定规则进行智能删除。第三种方式是内容发布前不接入内容,当用户访问时,CDN实时从源站拉取内容。
- 用户请求调度
CDN用户请求调度主要包括全局调度和本地调度,全局调度主要目的是根据用户所在地理位置不同,通过分析各个CDN节点,将用户请求转移到整个网络中离用户最近的节点。全局调度方式主要有基于DNS调度方式和基于应用层重定向调度两种方式。本地调度主要根据负载均衡算法,比如最小连接数,服务器健康度、轮询等算法,选择最合适的CDN节点服务器给用户提供服务。
- 内容分发
内容分发有Push、Pull及混合分发这3种方式,Push就是将内容从源站主动分发到各边缘的CDN节点,分发的协议可以采用HTTP、HTTPS、FTP、SFTP等,可以加入一些智能的分发策略。Pull是一种被动的方式,主要是CDN节点没有内容时,用户请求时,就需要CDN节点从源站实时拉取内容。混合分发就是根据实际情况,使用两种结合的方式。
- 内容服务
内容服务根据用户访问的内容可分为静态内容服务、动态内容服务等,静态内容主要是指HTML文件、文本、动画、图片、视频等,这些文件更新频率低,热点内容集中,可以提前从源站分发到CDN节点。动态内容主要是微博、微信等社交网络的个性化实时内容,这些内容都是实时产生的,就需要用户请求CDN时间,CDN实时从源站拉取内容,CDN就通过降低传输时延和避免数据传输失败来实现动态内容加速。
4.CDN和网络安全的关系
内容分发网络(CDN)和网络安全之间有密切的关系,因为CDN可以在提高性能的同时,提供一些网络安全方面的好处。以下是CDN和网络安全之间的关系:
分布式防御:CDN分布在全球各地的服务器上,可以通过在不同地理位置部署内容来提供分布式防御。这使得在网络攻击时能够分散流量,减轻服务器的负担,提高对抗分布式拒绝服务(DDoS)攻击的能力。
缓存和减轻源服务器负担:CDN通过将内容缓存在其全球服务器上,可以减轻源服务器的负担。这有助于防止源服务器因大量请求而崩溃,也能够防范一些恶意攻击,因为攻击者直接攻击CDN可能会更为困难。
SSL/TLS终端:CDN通常提供SSL/TLS终端,通过将网站的加密流量直接终结在CDN上,可以帮助防范一些网络攻击,包括中间人攻击和SSL剥离攻击。
安全过滤和阻断:CDN提供了一些安全过滤和阻断功能,可以检测和防范一些常见的网络攻击,如SQL注入、跨站脚本攻击等。这些安全功能有助于提高网站的整体安全性。
访问控制和身份验证:通过CDN,可以实现对用户的访问控制和身份验证,以确保只有授权用户能够访问特定的内容。这有助于防范未经授权的访问和恶意活动。
快速更新和修补:CDN允许快速部署更新和修补,这在发现新的安全漏洞时尤为重要。通过在CDN上进行更新,可以迅速推送修复,提高网站的安全性。
5.如何识别源站IP
通过站长之家Ping检测及其它检测工具进行检测是否存在CDN节点。
通过子域名挖掘、DNS历史解析记录、SSL证书、国外不同地区DNS解析、网络资产搜索引擎、威胁情报、网站邮件头信息、CDN配置不当等方面进行源站真实IP挖掘。
总结
网络安全工程师必须深入了解内容分发网络(CDN)的原理,以更有效地掌握黑客攻击的路径和方法。CDN通过将网站内容分发到全球多个节点,实现全球范围的负载均衡和内容缓存。这使得黑客难以通过直接攻击源服务器获取敏感信息,因为攻击流量被分散在多个节点上。由于CDN在全球范围内分布,它提供了分布式防御,有效抵御分布式拒绝服务(DDoS)攻击。此外,CDN的安全过滤和阻断功能能够检测和防范常见的网络攻击,如SQL注入、XSS和跨站脚本攻击。通过对CDN原理的深刻理解,有助于网络安全工程师更全面地评估和强化系统安全,提高对抗潜在威胁的能力。
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以点击下方链接领取或者V扫描下方二维码联系领取~
![](https://i-blog.csdnimg.cn/blog_migrate/0008d6c8a8dcd7ae1e0e98cb9b27a80a.jpeg)
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
② 简历模板
![](https://i-blog.csdnimg.cn/blog_migrate/0008d6c8a8dcd7ae1e0e98cb9b27a80a.jpeg)