Edge Ajax调用无法指向Localhost的SSL失败



我们有一个产品,该产品依赖于在用户计算机上安装的薄客户端。我们向指向具有真实SSL的本地主机的域提出了Ajax的请求。这会失败,在包括IE11在内的所有其他浏览器中都可以使用。请注意,如果不涉及SSL,则同样的工作。它还可以在Windows 10 Home Edition上使用。

添加数据类型,内容类型或请求方法无法解决此问题。解决此操作的唯一方法似乎是按照命令运行。

checknetisolation loopbackexempt -a -n =" Microsoft.microsoftEdge_8wekyb3d8bbwe"

如果这是预期的行为,有人可以解释为什么Microsoft会在企业版本上阻止它,但可以在家庭版中使用?

Microsoft Edge和Windows 10应用程序,使用AppContainer隔离:

将应用程序与超越网络资源隔离 特别分配的AppContainer可防止应用程序 "逃脱"其环境并恶意利用网络 资源。可以授予粒状访问以供互联网访问, Intranet访问并充当服务器。

您的薄客户正在Win10 Enterprise Edge在intranet SSL服务(LocalHost(上运行,因此默认情况下,该机制受到限制。使用命令

CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"

您正在禁用该主机上的网络隔离,用于MS Edge的LOOPBACK网络适配器(Localhost(,因此您的应用程序客户端(以及任何其他本地来源的应用程序(可以在不限制任何Localhost服务的情况下运行它。

这在边缘失败,在包括IE11的其他所有浏览器中工作。

他们显然想改善以前版本的默认安全策略。MS永远不会太晚:(实际上有一个增强的受保护模式(EPM(,可以阻止您的应用程序在IE上运行。Chrome拥有其Google Chrome Sandbox,也可以像这样调用。尽管我不熟悉它们的特殊性,但Safari和Firefox也具有沙箱功能。

请注意,如果不涉及SSL,则相同的工作。

通常,如果您使用的是SSL,则是因为您正在处理敏感数据和/或关键服务。如果您不是,那么可以更宽松。同样,只是安全策略的问题。

它也可以在Windows 10 Home Edition上使用。如果这是预期的行为,有人可以解释为什么Microsoft会在企业版本上阻止它,但可以在家庭版上使用?

任何产品的企业版本都更具限制性,因为其目标用户更加安全(人们通常不想向外部攻击者揭露公司的Intranet工资单DB服务,以及类似的事情(。另外,在这种情况下,IT部门的专家可以轻松定义/更改默认行为(查看域安全策略(,因此最好将默认设置留给"偏执型"模式,并让专家根据公司的需求进行调整。

请注意,当您在浏览器上运行稀薄的客户端时,还有其他机制可以使这种保护冗余(相同的域策略,XSS保护等(。然而,人们永远不会太安全:有多种方法可以解决这些防御措施,例如需要在浏览器和本地网络之间进行隔离以避免损害系统的自我XSS。最后,裸露的表面意味着更少的攻击向量,因此,如果您负担得起,隔离是好的:(

相关内容

  • 没有找到相关文章

最新更新