首先,我对Web API / CORS和安全实现相对较新。
这个问题是关于安全性的。Web API存储了极其敏感的数据,并提供给客户在线执行交易的功能。
情境:
- 我有一个Web API作为一个自托管的Windows服务,使用固定端口。
- Web API位于内部网络的防火墙/ DMZ后面。
- Web API(使用CORS)只允许来自外部服务器的流量。
- 外部服务器使用IIS托管我们的网站。
- Web API正在使用令牌身份验证(绑定到客户端IP以避免劫持)。
- 外部网站和内部Web API都强制使用SSL。
问题:
网页通过JavaScript进行ajax调用到Web API。但是,Web API并没有直接暴露在互联网上。
- 以下设置会产生什么影响?
- 这样做会给我的网络带来什么样的漏洞?
- 是否有更好的方法来实现这样的设置?
例如:
用户在浏览器中输入
https://test.mydomain.com
,并获得一个页面。ajax调用被发往
https://test.mydomain.com/api/test/action
外部服务器将
https://test.mydomain.com/api
消息路由到未公开的内部服务器https://myInternalWebAPI/api/test/action
.
https://test.mydomain.com/api
路由到内部的https://myInternalWebAPI/api/test/action
的? - EkoostikMartin