Azure Kubernetes Service’teki (AKS) uygulamalar ve kümeler için güvenlik kavramları

Kapsayıcı güvenliği, derlemeden Azure Kubernetes Service'te (AKS) çalışan uygulama iş yüklerine kadar uçtan uca işlem hattının tamamını korur.

Güvenli Tedarik Zinciri derleme ortamını ve kayıt defterini içerir.

Kubernetes, pod güvenlik standartları ve Gizli Diziler gibi güvenlik bileşenlerini içerir. Azure; Active Directory, Kapsayıcılar için Microsoft Defender, Azure İlkesi, Azure Key Vault, ağ güvenlik grupları ve düzenlenmiş küme yükseltmeleri gibi bileşenleri içerir. AKS bu güvenlik bileşenlerini şu şekilde birleştirir:

  • Eksiksiz bir kimlik doğrulaması ve yetkilendirme hikayesi sağlayın.
  • Uygulamalarınızın güvenliğini sağlamak için AKS Yerleşik Azure İlkesi uygulayın.
  • Kapsayıcılar için Microsoft Defender ile uygulamanız aracılığıyla derlemeden Uçtan Uca içgörü.
  • AKS kümenizin en son işletim sistemi güvenlik güncelleştirmelerini ve Kubernetes sürümlerini çalıştırmasını sağlayın.
  • Güvenli pod trafiği ve hassas kimlik bilgilerine erişim sağlayın.

Bu makalede AKS'deki uygulamalarınızın güvenliğini sağlayan temel kavramlar açıklanır.

Derleme Güvenliği

Tedarik Zinciri'nin giriş noktası olarak, görüntü derlemelerinin işlem hattına yükseltilmeden önce statik analizinin yapılması önemlidir. Buna güvenlik açığı ve uyumluluk değerlendirmesi dahildir. Geliştirmeyi bozan bir güvenlik açığı olduğundan derlemenin başarısız olmasıyla ilgili değildir. Geliştirme ekipleri tarafından eyleme dönüştürülebilen güvenlik açıklarına göre segmentlere ayırmak için Satıcı Durumu'na bakmaktır. Ayrıca, geliştiricilerin belirlenen sorunları düzeltmek için zaman tanıyabilmesi için Yetkisiz Kullanım Sürelerini kullanın.

Kayıt Defteri Güvenliği

Kayıt defterindeki görüntünün güvenlik açığı durumunun değerlendirilmesi kaymayı algılar ve ayrıca derleme ortamınızdan gelmeyen görüntüleri yakalar. Noter V2'yi kullanarak dağıtımların güvenilir bir konumdan gelmesini sağlamak için resimlerinize imza ekleyin.

Küme güvenliği

AKS'de Kubernetes ana bileşenleri Microsoft tarafından sağlanan, yönetilen ve bakımı yapılan yönetilen hizmetin bir parçasıdır. Her AKS kümesinin API Sunucusu, Zamanlayıcı vb. sağlamak için kendi tek kiracılı, ayrılmış Kubernetes ana şablonu vardır. Daha fazla bilgi için bkz . Azure Kubernetes Service için güvenlik açığı yönetimi.

Varsayılan olarak, Kubernetes API sunucusu bir genel IP adresi ve tam etki alanı adı (FQDN) kullanır. Yetkili IP aralıklarını kullanarak API sunucusu uç noktasına erişimi sınırlayabilirsiniz. Api sunucusu erişimini sanal ağınıza sınırlamak için tam olarak özel bir küme de oluşturabilirsiniz.

Kubernetes rol tabanlı erişim denetimi (Kubernetes RBAC) ve Azure RBAC kullanarak API sunucusuna erişimi denetleyebilirsiniz. Daha fazla bilgi için bkz . AKS ile Microsoft Entra tümleştirmesi.

Düğüm güvenliği

