The answer by Chris直奔主题。它解释了什么是cookie,以及为什么它们的配置是正确的。安全扫描器只是工具,它们并不总是正确的--它们的结果需要解释。目前,解决方案只是忽略警告并保持cookie不变。 但是,如果您不需要应用网关上的会话关联性,只需完全关闭cookie。如果您的应用不将会话状态存储在应用服务器上,则不需要它们--它使用共享存储/DB来存储会话状态,它将会话状态存储在客户端(由MAC和可能的时间戳保护),或者它根本没有会话状态。 要关闭会话关联性Cookie,请将Application Gateway resource的properties.backendHttpSettingsCollection.properties.cookieBasedAffinity设置为“Disabled”,例如使用ARM模板、Azure CLI或任何您喜欢的ARM接口。
3条答案
按热度按时间jdgnovmf1#
从Microsoft documentation和this answered question看,这似乎还不可能。他们的页面上说:
某些漏洞扫描可能会标记ApplicationGateway关联性Cookie,因为未设置Secure或HttpOnly标记。这些扫描不考虑Cookie中的数据是使用单向哈希生成的。Cookie不包含任何用户信息,仅用于路由。
我希望同样的功能能够清除我的漏洞扫描仪,但似乎还不可能。
2izufjch2#
请尝试以下命令:
如果您的项目是以
.net framework
为基础,请考虑将下列程式码加入到您的web.config
档案中,以确保您的应用程序所设定的任何Cookie都是HttpOnly
:您也可以手动设置Cookie,如下所示:
e5nszbig3#
The answer by Chris直奔主题。它解释了什么是cookie,以及为什么它们的配置是正确的。安全扫描器只是工具,它们并不总是正确的--它们的结果需要解释。目前,解决方案只是忽略警告并保持cookie不变。
但是,如果您不需要应用网关上的会话关联性,只需完全关闭cookie。如果您的应用不将会话状态存储在应用服务器上,则不需要它们--它使用共享存储/DB来存储会话状态,它将会话状态存储在客户端(由MAC和可能的时间戳保护),或者它根本没有会话状态。
要关闭会话关联性Cookie,请将Application Gateway resource的properties.backendHttpSettingsCollection.properties.cookieBasedAffinity设置为“Disabled”,例如使用ARM模板、Azure CLI或任何您喜欢的ARM接口。