'API First'安全最佳实践



我正在为我参与的一个项目开发一个API。API将由Android应用程序、iOS应用程序和桌面网站使用。几乎所有API都只能由注册用户访问。API允许通过WSSE进行身份验证,这对移动应用程序很好,但对网站不太好。然而,我正在使用Symfony2开发API,并且我已经将其配置为允许通过WSSE和/或会话/cookie身份验证访问API(如果您感兴趣,可以使用具有公共安全上下文的多个防火墙)。

有了这样一种API-first的方法,我担心事情会被滥用。以我的注册方法为例。我只想让应用程序或网站使用它。然而,没有什么可以阻止某人编写一个简单的脚本,用虚假注册来打击API。然后是对CSRF的担忧。由于登录用户可以访问API,因此存在被利用的风险。

我不希望API公开,但我不知道这是否可能,因为它将被网站使用。我能做些什么来消除(或减少)风险和漏洞暴露吗?

致以亲切的问候。

对于注册暴力问题,您可以为API调用启用"速率限制"。

这篇博客文章介绍了这个概念,以及如何通过RateLimitBundle在Symfony2应用程序中使用它。

最新更新