Amazon Web Services ブログ

TLS 1.2 がすべての AWS API エンドポイントへの接続に必要な最小バージョンになります

2023年12月12日に、原文のブログ記事の更新にあわせて、内容を更新しました。
2023年3月9日に、AWS CloudTrail Lake の記載について一部内容を更新しました。

2023年9月28日: AWS GovCloud (US) が完了し、AWS はすべての AWS GovCloud (US) パブリック API エンドポイントで TLS 1.2 以上の使用を強制します。

2023年6月1日: このブログ記事は、主要な日付を明確にするためにタイムラインを追加するために更新されました。AWS ワークロードの中断を避けるためには、TLS 1.0/1.1のソフトウェアクライアントを遅くとも2023年6月28日までにアップデートする必要があります。

2023年5月23日: この記事は、現在から2023年12月31日までの間に、AWS API エンドポイントを TLS 1.2 の最小ポリシーに徐々に更新し続けていることを示すために修正されました。また、TLS 1.3 を有効にするための取り組みを発表した新しいブログ記事への参照も追加しました。

2023年4月25日: このブログ記事を更新し、より多くのセキュリティ学習リソースを追加しました。

2023年4月5日: この記事は、新しく録画されたOur AWS Supports You | Updating Your Clients to TLS 1.2 session」のセッションを視聴するための新しい参照先を追加しました。また、S3 のお客様がリスクにさらされているかどうかを分析するために、Amazon S3 のサーバーアクセスログを使用するためのオプションを追加しました。最後に、古い TLS の使用を特定するために発生する可能性のある費用に関する詳細情報を参照するために、AWS の料金ページへのリンクを追加しました。

本記事は TLS 1.2 to become the minimum TLS protocol level for all AWS API endpoints を翻訳したものです。

アマゾン ウェブ サービス (AWS) では、セキュリティに最も配慮している組織の要件を満たすクラウドコンピューティング環境を提供するために、継続的に技術革新を行っています。そのひとつとして今後 Transport Layer Security (TLS) の技術の進化と規制基準に対応するため、すべての AWS サービス API エンドポイントの TLS 構成において、最小バージョンを TLS 1.2 に更新する予定です。この更新は、接続に TLS バージョン 1.2 以上を使用する必要があることを意味し、2023 年 12 月 31 日までに完了するよう、引き続き段階的に展開されます。この記事では、TLS のバージョンを確認する方法と、この更新に対する準備として何をするべきかをお伝えします。

Figure 1: TLS Deprecation timeline

図1: TLS 廃止のタイムライン

AWS では、組み込み機器など、古いクライアントやアップデートが困難なクライアントを持つお客様の後方互換性を維持するため、TLS バージョン 1.0 および 1.1 のサポートを継続してきました。さらに、これらの古いバージョンで確認された問題に対して、お客様のデータを保護するための積極的な緩和策を実施しています。TLS 1.0 および 1.1 を廃止する適切なタイミングは今です。なぜなら、規制遵守を簡素化するためにこの変更を要求するお客様が増えており、これらの古いバージョンを使用するお客様が少なくなってきているためです。

AWS のお客様の 99% 以上が既に TLS 1.2 以降を使用しています。もしお客様がこの中に含まれていれば、この変更の影響はありません。AWS Software Development Kit (AWS SDK)AWS Command Line Interface (AWS CLI)Java Development Kit (JDK) 8 以降、またはその他の最新の開発環境を使用して 2014 年以降に構築されたクライアントソフトウェアアプリケーションは、ほぼ確実に TLS 1.2 以降を使用していると思われます。それ以前のバージョンのアプリケーションを使用している場合、または 2014 年以前から開発環境を更新していない場合は、更新が必要になる可能性が高いです。

TLS 1.0 または 1.1 を使用しているお客様は、今後も接続できるようにするために、TLS 1.2 以降を使用するようにクライアントソフトウェアを更新する必要があります。接続時に使用される TLS バージョンを制御しているかどうかを確認することも重要です。AWS の API エンドポイントに接続する際には、クライアントソフトウェア側から使用したい TLS バージョンを提示し、AWS 側では相互に合意した最新のバージョンを使用します。

