【发布时间】:2021-12-30 12:44:51
【问题描述】:
我有一个简单的安全同站点跨域设置,例如:
前端:https://www.example.com 接口:https://api.example.com
在这两个域上,我们都使用 Amazon (AWS ACM) 颁发的 SSL 证书
我们的一些客户安装了 Bit Defender Total Security,它可以阻止对我们自己的 API 的 api 调用,甚至是不涉及任何花哨的凭据/cookie 交换的简单 GET 调用。
我发现 Bitdefender 删除了实际 XHR 请求中的 access-control-allow-origin 标头;对 api 的 OPTIONS 调用仍然具有正确的标头。
当我在 Bitdefender 中禁用“Online Threat Prevention's Web Protection > Encrypted Web Scan”功能并重新启动 Chrome 时,它按预期工作,GET 对 api 的调用正确返回 access-controll-allow-origin=https://www.example.com
如果 api 在同一个域中,也不会发生此问题,例如 https://www.example.com/api,这表明这也是 Bitdefender 的 CORS 相关行为。
阅读此功能的描述后,我想可能是 bitdefender 不喜欢我们的证书,我用 LetsEncrypt 证书替换了我们的 AWS 证书;甚至没有通配符证书;还是同样的问题。
我还注意到 Bitdefender 用他们自己的本地证书替换了我们的证书,充当中间人,可能是为了扫描我认为的请求。
我不明白的是,例如 www.imdb.com 与他们的 api.graphql.imdb.com 有类似的设置,他们也使用 AWS 证书。
但由于某些原因,他们的证书没有被替换,并且他们的 access-controll-allow-origin 标头没有在他们的 api 请求中被删除。
到目前为止,我发现我们和 IMDB 之间的唯一区别是他们在请求中使用 TLS 1.3,而我们使用 TLS 1.2(通过 AWS API 网关)
到目前为止,我发现的在线帮助仅建议要求客户在他们的网站上切换 Bitdefender 中的该功能,如果这种设置适用于 IMDB,我很难接受(好吧,也许他们被 Bitdefender 列入白名单)
我也将它作为“误报”线程标识报告给 Bitdefender,但没有任何结果。
还有什么我可以寻找的想法吗?
【问题讨论】:
-
对于任何不愉快的情况,我们深表歉意,我们愿意提供帮助。如果您已在此处 (bitdefender.com/consumer/support/answer/29358) 提交了误报报告但未收到答复,我们建议您在我们的专家社区中进行讨论:community.bitdefender.com/en。我们敬业的团队将非常乐意提供帮助。
标签: security ssl amazon-web-services bitdefender