Google Cloud 标准应用引擎项目的最低 TLS 版本

Google Cloud 标准应用引擎项目的最低 TLS 版本

我们有多个标准应用引擎项目需要限制 tls 版本(> = 1.2),是否有可以通过控制台进行更改的设置?

答案1

要更改支持的 TLS 版本,需要SSL 策略。SSL 策略仅可应用于 HTTP(S) 负载均衡器和 SSL 代理负载均衡器。

您可以创建一个 HTTP(S) 负载均衡器和一个为 App Engine 配置的后端。这是更改受支持的 TLS 版本的唯一方法。

[更新 2023-08-06]

查看回答由@intotecho 提供有关使用约束的信息。

限制 TLS 版本

答案2

现在有一种方法可以通过组织策略限制 TLS 版本,而无需配置负载均衡器: 限制 TLS 版本的策略

您需要roles/orgpolicy.policyAdmin对其进行配置。

https://console.cloud.google.com/iam-admin/orgpolicies

该政策涵盖 appengine.googleapis.com 和许多 Google API。

在接下来的几个季度里,

“App Engine 前端将‘默认安全’(暂定为 TLS1.2+ 并与 Cloud Load-balancing Modern 配置文件保持一致)參考

正如 @beano 评论的那样,我的测试也证实,这还不适用于 App Engine(目前)。但它适用于 Cloud Storage。

“使用组织政策作为限制 TLS 版本的方式不适用于 App Engine、Cloud Functions、Cloud Run 和自定义域。请参阅受限服务。”

编辑 - App Engine 现在可能正在阻止 TLS1.1!

今天(2023 年 9 月 15 日)进行测试时,App Engine 似乎确实阻止了 TLS1.1

function test_tls_protocol_version() {
  if [ $# -lt 3 ]
  then
    echo "Error in arguments"
    echo "usage:  $0 TLS version bearer url"
    echo "version=$1"
    echo "bearer=$2"
    echo "url=$3"
    exit
  fi
  version="$1"
  bearer="$2"
  url="$3"

  echo Testing TLS Version $'\033[33;5m'$version$'\033[0m' on site: $'\033[33;5m'$url$'\033[0m'
  curl -X GET -H "Authorization: Bearer $bearer" $url --tlsv$version --tls-max $version
}

测试:

test_tls_protocol_version 1.1 $ndpe_uat_bearer "https://<project>.ey.r.appspot.com"

结果是

curl: (35) error:141E70BF:SSL routines:tls_construct_client_hello:no protocols available

而 1.2 正在返回结果。

但是openssl的结果并不确定,这是Qualys使用的测试。

openssl s_client -connect <project_id>.ey.r.appspot.com:443 -tls1
openssl s_client -connect <project_id>.ey.r.appspot.com:443 -tls1_1
openssl s_client -connect <project_id>.ey.r.appspot.com:443 -tls1_2

与 microsoft.com 相比,所有网站都给出了类似的结果

openssl s_client -connect microsoft.com:443 -tls1_1
openssl s_client -connect microsoft.com:443 -tls1_2

相关内容