问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

《CDN深度解析:工作原理、部署方法与安全防护》

创作时间:
作者:
@小白创作中心

《CDN深度解析:工作原理、部署方法与安全防护》

引用
1
来源
1.
https://www.mozhedun.com/news/industry-news/58998.html

CDN(内容分发网络)是一种提供更快互联网访问的服务,通过在网络的边缘或核心交换区域部署内容代理服务器来实现。它通常由内容路由系统、内容管理系统、Cache节点网络三部分组成。CDN的工作原理是减少用户与源站之间的物理距离,通过全球分布的服务器网络,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

一、什么是 CDN

CDN 即内容分发网络,是一种提供更快互联网访问的服务。它通过在网络的边缘或核心交换区域部署内容代理服务器来实现。1996 年,MIT 提出了 CDN 概念,全球第一家 CDN 网络运营商 ——Akamai 公司于 1999 年开始提供商业服务。

CDN 通常由内容路由系统、内容管理系统、Cache 节点网络三部分组成。内容路由系统通过负载均衡系统将用户的请求定向到适当的设备上,实现调度功能,为用户选择合适的网络节点以供后续访问。内容管理系统承担着内容管理的职责,包括内容的注入和发布、分发、审核以及服务等,实现互联网内容集中化分析、展现和决策。Cache 节点网络用于支持 CDN 的业务,是专为面向最终用户的内容提供而设计的设备,它缓存源站的数据,让浏览器的请求不用到达源站服务器,直接在半路就可获取响应。

CDN 的工作原理是减少用户与源站之间的物理距离。它是一个全球分布的服务器网络,这些服务器存储的内容比源站更靠近用户。当用户访问网站时,CDN 会根据用户的地理位置和网络状况,自动选择最近的服务器节点来提供内容,从而实现快速的内容传输和分发。

CDN 的关键技术主要有内容存储和分发技术。它依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

二、部署CDN的方法

部署CDN可以通过以下步骤实现:

一、选择可靠的CDN服务提供商

选择一个可靠的CDN服务提供商至关重要。在选择时,要考虑性能和稳定性、覆盖范围、安全性以及价格和服务等因素。例如速盾作为专业的CDN服务提供商,具备良好性能和高稳定性,节点覆盖范围广,提供强大的安全防护功能如DDoS攻击防护、Web应用防火墙等,同时能根据预算提供合适的服务以及优质的客户支持和售后服务。

二、进行域名解析、绑定等操作

  1. 注册账号:在CDN服务提供商的官方网站上注册账号,并按照提示完成注册流程。
  2. 添加域名:将服务器域名添加到CDN服务中。若服务器有多个域名,可以一次性添加所有域名。
  3. 配置参数:根据需求配置CDN的参数,如缓存时间、压缩设置、安全设置等,这些参数设置将直接影响CDN的性能和效果。
  4. 验证域名:CDN服务提供商通常会要求验证域名的所有权,以确保是合法的域名所有者,按照提示完成域名验证流程。

以华为云为例,首先来到对象存储,点击域名管理,绑定新的用户域名,这样就可以把储存“桶”的域名改成自定义的域名,复制CNAME。接着来到域名服务商,添加解析,CNAME,填入复制的CNAME地址,等待解析生效。尝试用设置的域名访问对象储存中的文件,可以访问,代表配置解析成功。然后来到网站后台(wordpress)安装华为云OBS插件,对应自己用的插件即可,各大厂商的插件都可以搜索到。对象存储obs填写好对应的信息,点击开始同步,就大功告成啦!就可以看到所有的图片链接地址都是设置的CDN的域名啦!会员也是去储存桶里回源啦!命中率还是非常高的。

