Azure Kubernetes Service (AKS) için güvenilen başlatma (önizleme)

Güvenilir başlatma (önizleme), gelişmiş ve kalıcı saldırı tekniklerine karşı koruma sağlayarak 2. nesil sanal makinelerin (VM) güvenliğini artırır. Yöneticilerin, doğrulanmış ve imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücülerle temel alınan sanal makineleri içeren AKS düğümlerini dağıtmasını sağlar. Yöneticiler, güvenli ve ölçülen önyüklemeyi kullanarak tüm önyükleme zincirinin bütünlüğüne ilişkin içgörüler ve güvenilirlik elde eder.

Bu makale, bu yeni özelliği anlamanıza ve nasıl uygulayabileceğinize yardımcı olur.

Genel bakış

Güvenilir başlatma, bağımsız olarak etkinleştirilebilen çeşitli, eşgüdümlü altyapı teknolojilerinden oluşur. Her teknoloji gelişmiş tehditlere karşı başka bir savunma katmanı sağlar.

  • vTPM - Güvenilen başlatma, TPM 2.0 belirtimi ile uyumlu bir donanım Güvenilen Platform Modülü'ne (TPM) sanallaştırılmış bir sürüm sunar. Anahtarlar ve ölçümler için ayrılmış bir güvenli kasa görevi görür. Güvenilen başlatma, VM'nize herhangi bir VM'nin erişimi dışında güvenli bir ortamda çalışan kendi ayrılmış TPM örneğini sağlar. vTPM, VM'nizin tüm önyükleme zincirini (UEFI, işletim sistemi, sistem ve sürücüler) ölçerek kanıtlamaya olanak tanır. Güvenilen başlatma, bulut tarafından uzaktan kanıtlama gerçekleştirmek için vTPM'yi kullanır. Platform sistem durumu denetimleri ve güvene dayalı kararlar vermek için kullanılır. Sistem durumu denetimi olarak, güvenilir başlatma sanal makinenizin doğru önyüklendiğini şifreli olarak onaylayabilir. İşlem başarısız olursa , büyük olasılıkla VM'niz yetkisiz bir bileşen çalıştırdığı için, Bulut için Microsoft Defender bütünlük uyarıları oluşturur. Uyarılar, hangi bileşenlerin bütünlük denetimlerini geçiremediğine ilişkin ayrıntıları içerir.

  • Güvenli Önyükleme - Güvenilen başlatmanın kökünde VM'niz için Güvenli Önyükleme bulunur. Platform üretici yazılımında uygulanan bu mod, kötü amaçlı yazılım tabanlı rootkit'lerin ve önyükleme setlerinin yüklenmesine karşı koruma sağlar. Güvenli Önyükleme, yalnızca imzalı işletim sistemlerinin ve sürücülerin önyüklenmesini sağlamak için çalışır. VM'nizdeki yazılım yığını için bir "güven kökü" oluşturur. Güvenli Önyükleme etkinleştirildiğinde, tüm işletim sistemi önyükleme bileşenleri (önyükleme yükleyicisi, çekirdek, çekirdek sürücüleri) güvenilir yayımcılar tarafından imzalanmalıdır. Hem Windows hem de belirli Linux dağıtımları Güvenli Önyükleme'yi destekler. Güvenli Önyükleme güvenilir bir yayımcı tarafından imzalanan bir görüntünün kimliğini doğrulayamazsa VM'nin önyüklemesine izin verilmez. Daha fazla bilgi için, bkz. Güvenli Önyükleme.

Başlamadan önce

  • Azure CLI sürüm 2.44.1 veya üzeri. Sürümü bulmak için komutunu az --version çalıştırın ve sürümü yükseltmek için komutunu çalıştırın az upgrade . Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

  • aks-preview Azure CLI uzantısı sürüm 1.0.0b6 veya üzeri.

  • TrustedLaunchPreview Özelliği Azure aboneliğinize kaydedin.

  • AKS, 1.25.2 ve üzeri sürümlerde güvenilir başlatmayı (önizleme) destekler.

  • Güvenilen Başlatma yalnızca Azure 2. Nesil VM'leri destekler.

  • Güvenli Önyükleme için imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücüler gerekir.

aks-preview Azure CLI uzantısını yükleme

Önemli

AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen en iyi çaba temelinde ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:

aks-preview uzantısını yüklemek için aşağıdaki komutu çalıştırın:

az extension add --name aks-preview

Yayımlanan uzantının en son sürümüne güncelleştirmek için aşağıdaki komutu çalıştırın:

az extension update --name aks-preview

TrustedLaunchPreview özellik bayrağını kaydetme

TrustedLaunchPreview Aşağıdaki örnekte gösterildiği gibi az feature register komutunu kullanarak özellik bayrağını kaydedin:

