在我的ASP.NET MVC 4应用程序中,我使用第三方服务。该服务的一个使用条款是添加所有会话cookie HttpOnly和Secure属性。
WebSite托管在Windows Azure上,适用于SSL。
我在root web.config中添加了以下设置:
<httpCookies httpOnlyCookies="true" requireSSL="true" lockItem="true"/>
<authentication mode="Forms">
<forms loginUrl="~" timeout="2880" requireSSL="true" />
</authentication>
所以现在我的应用程序会话cookie“.ASPXAUTH”具有HttpOnly和Secure属性。
但Azure Balancer“WAWebSiteSID”和“ARRAffinity”cookie的主要问题是没有这个属性。
你能帮我找到合适的解决方案来为他们添加缺失的属性吗?
答案 0 :(得分:21)
我不相信您可以修改安全和HttpOnly属性,因为Cookie会添加到应用程序下游的响应中(即位于站点前面的负载平衡设备)。
当然,务实的问题是“为什么”?不允许客户端脚本或线路上的MitM访问这些cookie会有什么好处?它们只不过是用于将客户端绑定到站点实例的数据字节,并且不包含任何个人性质,也不为攻击者提供任何可以想象的好处(至少不是我能想到的)。
答案可能是“因为它让安全扫描工具保持高兴”,这可能会让你感到温暖和模糊,但当然它实际上并没有改变网站的实际安全位置。
答案 1 :(得分:0)
截至2017年6月24日,这种情况正在发生变化,ARRAffinity Cookie将在未来使用HttpOnly标志进行设置。 https://github.com/Azure/app-service-announcements/issues/12