应用程序编程接口(API)是公司企业为客户增加其产品价值的好办法。通过将数字资产和服务提供给更广大的受众,API已经发展成了核心业务重点,“API经济”都成了商业行话中的固定词组。
API项目中,既管理访问又保护系统,同时还参与数字生态系统的安全策略十分重要。应用程序主管必须设计、执行并监管有效API安全策略,包括API网关的使用。而随着该领域的发展和业内玩家数量的增加,企业不安全API的采纳所带来的危险也在增多。
API就是通往数据和应用程序的大门,在这里融入安全与保护Web应用同等重要。
为全面保护API,解决架构、DevOps和生产中的安全需求是重点。软件开发生命周期(SDLC)中安全评估的拐点取决于开发团队是在遗留应用中启用API,还是打造新的API优先应用。虽然评估和缓解的要求大部分相同,团队还是需要做到:
1. 对API执行动态应用安全测试(DAST),为发现的漏洞创建缓解/修复计划。
2. 为DevOps过程中的API实现代码执行服务组件架构(SCA)和静态分析安全测试(SAST)分析。
3. 在企业应用架构中使用安全设计模式。一些安全设计模式样例包括:
- 自动编码模板以防止跨站脚本(XSS)通过模板使用输出编码;
- 采用上下文输入验证以防止输入攻击;
- 运用同步令牌防止利用令牌的跨站请求伪造(XSRF)攻击;
- 采用变量绑定防止利用对象关系映射器(ORM)的SQL注入;
- 使用加密外观以减少密码漏洞
- 在SDLC中实现健壮的反馈环,根据各类扫描的发现做出响应。
这些步骤确保API享有完整的安全覆盖,团队可以在问题出现前找到并修复漏洞。
你可能会觉得自己已经有了解决API安全问题的管理工具,但拥有该工具还只是实现API安全的一步。API管理工具提供的安全策略适用于边界,但对呈上API的业务逻辑安全毫无作用。我们的目标是在软件生命周期中嵌入应用安全(DAST、SAST和SCA),作为整体API安全策略中的一部分,编写出安全由内而外的API。
总之,安全评估的结果对冲刺周期中的开发及安全利益相关者来说至关重要,而上述技术可以提升公司API的完整性和采纳率。
【本文是51CTO专栏作者“李少鹏”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】