Azure Kubernetes Service’teki (AKS) uygulamalar ve kümeler için güvenlik kavramları
Kapsayıcı güvenliği, derlemeden Azure Kubernetes Service (AKS) içinde çalışan uygulama iş yüklerine kadar tüm işlem hattı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. Bu arada, Azure Active Directory, Bulut için Microsoft Defender, Azure İlkesi, Azure Key Vault, ağ güvenlik grupları ve organize küme yükseltmeleri gibi bileşenleri içerir. AKS, bu güvenlik bileşenlerini şunları yapmak için birleştirir:
- Eksiksiz bir Kimlik Doğrulama ve Yetkilendirme hikayesi sağlama.
- Uygulamalarınızı güvenli hale Azure İlkesi AKS Yerleşik Uygulamaları'dan faydalanın.
- Kapsayıcılar için Microsoft Defender ile uygulamanız aracılığıyla derlemeden uzlamlı içgörüler.
- AKS kümenizi en son işletim sistemi güvenlik güncelleştirmelerini ve Kubernetes yayınlarını çalıştırmaya devam edin.
- Güvenli pod trafiği ve hassas kimlik bilgilerine erişim sağlama.
Bu makalede AKS'de uygulamalarınızı güvenli hale alan temel kavramlar tanıtmaktadır:
Derleme Güvenliği
Tedarik Zinciri'nin giriş noktası olarak, görüntü derlemelerinin işlem hattına yükseltilemeden önce statik analizini yapmak önemlidir. Buna güvenlik açığı ve uyumluluk değerlendirmesi dahildir. Geliştirmeyi bozacak olan yüksek bir güvenlik açığına sahip olduğu için derlemenin başarısız olması değil, geliştirme ekipleri tarafından eyleme değiştirilebilir güvenlik açıklarına göre segmentlere ayrılmasını "Satıcı Durumu" olarak ifade etmektir. Ayrıca geliştiricilerin tanımlanan sorunları düzeltmesi için zaman vermek için "Yetkisiz Kullanım Süresi" süresi'ne de olanak sağlar.
Kayıt Defteri Güvenliği
Kayıt Defterinde görüntünün güvenlik açığı durumunun değerlendirilmesi, kaymayı algılar ve derleme ortamınıza gelen görüntüleri de yakalar. Dağıtımların güvenilir bir konumdan geliyor olduğundan emin olmak için görüntülerinize imza eklemek için Noter V2 kullanın.
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ümesi, API Sunucusu, Scheduler vb. sağlamak için kendi tek kiracılı, ayrılmış Kubernetes ana düğümüne sahiptir.
Kubernetes API sunucusu varsayılan olarak 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ırlandırabilirsiniz. API sunucusu erişimini sanal ağınıza sınırlamak için tam özel küme de oluşturabilirsiniz.
Kubernetes rol tabanlı erişim denetimi (Kubernetes RBAC) ve Azure RBAC kullanarak API sunucusuna erişimi kontrol edin. Daha fazla bilgi için bkz. AKS ile Azure AD tümleştirmesi.
Düğüm güvenliği
AKS düğümleri, sizin yönetmeniz ve bakımını sizin üst yönetmenize yardımcı olan Azure sanal makineleridir.
- Linux düğümleri veya Docker kapsayıcı çalışma zamanı kullanarak iyileştirilmiş bir Ubuntu
containerddağıtımı çalıştırmaktadır. - Windows Sunucu düğümleri, veya Docker kapsayıcısı çalışma zamanı Windows Server 2019 sürümü
containerdiçin iyileştirilmiş bir sürüm çalıştırır.
AKS kümesi oluşturulduğunda veya ölçeklendirilirken düğümler en son işletim sistemi güvenlik güncelleştirmeleri ve yapılandırmaları ile otomatik olarak dağıtılır.
Not
Şunları kullanan AKS kümeleri:
- Linux düğüm havuzları için Kubernetes sürüm 1.19 ve daha yenisi kapsayıcı
containerdçalışma zamanı olarak kullanılır. WindowscontainerdServer 2019 düğüm havuzlarını kullanmak şu anda önizlemededir. Diğer ayrıntılar için bkz. ile Windows Sunucucontainerddüğümü havuzu ekleme. - Linux düğüm havuzları için v1.19'dan önceki Kubernetes, kapsayıcı çalışma zamanı olarak Docker kullanır. Sunucu Windows 2019 düğüm havuzlarında Docker varsayılan kapsayıcı çalışma zamanıdır.
Düğüm güvenlik düzeltme ekleri
Linux düğümleri
AKS'de Linux düğümleri her akşam dağıtım güvenlik güncelleştirme kanalı aracılığıyla güvenlik yamaları elde ediyor. Düğümler aks kümesine dağıtıldığından bu davranış otomatik olarak yapılandırılır. Kesintiyi ve çalışan iş yüklerinin olası etkisini en aza indirmek için, bir güvenlik düzeltme eki veya çekirdek güncelleştirmesi gerektiriyorsa düğümler otomatik olarak yeniden başlatlanmaz. Düğüm yeniden başlatmalarını işleme hakkında daha fazla bilgi için bkz. AKS'dedüğümlere güvenlik ve çekirdek güncelleştirmeleri uygulama.
Gecelik güncelleştirmeler düğümdeki işletim sistemi için güvenlik güncelleştirmelerini uygulasa da kümeniz için düğüm oluşturmak için kullanılan düğüm görüntüsü değişmeden kalır. Kümenize yeni bir Linux düğümü eklenirse, düğümü oluşturmak için özgün görüntü kullanılır. Bu yeni düğüm, her gece otomatik denetim sırasında kullanılabilen tüm güvenlik ve çekirdek güncelleştirmelerini alır, ancak tüm denetimler ve yeniden başlatmalar tamamlandıktan sonra da eşleşmeden kalır. Kümeniz tarafından kullanılan düğüm görüntülerini kontrol etmek ve güncelleştirmek için düğüm görüntüsü yükseltmesini kullanabilirsiniz. Düğüm görüntüsü yükseltme hakkında daha fazla bilgi için bkz. Azure Kubernetes Service (AKS) düğüm görüntüsünü yükseltme.
Windows Sunucu düğümleri
Windows Server düğümleri için, Windows Güncelleştirme otomatik olarak çalıştır ve en son güncelleştirmeleri uygulamaz. AKS Windows Sunucu düğümü havuzu yükseltmelerini normal Güncelleştirme yayın döngüsü Windows kendi doğrulama işleminiz çevresinde zamanlaması. Bu yükseltme işlemi, en son Windows Server görüntüsünü ve düzeltme eklerini çalıştıran düğümler oluşturur, sonra da eski düğümleri kaldırır. Bu işlem hakkında daha fazla bilgi için bkz. AKS'de düğüm havuzunu yükseltme.
Düğüm dağıtımı
Düğümler, genel IP adresi atanmamış özel bir sanal ağ alt ağına dağıtılır. Sorun giderme ve yönetim amacıyla SSH varsayılan olarak etkindir ve yalnızca iç IP adresi kullanılarak erişilebilir.
Düğüm depolama
Depolama sağlamak için düğümler Azure depolama Yönetilen Diskler. Çoğu VM düğümü boyutu için Azure Yönetilen Diskler, Premium yüksek performanslı SSD'ler ile birlikte kullanılan disklere sahiptir. Yönetilen disklerde depolanan veriler, Azure platformunda kalan süre boyunca 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
Kubernetes ortamları şu anda çok kiracılı saldırgan kullanımlar için güvenli değildir. Düğümler için Pod Güvenlik İlkeleri veya Kubernetes RBAC gibi ek güvenlik özellikleri, açıkları verimli bir şekilde engelleyebilir. Saldırgan çok kiracılı iş yüklerini çalıştırmaya yönelik gerçek güvenlik için yalnızca bir hipervizöre güvenin. Kubernetes için güvenlik etki alanı tek bir düğüm değil kümenin tamamı olur.
Bu tür saldırgan çok kiracılı iş yükleri için fiziksel olarak yalıtılmış kümeleri kullanabilirsiniz. İş yüklerini yalıtma yöntemleri 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 gerektirir. Azure, bu iş yükleri için AKS kümesinde aracı düğümleri olarak kullanmak üzere yalıtılmış VM'ler sağlar. Bu VM'ler belirli bir donanım türüne yalıtılmış ve tek bir müşteriye ayrılmıştır.
AKS kümesi oluştururken veya düğüm havuzu eklerken yalıtılmış VM boyutlarından birini düğüm boyutu olarak seçin.
Küme yükseltmeleri
Azure, AKS kümesi ve bileşenlerini yükseltmek, güvenlik ve uyumluluğu korumak ve en son özelliklere erişmek için yükseltme düzenleme araçları sağlar. Bu yükseltme düzenlemesi hem Kubernetes ana bileşenlerini hem de aracı bileşenlerini içerir.
Yükseltme işlemini başlatmak için, listelenen kullanılabilir Kubernetes sürümlerinden birini belirtin. Azure daha sonra aks düğümlerini ve yükseltmelerini güvenli bir şekilde alır ve boşalttır.
Cordon ve drain
Yükseltme işlemi sırasında, yeni podların zamanlanmış olması engel olmak için AKS düğümleri kümeden ayrı ayrı kabloya atılır. Düğümler daha sonra aşağıdaki gibi boşaltilir ve yükseltilir:
- Düğüm havuzuna yeni bir düğüm dağıtılır.
- Bu düğüm en son işletim sistemi görüntüsünü ve düzeltme eklerini çalıştırır.
- Mevcut düğümlerden biri yükseltme için tanımlanır.
- Tanımlanan düğümdeki podlar, düğüm havuzunda bulunan diğer düğümlerde sonlandırılır ve zamanlandırılır.
- Boşaltılan düğüm AKS kümesinden silinir.
- Tüm düğümler yükseltme işleminin bir parçası olarak başarıyla değiştirinceye kadar 1-4. adımlar yinelenir.
Daha fazla bilgi için bkz. AKS kümesi yükseltme.
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ıyor. Hizmetlerin iç ağ bağlantısına erişimini sınırlamak için özel, iç IP adreslerine sahip Kubernetes giriş denetleyicilerini tanımlayın.
Azure ağ güvenlik grupları
Azure, sanal ağ trafiği 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 gelen TLS trafiğine izin vermek için varsayılan kurallar oluşturulur. Yük dengeciler, bağlantı noktası eşlemeleri veya giriş yolları ile hizmetler oluşturabilirsiniz. AKS, trafik akışı için ağ güvenlik grubunu otomatik olarak değiştiren bir araçtır.
AKS kümeniz için kendi alt ağına (Azure CNI veya Kubenet kullanarak) sağlarsanız, 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, kontrol düzlemi ile iletişim ve çıkış gibi kümeyi yöneten gerekli trafiğe müdahale etmeylerini sağlar.
Kubernetes ağ ilkesi
AKS, kümenizin podları arasındaki ağ trafiğini sınırlamak için Kubernetesağ ilkeleri için destek sunar. Ağ ilkeleriyle, ad alanlarına ve etiket seçicilerine bağlı olarak küme içindeki belirli ağ yollarına izin verme veya reddetme.
Uygulama Güvenliği
AKS üzerinde çalışan podları korumak için Kubernetes için Microsoft Defender'dan faydalanarak podlar içinde çalışan uygulamalarınıza yönelik siber saldırıları algılar ve kısıtlar. Uygulamanın güvenlik açığı durumunu 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 bu görüntüleri değiştirmek için bir "mavi/yeşil/canary" işlemi gerçekleştirin.
Kubernetes Gizli Dizileri
Kubernetes Gizli Anahtarı ile erişim kimlik bilgileri veya anahtarlar gibi hassas verileri podlara uzersiniz.
- Kubernetes API'sini kullanarak gizli bir gizli bilgi oluşturun.
- Pod'larınızı veya dağıtımınızı tanımlayın ve belirli bir Gizli gizli bilgi talepte bulundurabilirsiniz.
- Gizli diziler yalnızca bunları gerektiren zamanlanmış pod'a sahip düğümlere sağlanır.
- Gizli, diske yazıldığı değil tmpfs içinde depolanır.
- Gizli'yi gerektiren bir düğümdeki son pod'u sildikten sonra Gizli, düğümün tmpfs'lerinden silinir.
- Gizli diziler, verilen ad alanı içinde depolanır ve yalnızca aynı ad alanı içindeki podlar tarafından erişilebilir.
Gizli Dizilerin kullanımı, pod veya hizmet YAML bildiriminde tanımlanan hassas bilgileri azaltır. Bunun yerine, YAML bildiriminizin bir parçası olarak Kubernetes API Server'da depolanan Gizli'yi talep edin. Bu yaklaşım yalnızca Gizli'ye belirli pod erişimini sağlar.
Not
Ham gizli bildirim dosyaları base64 biçiminde gizli verileri içerir (daha fazla ayrıntı için resmi belgelere bakın). Bu dosyaları hassas bilgiler olarak ele edin ve hiçbir zaman kaynak denetimine işlemeyin.
Kubernetes gizli dizileri, dağıtılmış bir anahtar-değer deposu olan etcd içinde depolanır. Etcd deposu AKS tarafından tam olarak yönetilir ve veriler Azure platformunda kalan süre boyunca şifrelenir.
Sonraki adımlar
AKS kümelerinizi güvenli hale getirme hakkında bilgi almak için bkz. AKS kümesi 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: