🔐

AKS × Azure リソース間の通信で使われる TLS バージョンを調べる方法

に公開

はじめに

Azure で 2024 年 10 月 31 日にセキュリティ脆弱性が原因で TLS 1.0/1.1 が廃止されることが発表されました。
そこで、この記事では、AKS の Pod から他の Azure リソースへの通信に使用している、TLS バージョンを確認する方法についてご紹介いたします。

用語解説

TLS とは、Transport Layer Security の略で、インターネット上でデータを安全に送受信するための、暗号化の仕組みです。
現在、TLS 1.2 以降が主に使用されています。

前提条件

  • 動作を確認した環境: Kubernetes バージョン 1.31.8 の AKS クラスター
  • コマンドを実行した環境: Azure Cloud Shell

必要な準備

  1. AKS を起動する。
  2. 以下のコマンドより、kubectl コマンドを実行するために必要な、クラスター資格情報をダウンロードする。
az aks get-credentials -g "リソースグループ名" -n "AKS の名称"

TLS バージョンを確認する手順について

  1. Ubuntu イメージにてテスト用の Pod を作成します。
kubectl run ubuntu --image ubuntu -- sleep 36000
  1. テスト用の Pod に接続します。
kubectl exec -it ubuntu -- bin/sh
  1. コンテナーに Curl コマンドをインストールします。
apt update
apt install curl
  1. 通信先の Azure リソースのエンドポイントに対して、Curl コマンドを実行します。
#エンドポイントはサンプルです。
curl -Iv https://microsoft.com
  1. 実行結果の例を以下に記載いたします。
Connected to microsoft.com (**.***.***.**) port 443
ALPN: curl offers h2,http/1.1
TLSv1.3 (OUT), TLS handshake, Client hello (1): #こちらの部分で確認が可能です。
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.3 (IN), TLS handshake, Server hello (2): #こちらの部分で確認が可能です。

まとめ

この記事では、AKS にテスト用の Pod を作成して、Curl コマンドで TLS バージョンを確認する方法について、ご紹介いたしました。

おわりに

今後も、AKS 関連の記事を書いていきますので、いいね、並びに Zenn と X のフォローをどうぞよろしくお願いいたします。

Discussion