如何添加到Azure会话Cookie HttpOnly和Secure属性

时间:2013-07-19 16:14:38

标签: asp.net-mvc azure session-cookies

在我的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的主要问题是没有这个属性。

你能帮我找到合适的解决方案来为他们添加缺失的属性吗?

2 个答案:

答案 0 :(得分:21)

我不相信您可以修改安全和HttpOnly属性,因为Cookie会添加到应用程序下游的响应中(即位于站点前面的负载平衡设备)。

当然,务实的问题是“为什么”?不允许客户端脚本或线路上的MitM访问这些cookie会有什么好处?它们只不过是用于将客户端绑定到站点实例的数据字节,并且不包含任何个人性质,也不为攻击者提供任何可以想象的好处(至少不是我能想到的)。

答案可能是“因为它让安全扫描工具保持高兴”,这可能会让你感到温暖和模糊,但当然它实际上并没有改变网站的实际安全位置。

答案 1 :(得分:0)

截至2017年6月24日,这种情况正在发生变化,ARRAffinity Cookie将在未来使用HttpOnly标志进行设置。 https://github.com/Azure/app-service-announcements/issues/12