技术博客 > 正文

使用CDN后网站安全有保障吗

2022-03-30

CDN除了提升企业的网络稳定性,加快数据传输,还能通过访问控制,限制CDN资源被恶意访问的情况,保护客户内容安全,避免恶意请求、被欺诈或盗用信息。

 获批国家重点研发计划重点专项 我们将推动智慧城市发展

基础功能

1.IP黑白名单

通过IP黑白名单配置功能,客户可以根据业务需求对用户请求的源IP进行策略过滤,帮助客户解决恶意请求等问题。

√功能可在SI平台上自助配置。
√支持1个或多个IP的访问控制
√支持针对IP段进行访问控制(通常采用IP+子网掩码的表示方式,比如192.168.1.0/24)
√IP白名单列表可以向对应服务的网宿工程师获取。

■特色功能:智能黑名单
通过对IP在边缘节点的访问次数进行限制,防止CC攻击。开启该功能后,网宿云平台将会对IP访问次数进行标记,当单IP请求数超过设定阙值后,主动拦截该IP对该域名的访问,从而达到访问限制的目的。拦截时间可配置。

2.Referer防盗链

当浏览器向web服务器发送请求时,一般会带上Referer头,告知服务器该请求是从哪个页面链接过来的。通过校验HTTP请求头中的Referer字段信息,限制访问来源,避免用户被欺诈、盗用信息。

■样例:
原始URL:http://cdn.example.com/
添加防盗链后:http://cdn.example.com/请求头来表明请求的来源地址。

■注意事项:
•支持正则匹配
•默认禁止空引用,如有需要可以联系客服配置。
•Referer很容易伪造,因此referer防盗链安全性较低

3.User-Agent防盗链

User-Agent头部包含了发起原始请求的客户端(通常是指浏览器)信息。不同的客户端通常具有不同的User-Agent信息。通过禁止或者允许符合特定User-Agent规则的请求,允许特定的浏览器或者带有特殊User-Agent标识的专属客户端进行访问。

■适用场景举例:
a)某个页面或者资源只希望被IE浏览器访问,不希望或者不支持被Chrome访问,这种情况下就可以配置User-Agent防盗链
b)客户有自己专属的客户端下载工具进行内容下载,该下载工具在请求时User-Agent使用了自己定制的名称,希望只针对符合这种规则的请求开放下载,这种情况下也可以使用User-Agent防盗链。

■注意事项:
•支持正则匹配
•User-Agent很容易伪造,因此User-Agent防盗链安全性较低。

4.区域访问限制

地区访问限制是指根据加速网站的需求,允许或禁止特定区域的终端用户对网站资源的访问。

网宿服务器在收到用户IP信息后,会自动与网宿精准的IP库进行用户区域匹配,再对照预先配置的许可规则,对应给出正常或拒绝的响应。比如,禁止或允许某些地区的用户(根据访问者IP所在的地理位置)访问某些特定的资源,常用于版权保护。

高级功能

1.Token防盗链

通过设置签名过期时间来控制文件的访问时限。

Token防盗链的目的是使得每个请求的url都具有一定的“时效性”,网宿采用md5算法,将密文、过期时间、文件路径等信息进行md5计算,并加入到url中。CDN节点在验证请求时,除了验证过期时间,同时还会验证该md5值是否匹配,对于不匹配的md5,即使请求未过期也需要禁止服务。由于密文是不公开的,因此无法伪造。使用时间戳防盗链时,url的加密由源站生成,CDN只负责验证。整个的处理过程图如下:

 获批国家重点研发计划重点专项 我们将推动智慧城市发展

使用方法:
1.与网宿工程师约定合法请求鉴权返回的内容(http body)
2.确定鉴权使用的url,对应的域名需要配置加速,给出正确的源IP,否则CDN 节点查询不到域名的IP,无法正确发起鉴权请求
3.确定向鉴权url发起请求时需要携带的必要参数,支持从原始请求的url中获取参数值或者从原始请求的HTTP头部获取字段值

■注意事项:
•鉴权参数中包含[-_.~A-Za-z0-9]以外的字符时会自动按urlencode的标准进行转译

2.回源鉴权

回源鉴权的特点是CDN节点每次接收到的请求,都需要先回源进行验证,验证通过后才认为请求合法,继续提供服务,适用于对防盗链有很高的实时性要求的场景。

■使用方法:
1.与网宿工程师约定合法请求鉴权返回的内容(http body)
2.确定鉴权使用的url,对应的域名需要配置加速,给出正确的源IP,否则CDN 节点查询不到域名的IP,无法正确发起鉴权请求
3.确定向鉴权url发起请求时需要携带的必要参数,支持从原始请求的url中获取参数值或者从原始请求的HTTP头部获取字段值