【问题标题】:Google App Engine Node.js TLS 1.2谷歌应用引擎 Node.js TLS 1.2
【发布时间】:2018-07-02 10:27:00
【问题描述】:

我们的应用程序托管在 Google App Engine Node.js(灵活环境)上。我们现在正在审查安全检查,并在 Google App Engine 支持 TLS 1.0 和 1.1 版本的问题上失败。

有没有办法强制只使用 TLS 1.2?并且还阻止低于 128 位的密码?

【问题讨论】:

  • @DanCornilescu,所以看起来在应用引擎负载均衡器级别,没有办法控制它,对吧?
  • 这也是我的理解。也许技术上不完全是负载均衡器,而是在某个地方,在边缘公共基础设施中为所有云客户端提供服务。
  • 我想我找到了更多信息here。似乎无法自定义向应用引擎 flex 提供请求的 nginx 代理。所以没办法更新 SSL 政策
  • 这个答案中的解释也证实了这一点:stackoverflow.com/a/47617671/4495081

标签: node.js google-app-engine ssl google-cloud-platform tls1.2


【解决方案1】:

所以我也遇到了这个问题……发现 GCP 并没有那么有用。如果提出支持票证,它们将有助于在域级别进行限制......这解决了安全问题......但您仍然会得到需要在每次渗透测试中解释的误报(GAE 共享 IP 接受其他其他域的 TLS 版本)。

为了一个干净的解决方案;使用 Cloudflare 作为您的 DNS。它们本质上充当中间人/Web 应用程序防火墙。除其他外(免费证书、WAF、DDOS 缓解、CDN、HTTPS 强制、HSTS 等),您可以根据需要设置最低 TLS 版本。我的现在最低 TLS 1.2,如果浏览器接受它支持 TLS 1.3。我基本上也只有 GAE 上的端口 80/443 连接到 cloudflare,根本没有公共访问权限,因为所有流量都首先通过 cloudflare。非常整洁 - 零端口向公众开放和一个全面运营的网站!笔试的人只是挠头收拾东西。

哦...仅供参考 - 这种级别的配置是免费的。快乐的安全测试;-)

【讨论】:

  • 现在在 GCP 中有解决这种情况的方法,即serverless NEGs。您将能够在没有共享 IP 和任何您想要的证书的情况下配置自己的端点。
【解决方案2】:

我可以确认您可以向 Google 支持提出请求,并且最多需要 4 周的时间来进行更改。不知道为什么。希望他们将来可以加快速度。但或者,您可以在应用程序层(在中间件中)而不是网络层处理此逻辑。见下面的sn-p:

// using NODEJS + TYPESCRIPT 
// disable tls 1.0 and 1.1 weak ciphers
this.app.use((req, res, next) => {
      // const cipher = ((req.socket) as TLSSocket).getCipher()
      const protocol = ((req.socket) as TLSSocket).getProtocol()
      // console.log('cipher: ', cipher);
      // output eg: { name: 'ECDHE-RSA-AES128-GCM-SHA256', version: 'TLSv1/SSLv3' }
      console.log('protocol: ', protocol);
      // output eg: TLSv1.2

      if (protocol === 'TLSv1.2' || protocol === 'TLSv1.3') {
          next();
      } else {
          res.status(426);
          res.send('request requires TLSv1.2 or greater, please upgrade');
      }
  });

【讨论】:

    【解决方案3】:

    我没有尝试过这个,所以我不能保证它会起作用,但看起来你可以使用HTTP(S) Load BalancerSSL policies are configurable 这样它可能会满足您的安全审查要求。

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2012-06-19
      相关资源
      最近更新 更多