又比如在圣凡云购买CDN产品后,首先访问圣凡云的官网,进入后台(已买完CDN的情况)点击虚拟主机。访问CDN的控制面板,点击绑定域名。绑定之前需要先把域名解析至圈出来的地址。接着去域名管理添加一下解析,点击保存以后去CDN的控制面板添加绑定的域名,域名就填写需要套取CDN的域名,ip填写服务器的IP即可。点击确定以后去ping一下自己的域名,可以看到ping了多个ip同时并隐藏了原始ip。在解析的时候千万不要直接解析到服务器的ip,某些人会通过查看历史解析ip找到原ip从而直接ddos原ip,这样cdn就没有作用了。

对于阿里云服务器,购买后解析域名会经过以下三步,绑定域名,域名新增成功后,后台将自动为您开启CDN全球加速,待510分钟后,CDN开启成功,再进行域名解析即可。具体为:在网站后台首页,单击网站管理>域名管理进入域名管理页面。单击新增域名,输入您的域名即可。绑定域名后,系统将自动为您开启CDN,若CDN自动开启失败,需根据提示及解决方案指南进行操作。一键解析:新增域名成功后,请等待系统自动生成解析记录值(时间约23分钟),如状态未更新需手动刷新页面。单击一键解析>授权并一键解析。如一键解析未成功,或在其他服务商平台购买的域名,无法使用一键解析,请手动解析。需等待2~3分钟生成解析记录值,复制该域名的解析记录值后,登录购买该域名的服务商平台,添加解析记录。共需添加两条解析记录,填写提示如下,成功保存后即可。记录一:主机记录:www。记录类型:CNAME。解析线路:默认。记录值:粘贴在网站后台复制的解析记录值。TTL:10分钟。记录二:主机记录:如您使用的域名是腾讯、百度、华为云、阿里云,主机记录输入@,如域名是新网、三五互联,主机记录输入一个空格。记录类型:CNAME。解析线路:默认。记录值:粘贴在网站后台复制的解析记录值。TTL:10分钟。

三、CDN的安全性探讨

部署CDN在带来性能提速和网络防护等好处的同时,也存在着一定的安全隐患。

性能提速方面的风险

第三方CDN在缓存网站数据以减轻源站服务器压力时,只能缓存明文数据,不能缓存密文数据。因为若缓存密文数据,就可能引发重放攻击。例如在转账场景中,黑客可以利用收集的密文数据替换正常的转账数据,欺骗系统。以TLS/SSL现行的加密机制,不允许重放攻击发生,所以第三方CDN无法缓存密文数据。如果要求CDN缓存密文数据,就会面临CDN发动中间人攻击的风险。

网络防护方面的风险

CDN可能具有检测恶意流量的功能,但部分攻击需要解密后才能检测,如部分应用层的DoS攻击。如果要求CDN防御这类攻击,必然会将一定量的信息暴露给CDN,虽然暴露信息越多检测会越彻底,但同时CDN发生攻击的风险也越大。不过从实际情况来看,这种隐患不太可能发生,因为CDN服务商本质上是中介,获取用户和网站的信任是其存在的基石,不会主动发动攻击。

此外,CDN还面临着其他安全威胁。比如Radware指出的针对CDN的五大安全威胁:

  • 盲点1:动态内容攻击:攻击者利用动态内容请求会发送到源服务器的特点,生成攻击流量,可能导致源服务器无法处理所有请求,出现拒绝服务的情况,且速率限制可能会拦截合法用户。
  • 盲点2:基于SSL的攻击:CDN服务器必须利用客户的SSL密钥解密流量才能检测并缓解DDoS SSL攻击,但若客户不愿意提供密钥,攻击流量就会重定向至源服务器,使客户容易受到SSL攻击侵扰,还可能出现延迟和审计问题。
  • 盲点3:针对非CDN服务的攻击:CDN通常只提供给HTTP/S和DNS应用,攻击者可利用这一盲点对非CDN服务的应用发起攻击,堵塞客户互联网管道,使源服务器中的所有应用对合法用户不可用。
  • 盲点4:直接IP攻击:攻击者对客户源Web服务器IP地址直接攻击,可能是UDP洪水或ICMP洪水等网络洪水,直接击中客户源服务器,堵塞互联网管道,关闭源服务器中的所有应用和在线服务。
  • 盲点5:Web应用攻击:多数基于CDN的Web应用防火墙功能有限,无法防御零日攻击和已知威胁,且实现较高防护水准成本较高。同时,多数CDN安全服务不够敏感,可能需要数小时手动部署安全配置。