AKS düğümleri, yönettiğiniz ve bakımını yaptığınız Azure sanal makineleridir (VM'ler).

  • Linux düğümleri Ubuntu veya Azure Linux'un iyileştirilmiş sürümlerini çalıştırır.
  • Windows Server düğümleri, veya Docker kapsayıcı çalışma zamanını kullanarak containerd iyileştirilmiş bir Windows Server 2019 sürümü çalıştırır.

AKS kümesi oluşturulduğunda veya ölçeklendirildiğinde düğümler en son işletim sistemi güvenlik güncelleştirmeleri ve yapılandırmalarıyla otomatik olarak dağıtılır.

Not

AKS kümeleri çalışıyor:

  • Kubernetes sürüm 1.19 ve üzeri - Linux düğüm havuzları kapsayıcı çalışma zamanı olarak kullanılır containerd . Windows Server 2019 düğüm havuzları, şu anda önizleme aşamasında olan kapsayıcı çalışma zamanı olarak kullanılır containerd . Daha fazla bilgi için bkz . ile containerdWindows Server düğüm havuzu ekleme.
  • Kubernetes sürüm 1.19 ve öncesi - Linux düğüm havuzları kapsayıcı çalışma zamanı olarak Docker kullanır. Windows Server 2019 düğüm havuzları, varsayılan kapsayıcı çalışma zamanı için Docker kullanır.

Linux ve Windows çalışan düğümleri için güvenlik yükseltme işlemi hakkında daha fazla bilgi için bkz . Güvenlik düzeltme eki uygulama düğümleri.

Azure 2. Nesil VM'leri çalıştıran AKS kümeleri, güvenli önyükleme ve güvenilir platform modülünün (vTPM) sanallaştırılmış sürümü gibi bağımsız olarak etkinleştirilebilen teknolojileri birleştirerek gelişmiş ve kalıcı saldırı tekniklerine karşı koruma sağlayan Güvenilen Başlatma (önizleme) desteği içerir. Yönetici istrator'lar, temel alınan VM'nin tüm önyükleme zincirinin bütünlüğünü sağlamak için doğrulanmış ve imzalı önyükleme yükleyicileri, işletim sistemi çekirdekleri ve sürücülerle AKS çalışan düğümlerini dağıtabilir.

Düğüm yetkilendirmesi

Düğüm yetkilendirmesi, Kubelet API isteklerini Doğu-Batı saldırılarına karşı koruma için özel olarak yetki veren özel amaçlı bir yetkilendirme modudur. Aks 1.24 + kümelerinde düğüm yetkilendirmesi varsayılan olarak etkindir.

Düğüm dağıtımı

Düğümler, genel IP adresleri atanmamış özel bir sanal ağ alt ağına dağıtılır. Sorun giderme ve yönetim amacıyla SSH varsayılan olarak etkinleştirilir ve yalnızca iç IP adresi kullanılarak erişilebilir. Küme ve düğüm havuzu oluşturma sırasında veya mevcut bir küme veya düğüm havuzu için SSH'nin devre dışı bırakılması önizleme aşamasındadır. Daha fazla bilgi için bkz . SSH erişimini yönetme.

Düğüm depolama

Düğümler depolama sağlamak için Azure Yönetilen Diskler kullanır. Çoğu VM düğümü boyutu için Azure Yönetilen Diskler, yüksek performanslı SSD'ler tarafından yedeklenen Premium disklerdir. Yönetilen disklerde depolanan veriler Azure platformundaki bekleme sırasında otomatik olarak şifrelenir. Yedekliliği geliştirmek için Azure Yönetilen Diskler, Azure veri merkezinde güvenli bir şekilde çoğaltılır.

Saldırgan çok kiracılı iş yükleri

Şu anda Kubernetes ortamları saldırgan çok kiracılı kullanım için güvenli değildir. Düğümler için Pod Güvenlik İlkeleri veya Kubernetes RBAC gibi ek güvenlik özellikleri, açıklardan yararlanmaları verimli bir şekilde engeller. Saldırgan çok kiracılı iş yüklerini çalıştırırken gerçek güvenlik için yalnızca bir hiper yöneticiye güvenin. Kubernetes için güvenlik etki alanı tek bir düğüm değil tüm kümeye dönüşür.

Bu tür saldırgan çok kiracılı iş yükleri için fiziksel olarak yalıtılmış kümeler kullanmanız gerekir. İş yüklerini yalıtmanın yolları hakkında daha fazla bilgi için bkz . AKS'de küme yalıtımı için en iyi yöntemler.

İşlem yalıtımı

Uyumluluk veya mevzuat gereksinimleri nedeniyle, bazı iş yükleri diğer müşteri iş yüklerinden yüksek düzeyde yalıtım gerektirebilir. Bu iş yükleri için Azure şunları sağlar:

  • Aks kümesinde aracı düğümleri olarak kullanılacak çekirdek yalıtılmış kapsayıcıları . Bu kapsayıcılar belirli bir donanım türüne göre tamamen yalıtılır ve Azure Host dokusundan, konak işletim sisteminden ve hiper yöneticiden yalıtılır. Tek bir müşteriye ayrılmıştır. AKS kümesi oluştururken veya düğüm havuzu eklerken düğüm boyutu olarak yalıtılmış VM boyutlarından birini seçin.
  • Gizli Kapsayıcılar (önizleme), Kata Gizli Kapsayıcıları'nı da temel alır, kapsayıcı belleğini şifreler ve hesaplama sırasında bellekteki verilerin düz metinde, okunabilir biçimde ve kurcalanma sırasında olmasını önler. Kapsayıcılarınızı diğer kapsayıcı gruplarından/podlarından ve VM düğümü işletim sistemi çekirdeğinden yalıtmanıza yardımcı olur. Gizli Kapsayıcılar (önizleme), donanım tabanlı bellek şifrelemesi (SEV-SNP) kullanır.
  • Pod Korumalı Alanı (önizleme), kapsayıcı uygulaması ile kapsayıcı konağının paylaşılan çekirdek ve işlem kaynakları (CPU, bellek ve ağ) arasında bir yalıtım sınırı sağlar.

Ağ güvenliği

Şirket içi ağlarla bağlantı ve güvenlik için AKS kümenizi mevcut Azure sanal ağ alt ağlarına dağıtabilirsiniz. Bu sanal ağlar, Azure Siteden Siteye VPN veya Express Route kullanarak şirket içi ağınıza geri bağlanır. Hizmetlerin iç ağ bağlantısına erişimini sınırlamak için özel, iç IP adresleriyle Kubernetes giriş denetleyicilerini tanımlayın.

Azure ağ güvenlik grupları

Azure, sanal ağ trafik akışını filtrelemek için ağ güvenlik grubu kurallarını kullanır. Bu kurallar kaynaklara erişim izni verilen veya reddedilen kaynak ve hedef IP aralıklarını, bağlantı noktalarını ve protokolleri tanımlar. Kubernetes API sunucusuna TLS trafiğine izin vermek için varsayılan kurallar oluşturulur. Yük dengeleyiciler, bağlantı noktası eşlemeleri veya giriş yolları ile hizmetler oluşturursunuz. AKS, trafik akışı için ağ güvenlik grubunu otomatik olarak değiştirir.

AKS kümeniz için kendi alt ağınızı sağlarsanız (Azure CNI veya Kubenet kullanarak), AKS tarafından yönetilen NIC düzeyinde ağ güvenlik grubunu değiştirmeyin. Bunun yerine, trafik akışını değiştirmek için alt ağ düzeyinde daha fazla ağ güvenlik grubu oluşturun. Yük dengeleyici erişimi, denetim düzlemi ile iletişim veya çıkış gibi kümeyi yöneten gerekli trafikle karışmadığından emin olun.

Kubernetes ağ ilkesi

AKS, kümenizdeki podlar arasındaki ağ trafiğini sınırlamak için Kubernetes ağ ilkeleri için destek sunar. Ağ ilkeleriyle, ad alanları ve etiket seçicileri temelinde küme içindeki belirli ağ yollarına izin verebilir veya bunları reddedebilirsiniz.

Uygulama Güvenliği

AKS üzerinde çalışan podları korumak için Kapsayıcılar için Microsoft Defender'ı göz önünde bulundurarak podlarınızda çalışan uygulamalarınıza yönelik siber saldırıları algılayın ve kısıtlayın. Uygulamanızın güvenlik açığı durumundaki kaymayı algılamak için sürekli tarama çalıştırın ve güvenlik açığı olan görüntülere düzeltme eki uygulamak ve bunları değiştirmek için bir "mavi/yeşil/kanarya" işlemi uygulayın.

Kubernetes Gizli Dizileri

Kubernetes Gizli Anahtarı ile, erişim kimlik bilgileri veya anahtarlar gibi hassas verileri podlara eklersiniz.

  1. Kubernetes API'sini kullanarak gizli dizi oluşturun.
  2. Podunuzu veya dağıtımınızı tanımlayın ve belirli bir Gizli Dizi isteyin.
    • Gizli diziler yalnızca bunları gerektiren zamanlanmış bir pod ile düğümlere sağlanır.
    • Gizli dizi, diske yazılmaz, tmpfs içinde depolanır.
  3. Gizli dizi gerektiren bir düğümdeki son podu sildiğinizde, Gizli Dizi düğümün tmpfs'lerinden silinir.
    • Gizli diziler belirli bir ad alanında depolanır ve yalnızca aynı ad alanı içindeki podlardan erişilebilir.

Gizli dizilerin kullanılması, pod veya hizmet YAML bildiriminde tanımlanan hassas bilgileri azaltır. Bunun yerine, YAML bildiriminizin bir parçası olarak Kubernetes API Sunucusu'nda depolanan Gizli Dizi'yi isteyebilirsiniz. Bu yaklaşım yalnızca gizli diziye belirli pod erişimini sağlar.

Not

Ham gizli dizi bildirim dosyaları, base64 biçiminde gizli dizi verilerini içerir. Daha fazla bilgi için resmi belgelere bakın. Bu dosyaları hassas bilgiler olarak kabul edin ve hiçbir zaman kaynak denetimine işlemeyin.

Kubernetes gizli dizileri, dağıtılmış bir anahtar-değer deposu olan etcd'de depolanır. AKS, etcd depoyu tam olarak yönetir ve veriler Azure platformunda beklemede şifrelenir.

Sonraki adımlar

AKS kümelerinizin güvenliğini sağlamaya başlamak için bkz . AKS kümesini yükseltme.

İlişkili en iyi yöntemler için bkz. AKS'de küme güvenliği ve yükseltmeleri için en iyi yöntemler ve AKS'de pod güvenliği için en iyi yöntemler.

Temel Kubernetes ve AKS kavramları hakkında daha fazla bilgi için bkz: