Amazon Web Services ブログ

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

本記事は 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 に更新する予定です。この更新は、2023 年 6 月 28 日までにすべての AWS リージョンで、すべての AWS API で TLS バージョン 1.0 と 1.1 が使用できなくなることを意味します。この記事では、TLS のバージョンを確認する方法と、この更新に対する準備として何をするべきかをお伝えします。

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

AWS のお客様の 95% 以上が既に 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 は今から 2023 年 6 月までの 1 年間にエンドポイント単位で変更を展開していきます。こうした影響の大きな変更を行う前に、私たちは TLS 1.0 または TLS 1.1 を使用している接続がないか監視を行います。もし影響を受ける可能性のあるお客様がいた場合には、AWS Health Dashboard および電子メールでお知らせします。2023 年 6 月 28 日以降、AWS は API エンドポイントの設定を更新し、TLS 1.0 および TLS 1.1 を使用している接続が残っている場合でも、これらのバージョンを削除する予定です。

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

リスクを最小限に抑えるために、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 のデータをクエリする際には、以下のオプションのいずれかを使用することをお勧めします。

  1. AWS CloudTrail Lake: ブログ記事 Using AWS CloudTrail Lake to identify older TLS connections の手順に従って、TLS 関連のサンプルクエリを使用します。また、AWS CloudTrail Lake コンソールには、TLS バージョンを識別するためのビルトインのサンプルクエリが用意されています。
  2. Amazon CloudWatch Log Insights: 図1に示すように、CloudWatch Log Insights では、ビルトインの 2 つの TLS 関連のサンプルクエリを使用することができます。
     
    Figure 1: Available sample TLS queries for CloudWatch Log Insights

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

  3. Amazon Athena: Amazon Athena で AWS CloudTrail のログをクエリすることができますが、今後数ヶ月の間に CloudTrail ログの中の TLS の値をクエリするためのサポートを追加する予定です。これに関するアップデートやアナウンスは、今後の AWS セキュリティブログの記事でご確認ください。

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 バージョンを適切に設定してください。

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 を参照してください。

Transport Layer Security (TLS) とは?

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

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

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

クライアントソフトウェアを更新できない場合は?

TLS 1.2 または TLS 1.3 を使用するように更新できない場合は、最適なソリューションを検討するために AWS サポートまたはテクニカルアカウントマネージャー (TAM) に連絡してください。

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

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

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