亚马逊AWS官方博客
TLS 1.2将成为亚马逊云科技API端点的最低TLS协议级别
在亚马逊云科技,我们通过持续的创新来提供一个可靠的云上环境,以帮助大多数对安全敏感的公司满足云上安全与合规要求。为了更好的响应针对传输层安全(TLS)不断发展的技术与监管标准,我们计划将所有亚马逊云科技服务。本次更新意味着您将无法继续在亚马逊云科技所有区域的API中使用TLS 1.0和1.1版本。在本文中,我们将为您介绍如何检查您的TLS版本,以及需要做哪些准备以应对此次更新。
为保持向后兼容性,过去我们一直在亚马逊云科技上提供对 TLS 1.0 和 1.1 版本的支持,以使那些还在使用旧客户端或难以更新客户端(例如嵌入式设备)的客户可以正常使用。同时,我们还采取了积极的缓解措施,保护您的数据免受旧版本中发现的问题的影响。现在,正是退役 TLS 1.0 和 1.1 版本的最佳时机。越来越多的客户要求进行这一更改,以帮助简化他们的部分合规性工作,并且使用旧版本的客户也越来越少。
超过95% 的亚马逊云科技客户已经在使用TLS 1.2或更高版本,如果您也是其中之一,那么您将不会受到这一变化的影响。如果您的客户端软件是在2014年之后使用亚马逊云科技软件开发工具包(Amazon SDK)、亚马逊云科技命令行界面(Amazon CLI)、Java开发工具包(JDK)8或更高版本、或其他现代开发环境,那么几乎可以肯定您已经在使用TLS 1.2或更高版本。如果您目前使用的是较早版本的应用,或者自2014年之前就没有更新过您的开发环境,那么您可能需要进行相应的更新。
如果您是目前仍在使用TLS 1.0或1.1的客户,为了保持您的正常连接与使用,您需要更新您的客户端以支持TLS 1.2或更高版本。值得注意的是,您已经可以控制连接时所使用的当连接到亚马逊云科技API端点时,您的客户端会协商其首选的TLS版本,而亚马逊云科技将始终选择双方商定的最高版本。
为最大限度地减少实施最低支持版本TLS 1.2对可用性的影响,从现在启至2023年6月,亚马逊云科技将逐个端点推动此变更。在进行这些潜在的重大变更之前,我们会监控仍在使用TLS 1.0或TLS 1.1版本所进行的连接。如果您是可能受到影响的亚马逊云科技客户之一,我们将通过您的亚马逊云科技Health Dashboard以及电子邮件的方式进行通知。
您还可以观看我们在亚马逊云科技 re:Inforce 2022的中的视频演讲,了解更多关于此次变更的信息:Uplifting AWS service API data protection to TLS 1.2+ (DPP202)
您应该做哪些准备以应对此次更新?
为了最大限度地降低风险,您可以自行检查是否有任何连接使用了TLS 1.0或1.1 版本。如果您发现了使用了TLS 1.0或1.1,您应该更新您的客户端以使用TLS 1.2或更高版本。
Amazon CloudTrail记录 可以切实有效地帮助确定您是否正在使用过时的 TLS 版本。通过使用最近添加的tlsDetails字段,您可以搜索所使用的TLS版本信息。每条CloudTrail记录中的tlsDetails结构都包含TLS版本信息、密码套件和服务API调用中使用的客户端提供的主机名,通常是服务端点的完全限定域名(FQDN)。您还可以使用记录中的数据帮助您查明负责调用TLS 1.0或1.1的客户端软件,并对其进行更新。目前,超过一半的亚马逊云科技服务都支持在 CloudTrail tlsDetails字段中提供TLS信息,我们也将在未来几个月内陆续为其余服务推出这一功能。
我们建议您使用以下选项之一来运行CloudTrail TLS查询:
- Amazon CloudTrail Lake:您可以按照Using Amazon CloudTrail Lake to identify older TLS connections中提供的步骤,并使用TLS查询样本。在Amazon CloudTrail Lake控制台中,还有一个内置的CloudTrail TLS查询样本。
- Amazon CloudWatch Log Insights:如图1所示,您可以使用两个内置的CloudWatch Log Insights示例性CloudTrail TLS 查询。
图1:可用的CloudWatch Log Insights示例性TLS查询
3. Amazon Athena:您可以在 Amazon Athena 中查询 CloudTrail logs,并且在2022年11月,我们在CloudTrail logs中增加了对TLS版本详细信息的支持。
除了使用CloudTrail数据,如TLS 1.2 will be required for all AWS FIPS endpoints所述,您还可以通过执行代码、网络或日志分析来确定连接使用的TLS版本。请注意,虽然这篇文章提到了FIPS API端点,但有关查询TLS版本的信息适用于所有API端点。
如果我使用的是TLS 1.0或TLS 1.1,我是否会收到通知?
如果我们检测到您正在使用 TLS 1.0 或 1.1,那么您会在 亚马逊云科技 Health Dashboard上收到通知,同时您也将收到电子邮件通知。但是,由于我们无法识别匿名的连接,所以如果您以匿名方式连接到亚马逊云科技共享资源,例如公共的Amazon Simple Storage Service(Amazon S3)存储桶,那么您将不会收到通知。此外,虽然我们会尽一切努力识别并通知每一位用户,但我们有可能无法检测到不频繁地连接,例如那些少于每月一次的连接。
如何更新我的客户端以使用 TLS 1.2 或 TLS 1.3?
如果您使用的是亚马逊云科技软件开发工具包(Amazon SDK)或亚马逊云科技命令行界面(Amazon CLI),请参考文章“”中关于如何检查客户端软件代码并正确配置TLS版本的详细指导。在亚马逊云科技re:Inforce 2022演讲中,我们也提供了关于识别和更新您客户端中TLS版本的相关信息:Uplifting AWS service API data protection to TLS 1.2+ (DPP202)。
TLS 1.0或TLS 1.1的最常见用途是什么?
TLS 1.0或1.1最常用于早于4.6.2的 .NET Framework版本。如果您使用 .NET Framework,请确认您使用的是4.6.2或更高版本。关于如何更新和配置 .NET Framework以支持TLS 1.2的相关信息,请参见 .NET Configuration Manager文档:How to enable TLS 1.2 on clients。
什么是传输层安全(TLS)?
传输层安全(TLS)是一种用于保护互联网通信的加密协议。在连接服务端点时,您的客户端软件可以设置为使用TLS 1.0、1.1、1.2、1.3版本,或者这些版本的子集。您需要确保您的客户端软件可以支持TLS 1.2或更高版本。
是否提供更多可以帮助我验证或更新客户端软件的帮助?
如果您有任何问题或疑虑,您可以在亚马逊云科技 re:Post社区上启动一个新的同主题帖子,或者联系亚马逊云科技支持团队或您的技术客户经理(TAM)。
此外,您还可以使用亚马逊云科技 IQ查找经过亚马逊云科技认证的第三方专家,与他们进行安全的协作,获取您所需的帮助并支付相关费用,以协助您更新TLS客户端组件。如果您需要了解如何提交请求、获得专家的回应、以及如何选择具有适当技能和经验的专家,请参见亚马逊云科技 IQ页面。您可以登录亚马逊云科技管理控制台,选择“Get Started with AWS IQ”提交请求。
如果我无法更新我的客户端软件怎么办?
如果您无法更新客户端以使用TLS 1.2或TLS 1.3,请联系亚马逊云科技支持团队或您的技术客户经理(TAM),我们将与您一起商定最佳解决方案。