随着前端框架的发展成熟以及前后端分离模式的流行,API也正在成为服务端的主要攻击入口;同时由于云原生和微服务架构越来越多的企业接受和采用,API的数量也在急剧暴增;
Programmable Web 曾统计过API的增长趋势,在2006年之后,API就开始实现快速增长,尤其在2010年以后,这种趋势更加明显;全球的API数量都实现了广泛地增长,如下:Salt Security研究部门Salt Labs的一份新报告发现,SaltSecurity的客户遭遇的API攻击流量在过去一年中增长了681%,与此同时整体API流量增长了321%,如:下:Gartner也曾在其《如何建立有效的API安全策略》报告中预测,“到2022年,API滥用将成为导致企业Web应用程序数据泄露的最常见攻击媒介”, 这里面所说的最常见却并没有之一,足以见得API的重要性;各种现象和趋势都在表明API越来越重要,我也相信,未来API将在互联网中会占据极其重要地位,尤其是在移动互联网中,不管是企业的内部,还是企业的外部,越来越多的应用、网站、数据都将通过API来进行数据传播,API服务化已经是不可阻挡的趋势。
Web防火墙主要是针对HTTP请求来进行安全过滤,当然也可以对API进行安全过滤;而API却有一些自身的约定条件、管理方式和场景要求,所以,API网关的功能与Web防火墙也是不同的,它们其实是两种不同的安全产品。Web防火墙可以简单抽象为:「Web服务器」+「规则引擎」API网关则可以抽象为:「Web服务器」+「网关逻辑」也许,有的朋友会好奇地问:网关为什么能够进行快速开发,它不是应该挺复杂的吗?确实如此,但主要还是因为它们的开发模式和设计思路大部分都是相同的,且入门阶段也都是有章法可循;所以,我想通过API网关开发的专栏内容来给大家分享下一些具体的开发方法和思路,让你也能够快速掌握并开发出满足自己需求的应用层网关。
> 一堂高质量的API网关技术课 <
《从0开始打造自己的API网关》
(扫描下方二维码了解专栏详情)
✔ 15期图文专栏✔ 设计+实践+部署,全流程指导✔ 带你动手开发轻量级API网关
▼ 扫码立享29.9元上新尝鲜价 ▼
很多安全的同学接触Web安全都是从渗透测试开始,也并不太关注自身的安全开发能力;但当你不满足现状想进一步提升自己的时候,你就会发现「安全开发能力」原来也是安全技术进阶的必备技能之一,它能够将你的安全想法或技术思路转化为demo、工具、系统,甚至是产品;从而能更加有效地帮助你去验证和解决实际中的问题。如果你也有这方面的顾虑和想法,那我相信本专栏是一定能帮到你。随着API技术被广泛使用,早在2010年「ProgrammableWeb」便预测API数量会不断增长,大量的API也直接带来了对安全与管理的诉求,各种API的安全风险也在层出不穷,API场景下的开发和设计也慢慢被重视起来;可以看出,API生态也都在向简洁、集成和规范的方向发展;而API网关作为API生态的重要组成部分,它的价值也在逐渐地被接受和使用;对于Web技术方向的同学而言,我们也更应该保持对其的关注和学习;API安全网关其实已经有很多开源实现或商业产品,当然,如果你并不仅仅满足于简单的产品使用和维护,而是希望可以对API网关技术的活学活用,并做些功能的移植和集成,这个专栏应该可以帮助到你。
你可能碰到过API网关选型的问题,是选择开源,还是商业,抑或是自研?你可能希望在大的系统中集成轻量级的API网关?
选择什么样的方式来解决问题,当然要依赖问题场景,毕竟需求决定方案。如果你需要的是一个成熟的解决方案,那么,首推还是「开源」和「商业」,因为你主要目的只是「使用」;如果你需要的是一个集成型的网关模块,那么,从「成本」和「效率」看,我会建议你来学习下这门课:API网关的开发成本并不高,功能和维护的效率也会优于「开源」和「商业」,通过本专栏,你不仅能够了解到API网关的设计和原理,还能自由快捷地扩展所需功能。它可以帮助你从技术视角来评估你所需要功能的复杂度,选择合适的方案;而且,应用层网关是个相对普适的需求,开发方法有章可循的;同时,应用网关的技术开发范式也是相通的,不管是WAF,还是API网关,或者是其它场景需求的网关,我们学会了API网关的开发实践,是可以进行快速迁移来适应其它的场景;因此,我们可以固化下应用层网关的开发框架,提高和叠加自己的技术竞争力,我就曾利用这套方法在一个月内完成WAF的开发,并完成客户的交付;同样,在工作期间内,同时兼顾其它工作的同时,在三个月内完成API网关的设计开发和上线应用;所以,我完全相信通过本专栏的学习,你也一定可以,甚至会更加优秀。
我们最终的目标是能够用Golang开发出一个属于自己的简易版轻量级API网关,为了符合完整的项目开发过程,我将这门课程分成了三个大部分,分别是:设计、实践和部署,课程大纲如下:第一部分「设计篇」 围绕API网关进行架构设计,分别从高性能和高可用来完成整体的架构设计第二部分「实践篇」 按照网关的架构设计要求,首先,从一个最基础的网关框架开始,然后依次将网关所需要的功能进行开发实践,并逐步完善直至最终完成基础版本的网关实现。第三部分「部署篇」 网关开发完成后,我们需要对网关进行部署和优化,这样才能更完整地对网关进行测试和应用。在这部分中,我们也会对API网关进行性能测试,并通过效果对比来评估自己的网关。每一讲中我都会为你讲解实现过程和细节,并阐述每个设计的思路和原理,希望你在学习后,不仅可以系统性地掌握API网关的工作原理和开发技能,更能懂得API网关开发的思考过程和设计思路,从而达到举一反三的效果。除了设计篇,其它每节课程都配有对应的实践和操作内容,每一节课程中的代码我将放在 GitHub 上了,你可以跟着课程一边学习一边实践,这样你不仅能更快地掌握和吸收,也可以更好地强化和巩固所学知识。我相信,按照专栏课程的节奏,一步一步地为自己的网关添砖加瓦,直至完成一个基础且完整的API网关。
好了,最后,感谢你对我的信任,更希望你能学有所获,也欢迎在留言区或社群中分享你学习中的问题和痛点,咱们可以一起交流和讨论。
618大促福利不要错过哦!
ATF8PV(当当20元优惠码)
当当每满100-50 再叠加20元优惠码
实付100可用 花80元买原价200元的书
使用时间:5.25-6.3
数量有限,先买就是赚到!
(更多好书可扫码查看)