Azure Kubernetes Service (AKS) için güvenilir başlatma
Güvenilen başlatma , gelişmiş ve kalıcı saldırı tekniklerine karşı koruyarak 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.66.0 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ınaz upgrade
. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. - Güvenli Önyükleme için imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücüler gerekir.
Sınırlamalar
- AKS, 1.25.2 ve üzeri sürümlerde güvenilir başlatmayı destekler.
- Güvenilen Başlatma yalnızca Azure 2. Nesil VM'leri destekler.
- Windows Server işletim sistemini çalıştıran küme düğümleri desteklenmez.
- Güvenilen başlatma, FIPS etkinleştirilmiş veya Arm64 tabanlı düğüm havuzlarını desteklemez.
- Güvenilen Başlatma sanal düğümü 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.
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 \ --generate-ssh-keys
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
Varsayılan olarak, TL uyumlu yapılandırmaya sahip 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. 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.
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 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.
Azure Kubernetes Service