Edge AJAX 调用失败到 SSL 指向本地主机的域
Edge AJAX calls fail to a domain with SSL pointing to localhost
我们有一个产品依赖于安装在用户机器上的瘦客户端。我们向指向具有真实 ssl 的本地主机的域发出 ajax get 请求。这在边缘失败,适用于包括 IE11 在内的所有其他浏览器。请注意,如果不涉及 ssl,则同样有效。它也适用于 Windows 10 家庭版。
添加数据类型、内容类型或请求方法无法解决此问题。解决此问题的唯一方法似乎是 运行 以下命令。
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
如果这是预期的行为,有人可以解释为什么微软会在企业版上阻止它,但在家庭版上却可以吗?
Microsoft Edge,和 Windows 一般 10 个应用程序,使用 AppContainer Isolation:
Isolating the application from network resources beyond those
specifically allocated, AppContainer prevents the application from
'escaping' its environment and maliciously exploiting network
resources. Granular access can be granted for Internet access,
Intranet access, and acting as a server.
您的瘦客户端 运行 在 win10 企业边缘上针对 intranet
ssl 服务(本地主机),因此访问默认受此机制限制。使用命令
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
您正在为 MS Edge 的环回网络适配器(本地主机)禁用该主机上的网络隔离,以便您的应用程序客户端(和任何其他本地来源的应用程序)可以 运行 在其上不受任何本地主机服务的限制.
这在 edge 中失败,在包括 IE11 在内的所有其他浏览器中都有效。
他们显然是想改进以前版本的默认安全策略。永远不会太晚,MS :) 实际上有一个 Enhanced Protected Mode (EPM) that could prevent your app from running on IE too. Chrome has its Google Chrome Sandbox 也可以像这样调整。 Safari 和 Firefox 也有沙盒功能,虽然我不熟悉它们的特殊性。
请注意,如果不涉及 ssl,同样有效。
通常情况下,如果您使用 ssl 是因为您正在处理敏感数据 and/or 一项关键服务。如果你不是,那么放松一点也没关系。同样,这只是一个安全策略问题。
它也适用于 Windows 10 家庭版。如果这是预期的行为,有人可以解释为什么微软会在企业版上阻止它,但在家庭版上却可以吗?
众所周知,任何产品的企业版本都更具限制性,因为它们的目标用户更关心安全(IT 人员通常不希望将他们公司的内部网工资数据库服务暴露给外部攻击者,诸如此类)。此外,在这种情况下,IT 部门的专家(查看 domain security policies)可以很容易地 defined/altered 默认行为,因此最好将默认设置保留为 "paranoid" 模式并让专家根据公司需要调整。
请注意,当您 运行 在浏览器上安装瘦客户端时,还有其他机制在起作用,使这种保护变得多余(相同的域策略、XSS 保护等)。然而,一个人永远不会太安全:有一些方法可以解决这些防御措施,例如 Self-XSS 需要在浏览器和本地网络之间进行隔离以避免损害系统。最后,更少的暴露表面意味着更少的攻击向量,所以如果你能负担得起,隔离是好的:)
我们有一个产品依赖于安装在用户机器上的瘦客户端。我们向指向具有真实 ssl 的本地主机的域发出 ajax get 请求。这在边缘失败,适用于包括 IE11 在内的所有其他浏览器。请注意,如果不涉及 ssl,则同样有效。它也适用于 Windows 10 家庭版。
添加数据类型、内容类型或请求方法无法解决此问题。解决此问题的唯一方法似乎是 运行 以下命令。
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
如果这是预期的行为,有人可以解释为什么微软会在企业版上阻止它,但在家庭版上却可以吗?
Microsoft Edge,和 Windows 一般 10 个应用程序,使用 AppContainer Isolation:
Isolating the application from network resources beyond those specifically allocated, AppContainer prevents the application from 'escaping' its environment and maliciously exploiting network resources. Granular access can be granted for Internet access, Intranet access, and acting as a server.
您的瘦客户端 运行 在 win10 企业边缘上针对 intranet
ssl 服务(本地主机),因此访问默认受此机制限制。使用命令
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
您正在为 MS Edge 的环回网络适配器(本地主机)禁用该主机上的网络隔离,以便您的应用程序客户端(和任何其他本地来源的应用程序)可以 运行 在其上不受任何本地主机服务的限制.
这在 edge 中失败,在包括 IE11 在内的所有其他浏览器中都有效。
他们显然是想改进以前版本的默认安全策略。永远不会太晚,MS :) 实际上有一个 Enhanced Protected Mode (EPM) that could prevent your app from running on IE too. Chrome has its Google Chrome Sandbox 也可以像这样调整。 Safari 和 Firefox 也有沙盒功能,虽然我不熟悉它们的特殊性。
请注意,如果不涉及 ssl,同样有效。
通常情况下,如果您使用 ssl 是因为您正在处理敏感数据 and/or 一项关键服务。如果你不是,那么放松一点也没关系。同样,这只是一个安全策略问题。
它也适用于 Windows 10 家庭版。如果这是预期的行为,有人可以解释为什么微软会在企业版上阻止它,但在家庭版上却可以吗?
众所周知,任何产品的企业版本都更具限制性,因为它们的目标用户更关心安全(IT 人员通常不希望将他们公司的内部网工资数据库服务暴露给外部攻击者,诸如此类)。此外,在这种情况下,IT 部门的专家(查看 domain security policies)可以很容易地 defined/altered 默认行为,因此最好将默认设置保留为 "paranoid" 模式并让专家根据公司需要调整。
请注意,当您 运行 在浏览器上安装瘦客户端时,还有其他机制在起作用,使这种保护变得多余(相同的域策略、XSS 保护等)。然而,一个人永远不会太安全:有一些方法可以解决这些防御措施,例如 Self-XSS 需要在浏览器和本地网络之间进行隔离以避免损害系统。最后,更少的暴露表面意味着更少的攻击向量,所以如果你能负担得起,隔离是好的:)