有没有办法通过主机名过滤传入的 HTTP 请求?

问题描述 投票:0回答:1

我们开发了一个与第 3 方服务集成的 Web 应用程序。第 3 方服务的集成之一会调用我们的 API 服务器来更新某些状态(类似于支付网关)。

最初我们服务器上的 API 没有身份验证,所以我们认为我们应该进行一些检查以验证回调是真实的。

第三方服务已经完成了我们的项目,拒绝修改他们这边的代码,而且他们的服务器有动态IP,所以我们无法通过IP加入白名单。他们的工程师建议我们将他们的主机名列入白名单。

我们考虑过获取源IP和反向DNS。此方法仅在某些情况下有效,并且不适用于云 VM 的自定义域。解析的主机名将是 VM 的主机名而不是自定义域。

他们的工程师听起来这是一种常见的做法并且很容易实施,我们是否遗漏了什么?我们可以完全控制防火墙、DNS 记录和 API 代码。

web-services callback webhooks whitelist websecurity
1个回答
0
投票

我认为常见的做法是为您的案例添加相互认证。你的回调接口看起来像一个开放的api,你需要验证通过AES或RSA算法加密的回调参数签名。 如果第 3 方坚持不更改代码,他们可以添加具有固定 IP 的代理服务器。

© www.soinside.com 2019 - 2024. All rights reserved.