【问题标题】:Secure flag on Google Cloud Load Balancer cookieGoogle Cloud Load Balancer cookie 上的安全标志
【发布时间】:2019-05-24 02:37:15
【问题描述】:

我们的 GCP 负载均衡器设置为使用 cookie 会话亲和性路由到我们的后端服务。它工作正常,但未设置安全标志。我们已尝试根据 RFC 7230 指定它:

Set-Cookie: Secure

理论上可以在后端服务自定义请求标头上配置标头。后端服务说明:

gcloud beta compute backend-services describe my-backend-service --global

customRequestHeaders:
- 'Set-Cookie: Secure'
description: ''
enableCDN: false
fingerprint: XXXXXX-XX
healthChecks:
- https://www.googleapis.com/compute/beta/projects/my-project/global/healthChecks/my-check
id: 'XXXXXXXXXXXXXXX'
kind: compute#backendService
loadBalancingScheme: EXTERNAL
name: my-backend-service
port: 80
portName: http
protocol: HTTP
selfLink: https://www.googleapis.com/compute/beta/projects/my-project/global/backendServices/my-backend-service
sessionAffinity: GENERATED_COOKIE
timeoutSec: 300

但是 GLCB cookie 仍然没有显示安全标志。

我们做错了什么?

提前致谢。

【问题讨论】:

  • 您的后端需要设置为 HTTPS。您的后端正在使用 HTTP。

标签: cookies google-cloud-platform cloud google-compute-engine


【解决方案1】:

确保传递给 UriCookieConfig 的值是 HTTP 而不是 https。切换到 https 将 set-cookie 更改为安全且可能会解决您的问题。

设置 cookie 时,cookie 没有设置安全属性,但不是因为它是通过 HTTP 设置的(虽然也不理想)。 set-cookie 标头中的安全标志指示客户端仅通过安全通道(例如 https)发回 cookie。当请求不安全时,它会重定向到 https:

有关设置安全标志的更多详细信息,请参阅以下文档:

https://www.owasp.org/index.php/SecureFlag https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https

【讨论】:

    猜你喜欢
    • 2021-07-28
    • 2019-04-28
    • 2016-12-05
    • 1970-01-01
    • 2014-02-03
    • 2018-12-19
    • 2018-03-25
    • 2018-02-03
    • 1970-01-01
    相关资源
    最近更新 更多