我已经看到应用程序将其 API 转移到其他域(从 api.application.com 到 api.applicationapi.com)的趋势。
两个例子:3.basecampapi.com 和 api.dropboxapi.com
将 API 托管在与仪表板或营销网站不同的域中是否有安全优势?为什么一个子域是不够的?
我已经看到应用程序将其 API 转移到其他域(从 api.application.com 到 api.applicationapi.com)的趋势。
两个例子:3.basecampapi.com 和 api.dropboxapi.com
将 API 托管在与仪表板或营销网站不同的域中是否有安全优势?为什么一个子域是不够的?
将 API 托管在与仪表板或营销网站不同的域中是否有安全优势?
一句话,韧性。
一个好处是,如果 API 位于完全不同的域中,则由于仪表板或营销网站上的内容而设置的任何安全块都不会影响 API。
(例如,如果“营销”指的是 Wordpress 或 Drupal,那么这些块可能是一个非常现实的威胁!)
我对Google Blacklist触发的阻止有直接的经验,它们会影响域名及其子域。如果 example.com 最终带有恶意软件,那么 api.example.com(和 api.api.example.com)也将被阻止。
迁移到 api.exampleapi.com 会干净地隔离 API,因此如果 example.com 被列入黑名单,它不会受到影响。
为什么一个子域是不够的?
同样,至少对于 Google,块也可以扩展到子域。此外,基于 DNS 的过滤器(如 OpenDNS 通配符)也会阻止所有子域。
假设 Dropbox Web 应用程序会为 设置会话 cookie *.dropbox.com,那么这个 cookie 也会被发送到api.dropbox.com。
由于会话 cookie 与安全性非常相关,因此最好限制其分布范围。使用单独的域api.dropboxapi.com可确保浏览器永远不会在那里发送会话 cookie。
然后 Dropbox 甚至可以允许带有凭据的 CORS,api.dropboxapi.com而不会冒有人劫持 Dropbox Web 应用用户的会话 cookie 的风险。API 请求将使用令牌而不是会话进行。