TLS 1.2 を要件とすることによる可用性への影響を最小限に抑えるため、AWS はエンドポイントごとに変更を継続的に展開しています。こうした影響の大きな変更を行う前に、私たちは TLS 1.0 または TLS 1.1 を使用している接続がないか監視を行います。もし影響を受ける可能性のあるお客様がいた場合には、AWS Health Dashboard および電子メールでお知らせします。2023 年 6 月 28 日以降、AWS は API エンドポイントの設定を更新し、TLS 1.0 および TLS 1.1 を使用している接続が残っている場合でも、これらのバージョンを削除する予定です。

私たちは、AWS re:Inforce 2022 からこのプロジェクトに関するビデオプレゼンテーション「Uplifting AWS service API data protection to TLS 1.2+」を公開しています。

この更新に対して、どのような準備をすればよいですか?

リスクを最小限に抑えるために、TLS 1.0 または 1.1 を使用している接続があるかどうかをお客様自身で確認することができます。TLS 1.0 または 1.1 を使用している接続が見つかった場合、TLS 1.2 以降を使用するようにクライアントソフトウェアを更新する必要があります。

AWS CloudTrail レコードは、古い TLS バージョンを使用しているかどうかを特定するのに非常に役立ちます。最近追加された tlsDetails フィールドを使用して、接続に使用された TLS バージョンを検索できるようになりました。CloudTrail レコードの tlsDetails 構造体には、TLS バージョン、暗号スイート、API コールにおいてクライアントの提示したホスト名 (通常はサービスエンドポイントの完全修飾ドメイン名 (FQDN)) が含まれています。このレコード内のデータを使用して、TLS 1.0 または 1.1 の接続を実施しているクライアントソフトウェアを特定し、その更新をすることができます。AWS サービスの半数以上が現在 CloudTrail の tlsDetails フィールドで TLS の情報を提供しており、今後数ヶ月で残りのサービスに対してもこれを展開していく予定です。CloudTrail レコード内の TLS のデータをクエリする際には、以下のオプションのいずれかを使用することをお勧めします。これらのオプションには費用が発生する場合がありますので、AWSの料金ページで該当するサービスの料金をご確認ください。

  1. AWS CloudTrail Lake: ブログ記事 Using AWS CloudTrail Lake to identify older TLS connections の手順に従って、TLS 関連のサンプルクエリを使用します。また、AWS CloudTrail Lake コンソールには、TLS バージョンを識別するためのビルトインのサンプルクエリが用意されています。CloudTrail Lake で S3 からイベントをインポートする際にはコストがかかります。事前にCloudTrail の料金ページで料金の例をご確認ください。
  2. Amazon CloudWatch Log Insights: 図2に示すように、CloudWatch Log Insights では、ビルトインの 2 つの TLS 関連のサンプルクエリを使用することができます。

    Figure 1: Available sample TLS queries for CloudWatch Log Insights

    図2: CloudWatch Log Insights で使用できる TLS のサンプルクエリ

  3. Amazon Athena: Amazon Athena で AWS CloudTrail のログをクエリすることができ、2022 年 11 月に CloudTrail ログの TLS 値をクエリするサポートを追加しました。
  4. Amazon S3 サーバーアクセスログは、Amazon S3 を利用するお客様のためのオプションで、GetObjectのようなデータ接続を含む、S3 バケットへの詳細なリクエストを表示することができます。

CloudTrail のデータを使用することに加えて、ブログ記事 TLS 1.2 will be required for all AWS FIPS endpoints で説明されているように、コード、ネットワーク、ログ分析を実行することによって、接続に使用されている TLS バージョンを特定することも可能です。この記事では FIPS API エンドポイントに言及していますが、TLS バージョンのクエリに関する情報はすべての API エンドポイントに適用することができます。

TLS 1.0 または 1.1を使用している場合に、通知されますか?

