Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İş yüklerinizi güvenli hale getirmek, riski azaltmaya ve sektör standartlarına uygun hale getirmeye yardımcı olacak şekilde konteyner oluşturma, dağıtma ve çalıştırma işlemlerini içerir. Bu makale kapsayıcı güvenliği, pod güvenlik standartları ve iş yükü kimliği hakkında rehberlik sağlayarak uygulamalarınızı kümelerinizin içindeki ve dışındaki tedarik zinciri risklerine, yetkisiz erişime ve çalışma zamanı tehditlerine karşı korumanıza yardımcı olur.
Kapsayıcılarınızı edindiğinizde, katalogladığınızda ve derlediğinizde, güvenli bir kapsayıcı yaşam döngüsü izleyin.
İş yüklerinizi edindiğinizde, kataloglayıp derlerken Microsoft Kapsayıcıları Güvenli Tedarik Zinciri çerçevesini takip edin. Bu çerçeve güvenilmeyen kaynaklara karşı daha iyi koruma sağlar, güvenliği aşılmış bağımlılıklardan kaçınabilir ve güvenlik açıklarını tarayabilirsiniz.
Bir Yazılım Malzeme Listesi (SBOM) elde ederek veya oluşturarak kod kökenini izleyin. Kapsayıcılar için Microsoft Defender'ı kapsayıcı kayıt defterinizdeki görüntülerin güvenlik açığı değerlendirmesi gerçekleştirmesine yardımcı olacak şekilde de yapılandırabilirsiniz. Kayıt defterlerinin hangi düzeyde desteklendiğine ilişkin destek matrisine (önizleme veya genel kullanılabilirlik) bakın.
Daha genel olarak, iş yükü uygulama yazılımınızı geliştirirken Güvenlik Geliştirme Yaşam Döngüsü'ne uymanızı öneririz.
Ayrıca iş yüklerinizi dağıtırken ve çalıştırırken Güvenli Tedarik Zinciri çerçevesini nasıl izleyeceğinize ilişkin kılavuzumuzu inceleyin.
Kaynaklar
- CIS Kubernetes Benchmark - Bölüm 1, 2 ve 4
- NIST Uygulama Kapsayıcısı Güvenlik Kılavuzu - Bölüm 4.5.1-3
- Kubernetes Güvenliği - OWASP Bilgi Sayfası Serisi – "Sürekli güvenlik açığı taramasının uygulanması"
Kapsayıcı görüntülerinizi sağlamlaştırılmış Kubernetes ortamları için hazırlama
Çalışma zamanında en az ayrıcalıklara sahip kapsayıcı görüntülerinin yürütülmesini teşvik etmeye yardımcı olmak için kapsayıcı görüntülerinizi iş yüklerinin kök olmayan yürütülmesini destekleyecek şekilde yazın.
Gerekli çalışma zamanı bileşenlerini dar bir şekilde karşılayan distroless ve amaca yönelik kapsayıcı görüntüleri kullanın. Microsoft Artifact Registry gibi saygın bir satıcıdan iş yükleriniz için temel görüntüleri seçebilirsiniz. Çalışma zamanı bağımlılıklarınızı daraltmak hem yardımcı bileşenlerdeki olası saldırı yüzeyini hem de güvenlik güncelleştirmeleri ve hata düzeltmelerinden kaynaklanan bakım yükünü azaltmaya yardımcı olur. Çalışma zamanı görüntülerinizin ayak izini daha da azaltmak için çok aşamalı yapıları kullanın.
İş yükü görüntülerinizin yanlışlıkla veya kötü amaçlı olarak değiştirilmediğinden emin olmak için kapsayıcı imzalamayı kullanın. Azure Pipelines ve GitHub Actions, kapsayıcı imzalamayı destekleyen çeşitli araçlar sağlar. Kapsayıcı imzalamayı seçtiğiniz Ortak Anahtar Altyapısı (PKI) ile tümleştirebilirsiniz.
Kaynaklar
- NSA Kubernetes Sağlamlaştırma Kılavuzu – "Kök olmayan kapsayıcılar ve köksüz kapsayıcı altyapısı" ve güvenli kapsayıcı görüntüleri oluşturun
- Kubernetes Security - OWASP Bilgi Sayfası Serisi – "Derleme Aşaması"
Pod güvenlik standartlarına uyun
Mümkün olduğunda kısıtlanmış ilke düzeyini ve aksi takdirde temel düzeyi hedefleyerek podlarınız için Kubernetes Pod Güvenlik Standartları'nı izleyin. Örneğin, kapsayıcılarınız kök kullanıcısı olmayan bir kullanıcı olarak çalışmalı ve işlevleri için kesinlikle gerekmedikçe konak birimlerini bağlamamalıdır. Bu standartların uygulanmasına nasıl yardımcı olabileceğiniz hakkındaki önerilerimize bakın. Microsoft tarafından sağlanan tüm uzantılar, gerçekleştirdikleri ayrıcalıklı işlemler nedeniyle en kısıtlı ilke düzeyini karşılayamaz. Dağıtıldıklarında ek özellikler için izin verilmesi gerekebilir.
Buna ek olarak, her bir pod için bellek sınırlarını ve CPU taleplerini ayarlamayı düşünün (CPU sınırlarından kaçınılmalıdır çünkü istenmeyen azaltmalara yol açabilir). Ayrıca her ad alanı için kaynak kotalarını da göz önünde bulundurun. Bu sınırlar ve kotalar, güvenliği tehlikeye girmiş veya başka bir şekilde hatalı davranan bir kapsayıcıdan daha geniş kapsamlı Hizmet Reddi (DoS) saldırılarını engelleyebilir.
Kaynaklar
- Pod Güvenlik Standartları | Kubernetes
- CIS Kubernetes Benchmark'ın 5.2. Bölümleri
- NSA Kubernetes Sağlamlaştırma Kılavuzu – "Pod güvenliği uygulaması" ve "Kaynak İlkeleri"
- Kubernetes Security - OWASP Bilgi Sayfası Serisi – "Güvenlik bağlamı uygulama" ve "Kümede kaynak kullanımını sınırlama"
Fazladan Linux güvenlik standartlarını zorunlu kılma
Daha fazla koruma sunan fazladan Linux güvenlik sağlamlaştırma çerçeveleri kullanmayı göz önünde bulundurun. SELinux veya AppArmor, her iş yükünün dosyalar ve bağlantı noktaları gibi belirli kaynaklara sahip olduğu erişimin daha kesin bir bildirimini gerektirir ve zorunlu kılar. Bu bildirimler standart Linux izin modelinin ötesine geçer. Ayrıca , seccomp her iş yükünün gerçekleştirebileceği sistem çağrılarını kısıtlar ve Pod Güvenlik Standartları'nın Kısıtlı düzeyinde varsayılan bir seccomp profili gerekir. Tüm bu güvenlik sağlamlaştırma özellikleri varsayılan ayarlarla birlikte gelir, ancak genellikle öğeleri belirli uygulamanıza daha fazla uyarlayabilirsiniz. Örneğin, podlarınızın ihtiyaç duyduğu tam sistem çağrılarına (syscalls) izin veren özel bir seccomp profili tanımlayabilirsiniz.
Kaynaklar
- NIST Uygulama Kapsayıcısı Güvenlik Kılavuzu'nun 4.4.3. Bölümü
- NSA Kubernetes Sağlamlaştırma Kılavuzu – "Kubernetes Pod Güvenliği"
Azure kaynaklarına erişmek için iş yükü kimliğini kullanma
İş yükleriniz, depolama hesabı gibi Azure'daki kaynaklarınıza güvenli bir şekilde erişmenize yardımcı olmak için iş yükü kimlik federasyonu kullanmalıdır. Bu yaklaşım, Azure RBAC ile yetkilendirme için kullanılan Entra ID kimliklerinin kimliğini doğrulamak için ayrı gizli diziler oluşturma ve dağıtma gereksinimini önlemeye yardımcı olur. Bunun yerine, bu federasyon yaklaşımı, bulut üzerinde bir Entra ID için doğrudan bir Kubernetes hizmet hesabı jetonundan belirteç almanıza olanak tanır. (Hizmet hesapları, Kubernetes'in iş yükleri için yerleşik kimliğidir.)
Kümenizin hizmet hesabı belirteci veren, bu hizmet hesabı belirteçlerini oluşturur ve imzalar. Bu nedenle verenin özel anahtarı temel bir sırdır. Erişim kısıtlanmalı ve düzenli olarak döndürülmelidir.
Azure Arc tarafından etkinleştirilen AKS'yi Azure Yerel'de çalıştırıyorsanız bu erişim denetimi otomatik olarak yapılır. Anahtarlara yalnızca API sunucusunu (belirteç vereni içeren) çalıştıran düğümlerden oluşan denetim düzlemleri erişebilir. Anahtarların süresi 90 gün sonra dolar ve 45 günde bir otomatik olarak döndürülür.
Arc özellikli Kubernetes aracılığıyla kendi kümenizi bağlarsanız satıcınızın ürününün benzer özellikler sunduğunu değerlendirin. Hizmet hesabı jeton veren anahtarına erişimi kısıtlayıp kısıtlamadıklarını ve düzenli olarak değiştirip değiştirmediklerini kontrol edin.
İş yükleri içinde/iş yüklerinde/iş yüklerinden TLS şifrelemesini ve kimlik doğrulamasını yapılandırma
İş yüklerinizin küme içinde ve dışında yaptığı tüm bağlantılar için TLS kullanın. TLS'yi kullanmak, bu bağlantıları kurarken kullanmak üzere sertifikalar oluşturmanızı ve güven paketlerini dağıtmanızı gerektirebilir.
Bir küme içindeki TLS bağlantıları için, TLS bağlantılarını sizin için korumak için Istio gibi bir hizmet ağı kullanmayı değerlendirin. Istio gibi bir hizmet ağı veya DAPR gibi bir uygulama çalışma zamanı, kendi imzaladığı iş yükü sertifikalarını oluşturmasına yardımcı olabilir. Ek güvenlik için, bu iş yükü sertifikalarını imzalamak için küme yerel ara CA'sını yapılandırmayı göz önünde bulundurun. Bunu yaparsanız, kök sertifikanın kendisinin çevrimdışı HSM destekli kasada güvenli kaldığı Ortak Anahtar Altyapınızı (PKI) kullanarak ara sertifika otoritesi (CA) için sertifika düzenlemeyi de düşünün.
Kümeye giriş TLS bağlantıları için, gelen trafiği güvenli bir şekilde yönetmenize yardımcı olabilecek yük dengeleyiciler ve giriş/ağ geçidi denetleyicileri gibi birçok üründen birini kullanarak değerlendirin. Bu uç noktaların kullanması için kendi sertifikalarınızı oluşturmanız gerekebilir. Ayrıca, bu sertifikalar için güven paketlerini, kümeyle bağlantılarının kimliğini doğrulaması gereken dış istemcilere dağıtmanız gerekebilir. Bu sertifikaları PKI'nızdan vermeyi de göz önünde bulundurun. Bu sertifikaları istemek için cert-manager kullanabilirsiniz: Bu istek NGINX giriş denetleyicisi için şu şekilde çalışır . Ayrıca güven yöneticisini kullanarak onlara güven dağıtmanıza yardımcı olabilirsiniz. Ya da yalnızca birkaç sertifikaya ihtiyacınız varsa bunları Azure Key Vault'ta el ile oluşturup döndürebilir ve Kubernetes için Azure Key Vault Gizli Dizi Deposu uzantısını (önizleme) ("SSE") kullanarak Kubernetes gizli dizileri olarak eşitleyebilirsiniz.
Bu sertifikalar ve bunlara eşlik eden özel anahtarlar oluşturulduktan sonra Kubernetes gizli dizi deposunda gizli dizi olarak depolanır. Bu sırları korumaya yönelik kılavuzu inceleyin.
Küme içindeki bağlantıların istemci tarafı kimlik doğrulaması için mTLS sertifikaları yerine TLS için hizmet hesabı belirteçleri de kullanabilirsiniz. Bu durumda, her ad alanı için "varsayılan" hizmet hesabının kullanımından kaçınmanızı öneririz. Bunun yerine, her ayrı iş yükü veya bileşen için ayrılmış bir hizmet hesabı kimliği oluşturun. Bunu yapmak, Kubernetes RBAC kullanarakhizmetleriniz veya API sunucunuz için yetkilendirme kurallarını yapılandırdığınızda en az ayrıcalık yaklaşımını etkinleştirir.
Kaynaklar
- Kubernetes Security - OWASP İpuçları Serisi – "Merkezi ilke yönetiminin uygulanması"
- NSA Kubernetes Sağlamlaştırma Kılavuzu – "Pod hizmet hesabı belirteçlerini koruma"
İş yüklerine/hizmetlere erişmek için yetkilendirme kurallarını yapılandırma
Kubernetes iş yüklerinize (hizmetler) hangi iş yüklerinin istek gönderebileceğine ilişkin yetkilendirme kuralları ayarlayarak iş yükleriniz arasındaki trafiği denetlemeyi hedefleyin.
Istio gibi bir hizmet ağı kullanıyorsanız, her iş yüküne otomatik olarak kimlik bilgileri verebilir. Daha sonra bu kimlikleri, Kubernetes hizmetlerine erişimi yalnızca belirtilen çağrı iş yükleriyle kısıtlamaya yardımcı olan yetkilendirme ilkelerini yapılandırırken kullanabilirsiniz.
Alternatif olarak, bir hizmet ağı kullanmıyorsanız kendi kimlik bilgilerinizi (sertifikalar veya hizmet hesabı belirteçleri) yapılandırabilir ve OPA gibi ayrılmış bir yetkilendirme altyapısı dağıtabilirsiniz. OPA, iş yüklerinizi değiştirme gereğini önlemek için Envoy eklentisiyle birlikte kullanılabilir.
Ağ katmanında trafik kısıtlamalarını zorunlu kılmayı da göz önünde bulundurun.
İş yükü telemetrisini koruyup izleyin ve bir güvenlik yönetimi (SIEM) çözümüne takın
İş yükü telemetrinizi olası güvenlik sorunları (ürün performansı veya hata ayıklama sorunları için de) analiz edilebileceği bir izleme çözümüne göndermeyi göz önünde bulundurun.
Azure İzleyici uzantılarını uç kümenize dağıtabilirsiniz. Bu uzantılar Prometheus ölçümlerini otomatik olarak Azure İzleyici çalışma alanınıza ve/veya Container Insights günlüklerini Log Analytics çalışma alanınıza gönderir. Grafana panoları ile prometheus ölçümleri büyük ölçekte toplanabilir ve analiz edilebilir. Container Insights günlükleri ve performans verileri önceden oluşturulmuş görünümler ve çalışma kitapları kullanılarak toplanabilir ve analiz edilebilir. Bu analizi ayarlarken güvenilirlik, maliyet iyileştirme, performans ve güvenliği kapsayan kümeleri izlemeye yönelik en iyi yöntemlere dikkat edin.
Ayrıca uçtaki Azure İzleyici işlem hattı (önizleme) uzantısı, uç kümelerde telemetri koleksiyonu için diğer esnek seçenekleri sunar. Özellikleri arasında buluttan buluta ölçeklenebilir yönlendirme, yerel veri önbelleğe alma ve ağ kesimli veya çevrimdışı ortamlarda bile güvenilir izleme sağlamaya yardımcı olan gecikmeli bulut eşitlemesi bulunur. Ayrıca OpenTelemetry Protocol (OTLP) ve syslog biçimlerini kullanarak çok çeşitli uzak kaynaklardan ve diğer aracılardan telemetri verileri alabilir.
Log Analytics çalışma alanına günlüklerin akışını sağladıktan sonra, siber tehdit algılama, araştırma, yanıt ve proaktif takip için Microsoft Sentinel'i de etkinleştirebilirsiniz.
Kaynaklar
Sonraki Adımlar
- İşlemlerinizin güvenliğini sağlamayı öğrenin
- Bu güvenlik defterinin en üstüne dön