14

在我的 ASP.NET MVC 4 应用程序中,我使用了第三方服务。该服务的使用条款之一是向所有会话 cookie 添加 HttpOnly 和 Secure 属性。

网站托管在 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 平衡器“WAWebSiteSID”和“ARRAffinity”cookie 没有这个属性的主要问题。

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

4

2 回答 2

24

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

当然,务实的问题是“为什么”?如果不允许客户端脚本或网络上的中间人访问这些 cookie,您将获得什么好处?它们只不过是旨在将客户端与站点实例联系起来的数据字节,不包含任何个人性质的内容,也不为攻击者提供任何可以想象的好处(至少不是我能想到的)。

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

于 2013-12-24T23:32:01.103 回答
0

自 2017 年 6 月 24 日起,这种情况正在发生变化,ARRAffinity cookie 将在未来设置为 HttpOnly 标志。https://github.com/Azure/app-service-announcements/issues/12

于 2017-07-27T13:21:34.583 回答