美国最近的政治闹剧也影响到了科技公司,并导致被发现了API漏洞。在特朗普支持者中很受欢迎的类似Twitter的社交网络Parler有70 TB的数据因为不安全的api被窃取。
从各种文章和讨论线索来看,似乎发生了以下情况:
1.Parler正在使用Twilio验证密码重置帐户。
2.Twilio决定停止为Parler服务,账户验证被删除
3.攻击者能够接管Parler的一些管理账户。
4.攻击者使用这些帐户在系统中创建更多管理员。
5.被劫持的和新的管理员帐户被用来访问和抓取用户发布在Parler上的帖子、图片和视频等。
Parler 上帖子的id是连续的,因此攻击者很容易将它们全部枚举出来。图片和视频文件可以原始格式访问,其中包括所有元数据比如位置信息。
不仅如此,即使是被删除的帖子也仍然可以抓取到:当用户删除一篇帖子时,Parler实际上并没有删除内容,只是将其标记为已删除,并将其放在视线之外。
这些都是严重的安全缺陷。
因此,不管你的政治观点如何,这里的教训有几个可以让你留心的点:
·身份验证是安全的关键,应该包含访问帐户的所有方式,包括密码重置。
·使用有序的标识并开放,很容易通过枚举和爬取记录下来,所以要改用随机ID
·不要存储任何不需要或不应该存储的数据。保存的数据越少,风险就越小。
·监控、记录和事件处理流程有助于在发生违规时采取快速缓解措施。
必须承认,在大多数企业尝试或正在进行数字化转型的今天,API承载了企业职能部门之间,甚至企业和客户、合作伙伴之间的系统的数据。因此,毫无疑问API会受到攻击者更多的“照顾”,对应的API的安全性需要得到更多的关注。
那么如何保护我们的API呢?最直接的当然是自己部署一个API网关工具了。
举个最简单的例子,在上述的新闻中,你可以通过API网关,对API调用次数做一个限制,以指定秒、分钟、天或其他相关约束的消耗量,达到上限后可以通过邮件或其他形式发出预警。同时,当下较流行的微服务网关还可以处理包含负载均衡,缓存,路由,访问控制,服务代理,监控,日志等事项。
现在的亚马逊、阿里、腾讯云都在提供基础公有云的API网关,基本使用是没有问题的,但是相比于公有云,更推荐找开源的私有云API网关,可以部署在自己的服务器上,更好地保证企业自身的数据安全。
如果选择私有云方案,笔者推荐的是Kong和Eolinker。Kong是当前市面上使用得最多的API网关工具,笔者之前使用的也是Kong。之后因为同事的推荐,换成了国产的Eolinker,和Kong的使用体验比较接近,而且是组织开发而不是个人开发,后续出现问题也容易找到人咨询解答。
Kong:https://konghq.com/
Eolinker:https://www.eolinker.com
联系客服