CDN网络安全风险还包括DDoS攻击、缓存污染、数据泄露和软件漏洞等。DDoS攻击会通过大量恶意网络请求耗尽目标网站服务器资源,导致网站无法正常访问。缓存污染则是攻击者向CDN网络的缓存中注入恶意内容或修改原始内容,导致用户被重定向到恶意网站或被展示虚假内容,造成隐私泄露等安全问题。由于CDN网络中的节点分散在全球各地,涉及不同国家的数据传输,增加了数据泄露的风险。而CDN网络中使用的各种软件存在潜在安全漏洞,攻击者可以利用这些漏洞入侵节点或获取敏感信息。

针对这些安全风险,可以采取全面风险评估、DDoS防护、强化缓存安全、加强数据保护和及时更新修补漏洞等应对策略。全面风险评估能确定潜在威胁和漏洞,为制定应对策略提供依据。DDoS防护可采用多层次的DDoS防火墙、入侵检测系统和流量分析等技术。强化缓存安全可通过加密缓存内容、限制缓存内容的可见性以及部署恶意内容的检测和过滤机制。加强数据保护可采用加密通信、访问控制和身份验证等技术。及时更新和修补漏洞则需要建立漏洞管理和修复机制,定期对节点进行安全审计和渗透测试。

四、如何判断网站是否使用CDN

判断网站是否使用CDN可以通过以下几种方法:

(一)多地ping

CDN的工作原理是将网站内容分发到多个地理位置不同的服务器节点上,以实现用户就近获取内容,提高访问速度。如果多地ping同一网站,出现多个解析IP地址,那么说明使用了CDN进行内容分发。可以使用一些在线工具,如http://ping.chinaz.com/、http://ping.aizhan.com/、http://ce.cloud.360.cn/等进行多地ping测试。

(二)nslookup法

使用nslookup查看域名解析对应的IP地址,如果解析到多个IP地址则说明使用了CDN。nslookup(全称name server lookup),是一个在命令行界面下的网络工具,在Windows中无需下载即可使用,它有两种模式:交互和非交互。非交互模式下,输入“nslookup + 查询的域名或者IP地址,回车”,可以查看域名对应的IP地址;交互模式下,在命令行界面输入“nslookup”,回车,即可进行多次查询。如果查询结果返回多个IP地址,说明该网站可能使用了CDN。

(三)使用CDN查询工具进行查看

可以使用一些专门的CDN查询工具来判断网站是否使用了CDN,如http://www.cdnplanet.com/tools/cdnfinder/、https://www.ipip.net/ip.html。

五、CDN的绕过方法

简述:列举多种绕过CDN的技战法,如利用不同的域名配置、邮件服务、子域名请求等获取真实IP。

(一)利用不同的域名配置绕过CDN

  1. 访问不同的域名形式:有时候网站管理员在配置CDN时,可能只对特定形式的域名进行了加速,例如只对带“www”的域名进行加速,而对不带“www”的域名未进行加速。所以可以尝试通过访问不同形式的域名来绕过CDN,如访问不带“www”的域名或者其他可能未被加速的域名形式。
  2. 利用子域名差异:在配置CDN的过程中,可能存在只对主站域名进行加速,而对子域名未加速的情况。可以通过查询子域名,找到可能未被CDN覆盖的子域名,从而获取真实IP。比如很多企业为了节省成本,只对主站或流量大的子站做CDN,而一些小站子站跟主站在同一个服务器或者同C段,此时可以通过子域对应的IP查询,帮助找到真实IP站点。常用的子域名查询工具有微步在线、Dnsdb、Google站点等。

