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