az feature register --namespace "Microsoft.ContainerService" --name "TrustedLaunchPreview"

Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer. az feature show komutunu kullanarak kayıt durumunu doğrulayın:

az feature show --namespace "Microsoft.ContainerService" --name "TrustedLaunchPreview"

Durum Kayıtlı olarak gösterildiğinde az provider register komutunu kullanarak Microsoft.ContainerService kaynak sağlayıcısının kaydını yenileyin:

az provider register --namespace "Microsoft.ContainerService"

Sınırlamalar

  • Windows Server işletim sistemini çalıştıran küme düğümleri desteklenmez.
  • Güvenilen başlatma (önizleme), FIPS etkin veya ARM64 tabanlı düğüm havuzlarını desteklemez.
  • Kullanılabilirlik kümeleri desteklenmez, yalnızca Sanal Makine Ölçek Kümeleri.
  • GPU düğüm havuzlarında Güvenli Önyükleme'yi etkinleştirmek için GPU sürücüsünü yüklemeyi atlamanız gerekir. Daha fazla bilgi için bkz. GPU sürücüsü yüklemesini atlama.
  • Kısa ömürlü işletim sistemi diskleri Güvenilen başlatma ile oluşturulabilir ve tüm bölgeler desteklenir. Ancak, tüm sanal makine boyutları desteklenmez. Daha fazla bilgi için bkz . Güvenilen başlatma kısa ömürlü işletim sistemi boyutları.

Yeni küme dağıtma

Azure CLI kullanarak aks kümesi dağıtmak için aşağıdaki adımları gerçekleştirin.

  1. az aks create komutunu kullanarak bir AKS kümesi oluşturun . Komutu çalıştırmadan önce aşağıdaki parametreleri gözden geçirin:

    • --name: AKS kümesi için myAKSCluster gibi benzersiz bir ad girin.
    • --resource-group: AKS kümesi kaynağını barındırmak için mevcut bir kaynak grubunun adını girin.
    • --enable-secure-boot: Güvenilir bir yayımcı tarafından imzalanan bir görüntünün kimliğini doğrulamak için Güvenli Önyükleme'yi etkinleştirir.
    • --enable-vtpm: vTPM'yi etkinleştirir ve VM'nizin önyükleme zincirinin tamamını ölçerek kanıtlama gerçekleştirir.

    Not

    Güvenli Önyükleme için imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücüler gerekir. Güvenli Önyükleme'yi etkinleştirdikten sonra düğümleriniz başlatılamıyorsa, Azure Linux Sanal Makinesi içindeki Güvenli Önyükleme hatalarından hangi önyükleme bileşenlerinin sorumlu olduğunu doğrulayabilirsiniz. Bkz . Güvenli Önyükleme hatalarını doğrulama.

    Aşağıdaki örnek, myResourceGroup'ta bir düğüme sahip myAKSCluster adlı bir küme oluşturur ve Güvenli Önyükleme ile vTPM'yi etkinleştirir:

    az aks create --name myAKSCluster --resource-group myResourceGroup --node-count 1 --enable-secure-boot --enable-vtpm --enable-managed-identity --generate-ssh-keys
    
  2. Kubernetes kümesinin erişim kimlik bilgilerini almak için aşağıdaki komutu çalıştırın. az aks get-credentials komutunu kullanın ve küme adı ile kaynak grubu adı değerlerini değiştirin.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

Güvenilir başlatma etkin bir düğüm havuzu ekleme

az aks nodepool add komutunu kullanarak güvenilen başlatma etkinleştirilmiş bir düğüm havuzu dağıtın . Komutu çalıştırmadan önce aşağıdaki parametreleri gözden geçirin:

  • --cluster-name: AKS kümesinin adını girin.
  • --resource-group: AKS kümesi kaynağını barındırmak için mevcut bir kaynak grubunun adını girin.
  • --name: Düğüm havuzu için benzersiz bir ad girin. Düğüm havuzunun adı yalnızca küçük harfli alfasayısal karakterler içerebilir ve küçük harfle başlamalıdır. Linux düğüm havuzları için uzunluk 1-11 karakter arasında olmalıdır.
  • --node-count: Kubernetes aracı havuzundaki düğüm sayısı. Varsayılan değer 3'dür.
  • --enable-secure-boot: Güvenilir bir yayımcı tarafından imzalanan görüntünün kimliğini doğrulamak için Güvenli Önyükleme'yi etkinleştirir.
  • --enable-vtpm: vTPM'yi etkinleştirir ve VM'nizin önyükleme zincirinin tamamını ölçerek kanıtlama gerçekleştirir.

Not