TLS 1.0 または 1.1 を使用していることが検出された場合、お客様は AWS Health Dashboard で通知され、電子メールによる通知も受け取ります。ただし、Amazon Simple Storage Service (Amazon S3) の公開バケットなど、AWS の共有リソースに匿名で行った接続については、匿名の接続を識別できないため、通知を受け取ることはありません。また、すべてのお客様を特定し通知するよう努めますが、月 1 回以下の接続など、頻度の低い接続は検知できない可能性があります。

TLS バージョンを 1.2 または 1.3 に更新するには、どのようにすればよいですか?

AWS Software Development Kit (AWS SDK) または AWS Command Line Interface (AWS CLI) を使用している場合は、ブログ記事 TLS 1.2 to become minimum for FIPS endpoints に記載されているガイダンスに従い、クライアントソフトウェアのコードを調査し、TLS バージョンを適切に設定してください。また、AWS re:Inforce 2022 のプレゼンテーション Uplifting AWS service API data protection to TLS 1.2+ (DPP202) では、クライアントの TLS バージョンの特定とアップデートに関する情報も提供されています。

TLS バージョンの更新は、可用性に影響が及ぶ前に積極的に対応されることをお勧めします。また、本番環境で設定変更を実施する前に、ステージング環境にてテストすることをお勧めします。

TLS 1.0 または 1.1 が使用される一般的な例はどのようなものですか?

TLS 1.0 または 1.1 が使用される最も一般的な例は、.NET Framework のバージョンが 4.6.2 より前のものを使用している場合です。.NET Framework を使用している場合は、バージョン 4.6.2 以降を使用しているかどうか確認してください。TLS 1.2 をサポートするために .NET Framework を更新し設定する方法については、.NET Configuration Manager ドキュメントの How to enable TLS 1.2 on clientsこの re:post の記事を参照してください。

Transport Layer Security (TLS) とは?

Transport Layer Security (TLS) は、インターネット通信を保護するための暗号化プロトコルです。クライアントソフトウェアは、サービスエンドポイントに接続する際に、TLS バージョン 1.0、1.1、1.2、1.3、またはこれらのサブセットを使用するように設定することができます。クライアントソフトウェアが TLS 1.2 以降をサポートしていることを確認する必要があります。TLS 1.3 への取り組みについては、2023 年 5 月 23 日のブログ記事をご覧ください。

TLS バージョンの確認や更新をするための追加支援を受けることはできますか?

このビデオ「Our AWS Supports You: Updating Your Clients to TLS 1.2 session」では、今後の変更についての詳細、AWS CloudTrail Lake のウォークスルー、ソフトウェアクライアントをアップデートする方法についてのガイダンスを提供しています。

質問や問題がある場合は、AWS re:Post コミュニティで新しいスレッドを立ち上げるか、AWS サポートまたはテクニカルアカウントマネージャ (TAM) に連絡することができます。また、AWS IQ を使用して、TLS クライアントコンポーネントを更新するためのオンデマンドの支援を提供する AWS 認定のサードパーティエキスパートを見つけ、安全に協力し、支払いを行うこともできます。リクエストの送信、エキスパートからの回答の取得方法、適切なスキルと経験を持つエキスパートの選択方法については、AWS IQ のページを参照してください。AWS Management Console にサインインし、Get Started with AWS IQ を選択してリクエストを開始します。

お客様が TLS 1.0 または TLS 1.1 を使用してコンテンツにアクセスをする Amazon Simple Storage Service (Amazon S3) バケットを所有している場合、この AWS Knowledge Base のガイダンス「TLS 1.2 以上を使用しないお客様に対して、Amazon S3 バケットへのアクセスを許可する方法」に従うことができます。また、この AWS Knowledge Base のガイダンスに従って、S3 バケットへのすべての接続に TLS 1.2 以上の使用を強制することもできることに注意してください。

この記事についてのフィードバックがあれば、以下のコメント欄にコメントを投稿してください。

AWS Security のハウツーコンテンツ、ニュース、機能に関するお知らせをもっと知りたいですか?Twitter でフォローしてください。

翻訳は Security Specialist TAM の飯島 卓也が担当しました。原文はこちらです。