SSL Cookie 中缺少安全标志 (http-cookie-secure-flag)

Posted

技术标签:

【中文标题】SSL Cookie 中缺少安全标志 (http-cookie-secure-flag)【英文标题】:Missing Secure Flag From SSL Cookie (http-cookie-secure-flag) 【发布时间】:2016-01-22 22:20:52 【问题描述】:

我需要专家对我面临的问题发表评论/反馈。我有我正在工作的 Magento 站点之一的 PCI 合规性报告。 (Magento 1.4.1.1)。报告是使用 nexpose

生成的

PCI 报告指出如下。

缺少来自 SSL Cookie 的安全标志 (http-cookie-secure-flag)

说明:

Secure 属性告诉浏览器仅在请求通过 HTTPS 等安全通道发送时才发送 cookie。这将有助于保护 cookie 不被未加密的请求传递。如果应用程序可以通过 HTTP 和 HTTPS 访问,那么 cookie 就有可能以明文形式发送。

报告提到了以下参考 OWASP-2010: A3 和 OWASP-2013: A2

PCI 合规性证据失败:

Cookie 未标记为安全:

'frontend=2tsnh10jssv89cg0a7n93bf4ji1
cmkn0; path=/; httponly;
domain=www.example.com'
URL: https://www.example.com/

建议的解决方案:

对于您网站中通过 SSL 发送的每个 cookie,将“安全”标志添加到 cookie。

所以我的问题是,是否必须处理高风险才能完全符合 PCI 标准?

我在 SO 上进行了搜索,发现 SSL 安全站点上 Magento cookie 中的“安全”标签在哪里? .

1) 您认为提供的解决方案是否足以解决问题?

2) 将升级到higher version of Magento help?

在发行说明中,我们有以下声明

为店面添加了一个安全 cookie 标志,以防止中间人攻击。 Secure 和 Unsecure Web 配置选项没有变化。

如果我们从http 切换到https 连接,那时就没有安全标志了..

【问题讨论】:

本网站用于编程问题,我们不是律师,也不在这里解释许可协议。 不管合规性问题如何,在没有“安全”的情况下提供像“前端”这样的会话 cookie 是一个真正的安全风险,因为它允许中间人攻击击败 HTTPS。 【参考方案1】:

如此处所述: http://blog.elementps.com/element_payment_solutions/2013/12/new-pci-dss-session-management-requirements-.html

新的 PCI DSS 要求将 https cookie 标记为安全。 所以首先你的网站应该使用 SSL 来处理敏感数据。当您使用 SSL 并向客户端发送 cookie 时,您需要将 cookie 标记为 Secure,这样 cookie 将无法通过 HTTP 协议读取。

对于您问题的最后一部分,是的,使用 SSL、标记您的 cookie SecureHttpOnly 应该满足 PCI 要求。

还有一些额外的要求,例如,会话 ID 应该是唯一的,应该正确失效(没有会话固定),没有 URL 上的会话 ID 等,但我认为您没有这些问题。

要解决此问题,您可以尝试: https://community.magento.com/t5/Version-Upgrades/Secure-cookie-flag/td-p/2997 要么 https://github.com/lukanetconsult/mage-secure-cookie

【讨论】:

以上是关于SSL Cookie 中缺少安全标志 (http-cookie-secure-flag)的主要内容,如果未能解决你的问题,请参考以下文章

IBM AppScan - 加密会话 (SSL) Cookie 中缺少安全属性

IBM AppScan 安全扫描:加密会话(SSL)Cookie 中缺少 Secure 属性 处理办法

cookie 中缺少安全属性:WL_PERSISTENT_COOKIE 和 testcookie

.Net 应用程序中的安全标志未设置为 Cookie

在 spring 中自动将安全标志添加到 JSESSIONID cookie

加密会话(SSL) Cookie 中缺少中Secure属性