Azure Container Instances için güvenlikle ilgili dikkat edilmesi gerekenler
Bu makalede, kapsayıcı uygulamalarını çalıştırmak için Azure Container Instances'ı kullanmaya yönelik güvenlik konuları tanıtılır. Konu başlıkları şunlardır:
- Azure Container Instances için görüntüleri ve gizli dizileri yönetmeye yönelik güvenlik önerileri
- Tüm kapsayıcı platformları için kapsayıcı yaşam döngüsü boyunca kapsayıcı ekosistemi ile ilgili dikkat edilmesi gerekenler
Dağıtımınızın güvenlik duruşunu geliştirmenize yardımcı olacak kapsamlı öneriler için bkz . Kapsayıcı Örnekleri için Azure güvenlik temeli.
Azure Container Instances için güvenlik önerileri
Özel kayıt defteri kullanma
Kapsayıcı, bir veya daha fazla depoda depolanan görüntülerden oluşturulur. Bu depolar Docker Hub gibi bir genel kayıt defterine veya özel bir kayıt defterine ait olabilir. Özel bir kayıt defteri örneği olarak şirket içinde veya sanal özel bulutta kullanılabilen Docker Trusted Registry gösterilebilir. Azure Container Registry dahil olmak üzere bulut tabanlı özel kapsayıcı kayıt defteri hizmetlerini de kullanabilirsiniz.
Genel kullanıma açık bir kapsayıcı görüntüsü güvenliği garanti etmez. Kapsayıcı görüntüleri birden çok yazılım katmanından oluşur ve her yazılım katmanında güvenlik açıkları olabilir. Saldırı tehdidini azaltmaya yardımcı olmak için Azure Container Registry veya Docker Trusted Registry gibi özel bir kayıt defterinden görüntü depolayıp almanız gerekir. Yönetilen özel kayıt defteri sağlamanın yanı sıra Azure Container Registry, temel kimlik doğrulama akışları için Microsoft Entra Kimliği aracılığıyla hizmet sorumlusu tabanlı kimlik doğrulamasını destekler. Bu kimlik doğrulaması salt okunur (çekme), yazma (gönderme) ve diğer izinler için rol tabanlı erişimi içerir.
Kapsayıcı görüntülerini izleme ve tarama
Özel kayıt defterindeki kapsayıcı görüntülerini taramak ve olası güvenlik açıklarını belirlemek için çözümlerden yararlanın. Farklı çözümlerin sağladığı tehdit algılama derinliğini anlamak önemlidir.
Örneğin, Azure Container Registry isteğe bağlı olarak Bulut için Microsoft Defender ile tümleştirerek kayıt defterine gönderilen tüm Linux görüntülerini otomatik olarak tarar. Bulut için Microsoft Defender tümleşik Qualys tarayıcısı görüntü güvenlik açıklarını algılar, bunları sınıflandırır ve düzeltme yönergeleri sağlar.
Twistlock ve Aqua Security gibi güvenlik izleme ve görüntü tarama çözümleri de Azure Market aracılığıyla kullanılabilir.
Kimlik bilgilerini koruma
Kapsayıcılar çeşitli kümelere ve Azure bölgelerine yayılabilir. Bu nedenle, parolalar veya belirteçler gibi oturum açma bilgileri veya API erişimi için gereken kimlik bilgilerinin güvenliğini sağlamalısınız. Yalnızca ayrıcalıklı kullanıcıların aktarımdaki ve bekleyen kapsayıcılara erişebildiğinden emin olun. Tüm kimlik bilgileri gizli dizilerinin envanterine bakın ve geliştiricilerin kapsayıcı platformları için tasarlanmış yeni gizli dizi yönetimi araçlarını kullanmasını zorunlu tutun. Çözümünüzün şifrelenmiş veritabanları, aktarımdaki gizli dizi verileri için TLS şifrelemesi ve en az ayrıcalıklı Azure rol tabanlı erişim denetimi (Azure RBAC) içerdiğine emin olun. Azure Key Vault, kapsayıcılı uygulamalar için şifreleme anahtarlarını ve gizli dizileri (sertifikalar, bağlantı dizesi ve parolalar gibi) koruyan bir bulut hizmetidir. Bu veriler hassas ve iş açısından kritik olduğundan, anahtar kasalarınıza yalnızca yetkili uygulamaların ve kullanıcıların erişebilmesi için güvenli erişim sağlayın.
Kapsayıcı ekosistemi için dikkat edilmesi gerekenler
İyi uygulanan ve etkili bir şekilde yönetilen aşağıdaki güvenlik önlemleri, kapsayıcı ekosisteminizin güvenliğini sağlamanıza ve korumanıza yardımcı olabilir. Bu ölçüler, geliştirmeden üretim dağıtımına ve çeşitli kapsayıcı düzenleyicilerine, konaklara ve platformlara kadar kapsayıcı yaşam döngüsü boyunca geçerlidir.
Kapsayıcı geliştirme yaşam döngünüzün bir parçası olarak güvenlik açığı yönetimi kullanma
Kapsayıcı geliştirme yaşam döngüsü boyunca etkili güvenlik açığı yönetimi kullanarak, güvenlik sorunlarını daha ciddi bir sorun haline gelmeden önce tanımlama ve çözme olasılığını artırırsınız.
Güvenlik açıklarını tarama
Her zaman yeni güvenlik açıkları bulunur, bu nedenle güvenlik açıklarını taramak ve tanımlamak sürekli bir işlemdir. Kapsayıcı yaşam döngüsü boyunca güvenlik açığı taramasını dahil edin:
- Geliştirme işlem hattınızda son denetim olarak, görüntüleri genel veya özel bir kayıt defterine göndermeden önce kapsayıcılarda bir güvenlik açığı taraması gerçekleştirmeniz gerekir.
- Hem geliştirme sırasında bir şekilde eksik olan açıkları belirlemek hem de kapsayıcı görüntülerinde kullanılan kodda mevcut olabilecek yeni bulunan güvenlik açıklarını gidermek için kayıt defterindeki kapsayıcı görüntülerini taramaya devam edin.
Görüntü güvenlik açıklarını çalışan kapsayıcılarla eşleme
Güvenlik sorunlarının azaltılabilmesi veya çözümlenebilmesi için kapsayıcı görüntülerinde tanımlanan güvenlik açıklarını çalışan kapsayıcılara eşlemeniz gerekir.
Ortamınızda yalnızca onaylı görüntülerin kullanıldığından emin olun
Kapsayıcı ekosisteminde bilinmeyen kapsayıcılara da izin vermeden yeterli değişiklik ve volatilite vardır. Yalnızca onaylanan kapsayıcı görüntülerine izin ver. Onaylanmamış kapsayıcı görüntülerini izlemek ve kullanımını önlemek için araçlar ve işlemlere sahip olun.
Saldırı yüzeyini azaltmanın ve geliştiricilerin kritik güvenlik hataları yapmasını engellemenin etkili bir yolu, kapsayıcı görüntülerinin geliştirme ortamınıza akışını denetlemektir. Örneğin, yüzeyi olası saldırılara karşı en aza indirmek için tercihen yalın (Ubuntu yerine Alp veya CoreOS) temel görüntü olarak tek bir Linux dağılımını tasdik edebilirsiniz.
Görüntü imzalama veya parmak izi oluşturma, kapsayıcıların bütünlüğünü doğrulamanızı sağlayan bir gözetim zinciri sağlayabilir. Örneğin, Azure Container Registry, görüntü yayımcılarının bir kayıt defterine gönderilen görüntüleri imzalamasına ve görüntü tüketicilerinin yalnızca imzalı görüntüleri çekmesine olanak tanıyan Docker'ın içerik güven modelini destekler.
Yalnızca onaylanan kayıt defterlerine izin ver
Ortamınızın yalnızca onaylanan görüntüleri kullanmasını sağlamanın bir uzantısı, yalnızca onaylanan kapsayıcı kayıt defterlerinin kullanımına izin vermektir. Onaylanan kapsayıcı kayıt defterlerinin kullanılmasını zorunlu kılması, bilinmeyen güvenlik açıklarının veya güvenlik sorunlarının kullanıma sunulması olasılığını sınırlayarak risklere maruz kalmanızı azaltır.
Yaşam döngüsü boyunca görüntülerin bütünlüğünü sağlama
Kapsayıcı yaşam döngüsü boyunca güvenliği yönetmenin bir parçası, kayıt defterindeki kapsayıcı görüntülerinin bütünlüğünü sağlamak ve bunlar değiştirildiğinde veya üretime dağıtıldığından emin olmaktır.
Güvenlik açıkları olan görüntülerin (küçük bile olsa) üretim ortamında çalıştırılmasına izin verilmemelidir. İdeal olan, üretimde dağıtılan tüm görüntülerin belirli birkaçı tarafından erişilebilen özel bir kayıt defterine kaydedilmesidir. Etkili bir şekilde yönetilebildiklerinden emin olmak için üretim görüntülerinin sayısını küçük tutun.
Genel kullanıma açık bir kapsayıcı görüntüsünden yazılımın kaynağını saptamak zor olduğundan, katmanın kaynağını öğrenmek için kaynaktan görüntüler oluşturun. Kendi oluşturdukları bir kapsayıcı görüntüsünde bir güvenlik açığı olduğunda müşteriler çözüme daha hızlı ulaşabilir. Genel görüntüyle, müşterilerin bunu düzeltmek veya yayımcıdan başka bir güvenli görüntü almak için genel görüntünün kökünü bulması gerekir.
Üretimde dağıtılan kapsamlı bir taranmış görüntünün, uygulamanın ömrü boyunca güncel olması garanti edilmemektedir. Görüntünün daha önce bilinmeyen veya üretim dağıtımından sonra kullanıma sunulan katmanları için güvenlik açıkları bildirilebilir.
Güncel olmayan veya bir süredir güncelleştirilmeyen görüntüleri belirlemek için üretim ortamında dağıtılan görüntüleri düzenli aralıklarla kontrol edin. Kapsayıcı görüntülerini kapalı kalma süresi olmadan güncelleştirmek için mavi-yeşil dağıtım yöntemlerini ve sıralı yükseltme mekanizmalarını kullanabilirsiniz. Önceki bölümde açıklanan araçları kullanarak görüntüleri tarayabilirsiniz.
Güvenli görüntüler oluşturmak ve bunları özel kayıt defterinize göndermek için tümleşik güvenlik taramalı bir sürekli tümleştirme (CI) işlem hattı kullanın. CI çözümüne yerleşik güvenlik açığı taraması, tüm sınamaları geçen görüntülerin üretim iş yüklerinin dağıtıldığı özel kayıt defterine gönderilmesini sağlar.
CI işlem hattı hatası, güvenlik açığı bulunan görüntülerin üretim iş yükü dağıtımları için kullanılan özel kayıt defterine gönderilmemesini sağlar. Ayrıca, çok sayıda görüntü varsa görüntü güvenliği taramasını otomatikleştirir. Aksi durumda, görüntüleri güvenlik açıkları için el ile denetlemek çok zor olabileceği gibi hata riskini de artırır.
Çalışma zamanında en az ayrıcalıkları zorunlu kılma
En az ayrıcalık kavramı, kapsayıcılar için de geçerli olan temel bir güvenlik en iyi uygulamasıdır. Bir güvenlik açığından yararlanıldığında, genellikle saldırgana güvenliği aşılmış uygulama veya işlemle aynı erişim ve ayrıcalıklar verir. Kapsayıcıların en düşük ayrıcalıklarla çalıştığından ve işi yapmak için gereken erişimden emin olmak risklere maruz kalmanızı azaltır.
Gerekli olmayan ayrıcalıkları kaldırarak kapsayıcı saldırı yüzeyini azaltın
Ayrıca, kapsayıcı çalışma zamanından kullanılmayan veya gereksiz işlemleri veya ayrıcalıkları kaldırarak olası saldırı yüzeyini en aza indirebilirsiniz. Ayrıcalıklı kapsayıcılar kök olarak çalışır. Kötü amaçlı bir kullanıcı veya iş yükü ayrıcalıklı bir kapsayıcıda kaçarsa, kapsayıcı bu sistemde kök olarak çalışır.
Kapsayıcının erişmesine veya çalışmasına izin verilen dosyaları ve yürütülebilir dosyaları önceden onaylama
Değişkenlerin veya bilinmeyenlerin sayısını azaltmak, kararlı ve güvenilir bir ortam oluşturmanıza yardımcı olur. Kapsayıcıları yalnızca önceden onaylanan veya güvenli listelenmiş dosyalara ve yürütülebilir dosyalara erişebilecekleri veya çalıştırabilecekleri şekilde sınırlamak, risklere maruz kalma durumunu sınırlamak için kanıtlanmış bir yöntemdir.
En baştan uygulandığında güvenli listeyi yönetmek çok daha kolaydır. Güvenli liste, uygulamanın düzgün çalışması için hangi dosyaların ve yürütülebilir dosyaların gerekli olduğunu öğrenirken bir denetim ve yönetilebilirlik ölçüsü sağlar.
Güvenli liste yalnızca saldırı yüzeyini azaltmakla kalmaz, aynı zamanda anomaliler için bir taban çizgisi sağlayabilir ve "gürültülü komşu" ve kapsayıcı tartışma senaryolarının kullanım örneklerini önleyebilir.
Çalışan kapsayıcılarda ağ kesimlemesi uygulama
Bir alt ağdaki kapsayıcıların başka bir alt ağdaki güvenlik risklerine karşı korunmasına yardımcı olmak için ağ kesimleme (veya nano segmentasyon) veya çalışan kapsayıcılar arasında ayrım yapın. Uyumluluk zorunluluğunu karşılamak için gerekli olan sektörlerde kapsayıcıları kullanmak için ağ segmentasyonlarının korunması da gerekebilir.
Örneğin, Aqua iş ortağı aracı nano segmentlere ayırma için otomatik bir yaklaşım sağlar. Su, çalışma zamanında kapsayıcı ağı etkinliklerini izler. Diğer kapsayıcılara, hizmetlere, IP adreslerine ve genel İnternet'e tüm gelen ve giden ağ bağlantılarını tanımlar. Nano segmentasyon, izlenen trafiğe göre otomatik olarak oluşturulur.
Kapsayıcı etkinliğini ve kullanıcı erişimini izleme
Herhangi bir BT ortamında olduğu gibi, şüpheli veya kötü amaçlı etkinlikleri hızla belirlemek için kapsayıcı ekosisteminize etkinliği ve kullanıcı erişimini tutarlı bir şekilde izlemeniz gerekir. Azure aşağıdakiler dahil olmak üzere kapsayıcı izleme çözümleri sağlar:
Kapsayıcılar için Azure İzleyici, Azure Kubernetes Service'te (AKS) barındırılan Kubernetes ortamlarına dağıtılan iş yüklerinizin performansını izler. Kapsayıcılar için Azure İzleyici, Ölçümler API'si aracılığıyla Kubernetes'te kullanılabilen denetleyicilerden, düğümlerden ve kapsayıcılardan bellek ve işlemci ölçümlerini toplayarak performans görünürlüğü sağlar.
Azure Kapsayıcı İzleme çözümü, diğer Docker ve Windows kapsayıcı konaklarını tek bir konumda görüntülemenize ve yönetmenize yardımcı olur. Örneğin:
- Kapsayıcılarla kullanılan komutları gösteren ayrıntılı denetim bilgilerini görüntüleyin.
- Docker veya Windows konaklarını uzaktan görüntülemek zorunda kalmadan merkezi günlükleri görüntüleyip arayarak kapsayıcı sorunlarını giderin.
- Gürültülü olabilecek kapsayıcıları bulun ve konakta fazla kaynakları kullanın.
- Kapsayıcılar için merkezi CPU, bellek, depolama ve ağ kullanımı ile performans bilgilerini görüntüleyin.
Çözüm Docker Swarm, DC/OS, yönetilmeyen Kubernetes, Service Fabric ve Red Hat OpenShift gibi kapsayıcı düzenleyicilerini destekler.
Kapsayıcı kaynak etkinliğini izleme
Dosyalar, ağ ve kapsayıcılarınızın eriştikleri diğer kaynaklar gibi kaynak etkinliğinizi izleyin. Kaynak etkinliğini ve tüketimini izlemek hem performans izleme hem de güvenlik önlemi olarak yararlıdır.
Azure İzleyici ölçümlerin, etkinlik günlüklerinin ve tanılama günlüklerinin toplanmasına izin vererek Azure hizmetleri için temel izleme sağlar. Örneğin, etkinlik günlüğü size yeni kaynakların ne zaman oluşturulduğunu veya değiştirildiğini bildirir.
Farklı kaynaklar için ve hatta bir sanal makinenin içindeki işletim sistemi için bile performans istatistikleri sağlayan ölçümler kullanılabilir. Bu verileri Azure portalındaki gezginlerden biriyle görüntüleyebilir ve bu ölçümlere göre uyarılar oluşturabilirsiniz.
Denetim için tüm kapsayıcı yönetici kullanıcı erişimini günlüğe kaydetme
Kubernetes kümeniz, kapsayıcı kayıt defteriniz ve kapsayıcı görüntüleri dahil olmak üzere kapsayıcı ekosisteminize yönetim erişimi için doğru bir denetim kaydı sağlayın. Bu günlükler denetim amacıyla gerekli olabilir ve herhangi bir güvenlik olayından sonra adli kanıt olarak yararlı olacaktır. Azure çözümleri şunlardır:
- Azure Kubernetes Service'in küme ortamının güvenlik yapılandırmasını izlemek ve güvenlik önerileri oluşturmak için Bulut için Microsoft Defender ile tümleştirilmesi
- Azure Kapsayıcı İzleme çözümü
- Azure Container Instances ve Azure Container Registry için kaynak günlükleri
Sonraki adımlar
Dağıtımınızın güvenlik duruşunu geliştirmenize yardımcı olacak kapsamlı öneriler için Bkz. Kapsayıcı Örnekleri için Azure güvenlik temeli.
Kapsayıcılı ortamlarınızda gerçek zamanlı tehdit algılama için Bulut için Microsoft Defender kullanma hakkında daha fazla bilgi edinin.
Twistlock ve Aqua Security çözümleriyle kapsayıcı güvenlik açıklarını yönetme hakkında daha fazla bilgi edinin.