开发者社区> 问答> 正文

如何避免CC攻击刷费用问题 对计费系统的影响?



1. 背景


为了避免 CC攻击刷费用问题 对计费系统的影响,设计了httpDNS鉴权机制。

2. 鉴权方案


由于老用户已经发布了产品,采用的是非鉴权功能方式接入,这部分产品的用户需要继续可以访问非鉴权接口。
所以我们开放一个新的鉴权接口,产品新版本可以逐渐迁移至新接口,当旧app用户减少到一定量后,可以关闭非鉴权接口。
以避免对计费系统的影响。
剩余调用情况,查看如下图:

2.2 新用户使用方案


  • 为避免鉴权带来的额外接入成本,非鉴权接口默认是开启的

  • 如果仅需要鉴权接口功能,请手动关闭非鉴权访问权限。


2.3 非鉴权接口开关的管理


  • 开启时,可能会引入安全隐患。

  • 只有关闭 非鉴权接口开关 时,才能避免被攻击导致的费用。


3. 签名生成和鉴权机制



3.1 签名生成算法及示例



新鉴权接口

  • http://203.107.1.33/100000/sign_d
  • http://203.107.1.33/100000/sign_resolve


签名算法


sign = md5sum( host-secret-timestamp )

鉴权字段说明

字段描述
host需要被解析的host,与URL中的host参数取同样的值
secret由服务器负责生成,查看方式:『控制台-鉴权配置-鉴权secretkey』
timestamp签名失效时间,1970年1月1日以来的秒数(整形正数,固定长度10)。


签名示例


  • 示例1(普通解析API接口):原请求:http://203.107.1.33/100000/d?host=www.aliyun.com
  • 假设秘钥为:IAmASecret,希望在北京时间2018-08-15 15:00:00失效(时间戳1534316400)
  • sign = md5sum(“www.aliyun.com-IAmASecret-1534316400”) = 60c71e98b6d7fcbb366243e224eab457
  • 鉴权请求:http://203.107.1.33/100000/sign_d?host=www.aliyun.com&t=1534316400&s=60c71e98b6d7fcbb366243e224eab457

示例2(批量解析API接口):
  • 原请求:http://203.107.1.33/100000/resolve?host=www.aliyun.com,www.taobao.com
  • 假设秘钥为:IAmASecret,希望在北京时间2018-08-15 15:00:00失效(时间戳1534316400)
  • sign = md5sum(“www.aliyun.com,[url]www.taobao.com-IAmASecret-1534316400

展开
收起
猫饭先生 2017-10-20 14:46:40 2082 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
代码未写,漏洞已出 立即下载
代码未写,漏洞已出——谈谈设计不当导致的安全问题 立即下载
商业流量的精准在线分配 立即下载