(二)利用邮件服务绕过CDN

一般的邮件系统都在内部,没有经过CDN的解析。通过利用目标网站的邮箱注册、找回密码或者RSS订阅等功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP。常见的邮件触发点有RSS订阅、邮箱注册激活处、邮箱找回密码处、产品更新的邮件推送、某业务执行后发送的邮件通知、员工邮箱及邮件管理平台等入口处的忘记密码等。需要注意的是,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的。

(三)利用子域名请求绕过CDN

很多时候,主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN。可以通过ping二级域名获取分站IP,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP段。

(四)利用国外地址绕过CDN

很多时候国内的CDN对国外的覆盖面并不是很广,故此可以利用此特点进行探测。通过国外代理访问就能查看真实IP了,或者通过国外的DNS解析,可能就能得到真实的IP。例如可以使用国际Ping测试站点如ipip、ASM等,或者利用世界各地的DNS服务器地址进行国外DNS解析。

(五)利用网络空间搜索引擎绕过CDN

可以使用一些网络空间搜索引擎如fofa、鹰图、Zoomeye、shodan、360等,通过输入特定的关键字、标题、body特征或者网站的icon文件的哈希值等,找出收录的有这些关键字的IP域名,很多时候能获取网站的真实IP。

(六)查询DNS历史记录绕过CDN

查看IP与域名绑定的历史记录,使用CDN之前可能有记录。相关查询网站有Dnsdb、微步在线、Netcraft、IPIP等。

(七)利用网站漏洞绕过CDN

通过网站的信息泄露如phpinfo泄露、github信息泄露、命令执行等漏洞获取真实IP。一些测试文件如phpinfo、test等或者利用SSRF漏洞让服务器主动向外发起连接,找到真实IP地址。

(八)利用第三方接口查询绕过CDN

可以使用一些第三方接口查询网站如https://get-site-ip.com/、https://fofa.info/extensions/source等,不一定能完全准确地获取真实IP,但可以作为一种参考方法。

(九)利用Zmap扫全网绕过CDN

先从IP段去扫描符合开放端口,再从IP去访问看看关键字,将符合结果进行保存。但这种方法需要大量的时间和精力,且结果需要人工判定其准确性。

六、部署CDN后的安全防护措施

部署CDN后可采取多种安全防护策略,以确保网站的安全稳定运行。

使用高防CDN

高防CDN是一种有效的安全防护手段。例如,选择像速盾这样专业的高防CDN服务提供商,其具备强大的防护能力,能够有效地抵御各种类型的网络攻击。在选择高防CDN服务提供商时,要考虑防护能力、节点分布、服务质量和价格等因素。注册账号后,将域名添加到平台上,并根据需求配置参数,如缓存策略、安全防护级别、访问控制等。最后将域名解析到高防CDN服务提供商提供的IP地址上。使用高防CDN后,还需要定期监控流量、优化防护策略、定期测试,以确保其防护效果。

加强服务器自身安全防护

  1. 加强密码策略:确保所有用户账户都具有足够强的密码,长度为12到32个字符,由大小写字母、数字和特殊字符组成,并且定期更改密码,使用两步验证来增强帐户的安全性。
  2. 安装防火墙和安全软件:安装和配置防火墙来限制入站和出站的网络流量,使用入侵检测系统(IDS)和入侵防御系统(IPS)监控异常行为,配置安全插件以防止恶意软件的传播。
  3. 加密:使用HTTPS和SSL对用户数据进行加密,对存储的数据进行加密,以防止敏感数据泄露。
  4. 定期安全审计:对系统进行定期安全审计,找出潜在的安全漏洞和风险,并在服务器上安装补丁,以修补已知的漏洞。
  5. 限制文件上传:限制用户上传文件至服务器的功能和权限,对上传的文件进行严格的安全检查和过滤,以阻止恶意文件上传。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号