Güvenli Önyükleme için imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücüler gerekir. Güvenli Önyükleme'yi etkinleştirdikten sonra düğümleriniz başlatılamıyorsa, Azure Linux Sanal Makinesi içindeki Güvenli Önyükleme hatalarından hangi önyükleme bileşenlerinin sorumlu olduğunu doğrulayabilirsiniz. Bkz . Güvenli Önyükleme hatalarını doğrulama.

Aşağıdaki örnek, üç düğüme sahip myAKSCluster adlı bir kümede vTPM'nin etkinleştirildiği bir düğüm havuzu dağıtır:

az aks nodepool add --resource-group myResourceGroup -–cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm  

Aşağıdaki örnek, üç düğüme sahip myAKSCluster adlı bir kümede vTPM ve Güvenli Önyükleme etkinleştirilmiş bir düğüm havuzu dağıtır:

az aks nodepool add --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --node-count 3 --enable-vtpm --enable-secure-boot

Kümeyi güncelleştirme ve güvenilen başlatmayı etkinleştirme

az aks nodepool update komutunu kullanarak bir düğüm havuzunu güvenilen başlatma etkin olarak güncelleştirin . Komutu çalıştırmadan önce aşağıdaki parametreleri gözden geçirin:

  • --resource-group: Mevcut AKS kümenizi barındıran mevcut bir kaynak grubunun adını girin.
  • --cluster-name: AKS kümesi için myAKSCluster gibi benzersiz bir ad girin.
  • --name: Mynodepool gibi düğüm havuzunuzun adını girin.
  • --enable-secure-boot: Görüntünün güvenilir bir yayımcı tarafından imzalandığını doğrulamak için Güvenli Önyükleme'yi etkinleştirir.
  • --enable-vtpm: vTPM'yi etkinleştirir ve VM'nizin önyükleme zincirinin tamamını ölçerek kanıtlama gerçekleştirir.

Not

Mevcut düğüm havuzunda etkinleştirmek için mevcut düğüm havuzunun güvenilir bir başlatma görüntüsü kullanıyor olması gerekir. Bu nedenle, özelliği kaydetmeden TrustedLaunchPreview önce oluşturulan düğüm havuzları için bunları güvenilir başlatma etkin olarak güncelleştiremezsiniz.

Varsayılan olarak, TL uyumlu bir yapılandırma ve özellik bayrağı kayıtlı bir düğüm havuzu oluşturmak, güvenilir bir başlatma görüntüsüne neden olur. veya --enable-secure-boot parametreleri belirtmeden--enable-vtpm, bunlar varsayılan olarak devre dışı bırakılır ve komutu kullanarak az aks nodepool update daha sonra etkinleştirebilirsiniz.

Not

Güvenli Önyükleme için imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücüler gerekir. Güvenli Önyükleme'yi etkinleştirdikten sonra düğümleriniz başlatılamıyorsa, Azure Linux Sanal Makinesi içindeki Güvenli Önyükleme hatalarından hangi önyükleme bileşenlerinin sorumlu olduğunu doğrulayabilirsiniz. Bkz . Güvenli Önyükleme hatalarını doğrulama.

Aşağıdaki örnek, myResourceGroup'taki myAKSCluster üzerindeki mynodepool düğüm havuzunu güncelleştirir ve Güvenli Önyükleme ile vTPM'yi etkinleştirir:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --enable-secure-boot --enable-vtpm 

Güvenilen başlatma etkin düğümlere pod atama

Bir podu kısıtlayabilir ve belirli bir düğümde veya düğümlerde çalışacak şekilde kısıtlayabilir ya da güvenilen başlatma etkin düğümlerle tercih edebilirsiniz. Pod bildiriminizde aşağıdaki düğüm havuzu seçicisini kullanarak bunu denetleyebilirsiniz.

vTPM çalıştıran bir düğüm havuzu için aşağıdakileri uygulayın:

spec:
  nodeSelector:
        kubernetes.azure.com/trusted-launch: true

Güvenli Önyükleme çalıştıran bir düğüm havuzu için aşağıdakileri uygulayın:

spec:
  nodeSelector:
        kubernetes.azure.com/secure-boot: true

Güvenli Önyüklemeyi Devre Dışı Bırak

AKS kümesinde Güvenli Önyükleme'yi devre dışı bırakmak için aşağıdaki komutu çalıştırın:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-secure-boot 

Not

Güncelleştirmeler otomatik olarak bir düğüm yeniden görüntüsünü başlatır ve bu işlem düğüm başına birkaç dakika sürebilir.

vTPM'yi devre dışı bırakma

AKS kümesinde vTPM'yi devre dışı bırakmak için aşağıdaki komutu çalıştırın:

az aks nodepool update --cluster-name myCluster --resource-group myResourceGroup --name mynodepool --disable-vtpm

Sonraki adımlar

Bu makalede, güvenilir başlatmayı etkinleştirmeyi öğrendiniz. Güvenilir başlatma hakkında daha fazla bilgi edinin.