Azure Service Fabric güvenliği en iyi yöntemleri
Bu makaleye ek olarak, daha fazla bilgi için lütfen Service Fabric güvenlik denetim listesini de gözden geçirin.
Azure'da uygulama dağıtmak hızlı, kolay ve uygun maliyetlidir. Bulut uygulamanızı üretime dağıtmadan önce, uygulamanızda güvenli kümeler uygulamak için temel ve önerilen en iyi yöntemler listemizi gözden geçirin.
Azure Service Fabric; ölçeklenebilir ve güvenilir mikro hizmetleri paketlemeyi, dağıtmayı ve yönetmeyi kolaylaştırmayı sağlayan bir dağıtılmış sistemler platformudur. Service Fabric ayrıca bulut uygulamalarını geliştirme ve yönetme sürecinde karşılaşılan başlıca sorunların giderilmesini de sağlar. Geliştiriciler ve yöneticiler, karmaşık altyapı sorunlarını çözmeye çalışmak yerine görev açısından kritik, zorlu iş yüklerini uygulamaya odaklanabilir. Service Fabric, bu iş yüklerinin ölçeklenebilir, güvenilir ve yönetilebilir olmasını sağlar.
Her en iyi uygulama için şunları açıklayacağız:
- En iyi yöntem nedir?
- En iyi yöntemi neden uygulamanız gerekir?
- En iyi yöntemi uygulamazsanız neler olabilir?
- En iyi yöntemi uygulamayı nasıl öğrenebilirsiniz?
Aşağıdaki Azure Service Fabric güvenlik en iyi yöntemlerini öneririz:
- Güvenli kümeler oluşturmak için Azure Resource Manager şablonlarını ve Service Fabric PowerShell modülünü kullanın.
- X.509 sertifikalarını kullanın.
- Güvenlik ilkelerini yapılandırın.
- Reliable Actors güvenlik yapılandırmasını uygulayın.
- Azure Service Fabric için TLS'yi yapılandırın.
- Azure Service Fabric ile ağ yalıtımını ve güvenliğini kullanın.
- Azure Key Vault'ı güvenlik için yapılandırın.
- Kullanıcıları rollere atama.
- Bir Service Fabric kümesinde güvenilmeyen uygulamalar barındırılırken dikkat edilmesi gerekenler.
Kümelerinizi güvenli hale getirmek için en iyi yöntemler
Her zaman güvenli bir küme kullanın:
- Sertifikaları kullanarak küme güvenliğini uygulayın.
- Microsoft Entra Id kullanarak istemci erişimi (yönetici ve salt okunur) sağlayın.
Otomatik dağıtımları kullanın:
- Gizli dizileri oluşturmak, dağıtmak ve dağıtmak için betikleri kullanın.
- Gizli dizileri Azure Key Vault'ta depolayın ve diğer tüm istemci erişimi için Microsoft Entra Id kullanın.
- Gizli dizilere insan erişimi için kimlik doğrulaması gerektir.
Ayrıca, aşağıdaki yapılandırma seçeneklerini göz önünde bulundurun:
- Azure Ağ Güvenlik Gruplarını (NSG) kullanarak çevre ağları (yerelleştirilmiş bölgeler, DMZ'ler ve ekranlı alt ağlar olarak da bilinir) oluşturun.
- Uzak Masaüstü Bağlantısı ile atlama sunucularını kullanarak küme sanal makinelerine (VM) erişin veya kümenizi yönetin.
Özellikle bir küme üretimde çalışırken yetkisiz kullanıcıların bağlanmasını önlemek için kümelerinizin güvenliği sağlanmalıdır. Güvenli olmayan bir küme oluşturmak mümkün olsa da, küme yönetim uç noktalarını genel İnternet'te kullanıma sunarsa anonim kullanıcılar kümenize bağlanabilir.
Çeşitli teknolojileri kullanarak küme güvenliğini uygulamaya yönelik üç senaryo vardır:
- Düğümden düğüme güvenlik: Bu senaryo, VM'lerle kümedeki bilgisayarlar arasındaki iletişimin güvenliğini sağlar. Bu güvenlik biçimi, yalnızca kümeye katılma yetkisi olan bilgisayarların kümedeki uygulama ve hizmetleri barındırabilmesini sağlar. Bu senaryoda, Azure'da çalışan kümeler veya Windows üzerinde çalışan tek başına kümeler, Windows Server makineleri için sertifika güvenliğini veya Windows güvenliğini kullanabilir.
- İstemciden düğüme güvenlik: Bu senaryo, bir Service Fabric istemcisi ile kümedeki tek tek düğümler arasındaki iletişimin güvenliğini sağlar.
- Service Fabric rol tabanlı erişim denetimi (Service Fabric RBAC): Bu senaryo, kümeye erişen her yönetici ve kullanıcı istemci rolü için ayrı kimlikler (sertifikalar, Microsoft Entra Kimliği vb.) kullanır. Kümeyi oluştururken rol kimliklerini belirtirsiniz.
Not
Azure kümeleri için güvenlik önerisi: Düğümden düğüme güvenlik için istemcilerin ve sertifikaların kimliğini doğrulamak için Microsoft Entra güvenliğini kullanın.
Tek başına bir Windows kümesi yapılandırmak için bkz . Tek başına Bir Windows kümesi için ayarları yapılandırma.
Güvenli bir küme oluşturmak için Azure Resource Manager şablonlarını ve Service Fabric PowerShell modülünü kullanın. Azure Resource Manager şablonlarını kullanarak güvenli bir Service Fabric kümesi oluşturmaya yönelik adım adım yönergeler için bkz . Service Fabric kümesi oluşturma.
Azure Resource Manager şablonunu kullanın:
- VM sanal sabit diskleri (VHD) için yönetilen depolamayı yapılandırmak üzere şablonu kullanarak kümenizi özelleştirin.
- Kolay yapılandırma yönetimi ve denetimi için şablonu kullanarak kaynak grubunuzdaki değişiklikleri yönlendirin.
Küme yapılandırmanızı kod olarak değerlendirin:
- Dağıtım yapılandırmalarınızı denetlerken kapsamlı olun.
- Kaynaklarınızı doğrudan değiştirmek için örtük komutları kullanmaktan kaçının.
Service Fabric uygulama yaşam döngüsünün birçok yönü otomatikleştirilebilir. Service Fabric PowerShell modülü, Azure Service Fabric uygulamalarını dağıtma, yükseltme, kaldırma ve test etmeyle ilgili yaygın görevleri otomatikleştirir. Uygulama yönetimi için yönetilen API'ler ve HTTP API'leri de kullanılabilir.
X.509 sertifikalarını kullanma
X.509 sertifikalarını veya Windows güvenliğini kullanarak kümelerinizin güvenliğini her zaman sağlayın. Güvenlik yalnızca küme oluşturma zamanında yapılandırılır. Küme oluşturulduktan sonra güvenliği açmak mümkün değildir.
Bir küme sertifikası belirtmek için ClusterCredentialType özelliğinin değerini X509 olarak ayarlayın. Dış bağlantılar için bir sunucu sertifikası belirtmek için ServerCredentialType özelliğini X509 olarak ayarlayın.
Buna ek olarak, şu uygulamaları izleyin:
- Doğru yapılandırılmış bir Windows Server sertifika hizmeti kullanarak üretim kümeleri için sertifikalar oluşturun. Sertifikaları onaylı bir sertifika yetkilisinden (CA) da alabilirsiniz.
- Sertifika MakeCert.exe veya benzer bir araç kullanılarak oluşturulduysa, üretim kümeleri için hiçbir zaman geçici sertifika veya test sertifikası kullanmayın.
- Test kümeleri için otomatik olarak imzalanan bir sertifika kullanın, ancak üretim kümeleri için kullanmayın.
Küme güvenli değilse, herkes kümeye anonim olarak bağlanabilir ve yönetim işlemleri gerçekleştirebilir. Bu nedenle, X.509 sertifikalarını veya Windows güvenliğini kullanarak üretim kümelerinin güvenliğini her zaman sağlayın.
X.509 sertifikalarını kullanma hakkında daha fazla bilgi edinmek için bkz . Service Fabric kümesi için sertifika ekleme veya kaldırma.
Güvenlik ilkelerini yapılandırma
Service Fabric ayrıca uygulamalar tarafından kullanılan kaynakların güvenliğini de sağlar. Dosyalar, dizinler ve sertifikalar gibi kaynaklar, uygulama dağıtıldığında kullanıcı hesapları altında depolanır. Bu özellik, paylaşılan barındırılan bir ortamda bile uygulamaların birbirlerinden daha güvenli çalıştırılmasını sağlar.
Active Directory etki alanı grubu veya kullanıcısı kullanma: Hizmeti active directory kullanıcı veya grup hesabının kimlik bilgileri altında çalıştırın. Active Directory'yi Microsoft Entra ID'yi değil etki alanınızda kullandığınızdan emin olun. Etki alanı kullanıcı veya grubu kullanarak, etki alanındaki izin verilen diğer kaynaklara erişin. Örneğin, dosya paylaşımları gibi kaynaklar.
HTTP ve HTTPS uç noktaları için güvenlik erişim ilkesi atayın: Hizmet bildirimi HTTP ile uç nokta kaynaklarını bildirdiğinde hizmete Bir RunAs ilkesi uygulamak için SecurityAccessPolicy özelliğini belirtin. HTTP uç noktalarına ayrılan bağlantı noktaları, hizmetin altında çalıştığı RunAs kullanıcı hesabı için doğru erişim denetimli listelerdir. İlke ayarlanmadığında http.sys hizmete erişimi yoktur ve istemciden gelen çağrılarla hata alabilirsiniz.
Service Fabric kümesinde güvenlik ilkelerini kullanmayı öğrenmek için bkz . Uygulamanız için güvenlik ilkelerini yapılandırma.
Reliable Actors güvenlik yapılandırmasını uygulama
Service Fabric Reliable Actors, aktör tasarım deseninin bir uygulamasıdır. Herhangi bir yazılım tasarım deseninde olduğu gibi, belirli bir deseni kullanma kararı, bir yazılım sorununun desene uyup uymadığına bağlıdır.
Genel olarak, aşağıdaki yazılım sorunlarına veya güvenlik senaryolarına yönelik model çözümlerine yardımcı olması için aktör tasarım desenini kullanın:
- Sorun alanınız çok sayıda (binlerce veya daha fazla) küçük, bağımsız ve yalıtılmış durum ve mantık birimlerini içerir.
- Bir dizi aktör arasında durumu sorgulama da dahil olmak üzere dış bileşenlerden önemli etkileşim gerektirmeyen tek iş parçacıklı nesnelerle çalışıyorsunuz.
- Aktör örnekleriniz G/Ç işlemleri düzenleyerek beklenmeyen gecikmelerle çağıranları engellemez.
Service Fabric'te aktörler Reliable Actors uygulama çerçevesinde uygulanır. Bu çerçeve aktör desenini temel alır ve Service Fabric Reliable Services'ın üzerine kurulmuştur. Yazdığınız her güvenilir aktör hizmeti, bölümlenmiş durum bilgisi olan güvenilir bir hizmettir.
Her aktör bir aktör türünün örneği olarak tanımlanır ve .NET nesnesinin bir .NET türünün örneği olmasıyla aynıdır. Örneğin, bir hesap makinesinin işlevselliğini uygulayan bir aktör türü , küme genelinde çeşitli düğümlere dağıtılan bu türdeki birçok aktöre sahip olabilir. Dağıtılmış aktörlerin her biri benzersiz olarak bir aktör tanımlayıcısı ile karakterize edilir.
Çoğaltıcı güvenlik yapılandırmaları , çoğaltma sırasında kullanılan iletişim kanalının güvenliğini sağlamak için kullanılır. Bu yapılandırma, hizmetlerin birbirlerinin çoğaltma trafiğini görmesini engeller ve yüksek oranda kullanılabilir verilerin güvenli olmasını sağlar. Varsayılan olarak, boş bir güvenlik yapılandırması bölümü çoğaltma güvenliğini engeller. Çoğaltıcı yapılandırmaları, Aktör Durum Sağlayıcısı durumunu son derece güvenilir hale getirmekle sorumlu olan çoğaltıcıyı yapılandırıyor.
Azure Service Fabric için TLS'yi yapılandırma
Sunucu kimlik doğrulama işlemi , küme yönetim uç noktalarının kimliğini bir yönetim istemcisine doğrular . Ardından yönetim istemcisi gerçek kümeyle konuştuğunu fark eder. Bu sertifika ayrıca HTTPS yönetim API'sine ve HTTPS üzerinden Service Fabric Explorer'a yönelik bir TLS sağlar. Kümeniz için özel bir etki alanı adı edinmeniz gerekir. Bir sertifika yetkilisinden sertifika istediğinizde, sertifikanın konu adı kümeniz için kullandığınız özel etki alanı adıyla eşleşmelidir.
Bir uygulama için TLS'yi yapılandırmak için önce CA tarafından imzalanmış bir SSL/TLS sertifikası almanız gerekir. CA, TLS güvenlik amacıyla sertifika veren güvenilir bir üçüncü taraftır. Ssl/TLS sertifikanız yoksa SSL/TLS sertifikası satan bir şirketten bir sertifika almanız gerekir.
Sertifikanın Azure'da SSL/TLS sertifikaları için aşağıdaki gereksinimleri karşılaması gerekir:
Sertifika bir özel anahtar içermelidir.
Sertifika anahtar değişimi için oluşturulmalı ve kişisel bilgi değişimi (.pfx) dosyasına aktarılabilir olmalıdır.
Sertifikanın konu adı, bulut hizmetinize erişmek için kullanılan etki alanı adıyla eşleşmelidir.
- Bulut hizmetinize erişmek için kullanılacak özel bir etki alanı adı alın.
- Ca'dan, hizmetinizin özel etki alanı adıyla eşleşen konu adına sahip bir sertifika isteyin. Örneğin, özel etki alanı adınız contoso.com ise, CA'nızdaki sertifikanın konu adı .contoso.com veya www.contoso.com olmalıdır.
Not
cloudapp.net etki alanı için bir CA'dan SSL/TLS sertifikası alamazsınız.
Sertifika en az 2.048 bit şifreleme kullanmalıdır.
HTTP protokolü güvenli değildir ve dinleme saldırılarına tabidir. HTTP üzerinden iletilen veriler web tarayıcısından web sunucusuna veya diğer uç noktalar arasında düz metin olarak gönderilir. Saldırganlar, HTTP aracılığıyla gönderilen kredi kartı ayrıntıları ve hesap oturum açma bilgileri gibi hassas verileri kesebilir ve görüntüleyebilir. VERILER HTTPS aracılığıyla bir tarayıcı üzerinden gönderildiğinde veya gönderildiğinde SSL, hassas bilgilerin şifrelenmesini ve kesme işleminden korunmasını sağlar.
SSL/TLS sertifikalarını kullanma hakkında daha fazla bilgi edinmek için bkz . Azure'da bir uygulama için TLS'yi yapılandırma.
Azure Service Fabric ile ağ yalıtımını ve güvenliğini kullanma
Örnek olarak Azure Resource Manager şablonunu kullanarak 3 düğüm türü güvenli küme ayarlayın. Şablonu ve Ağ Güvenlik Gruplarını kullanarak gelen ve giden ağ trafiğini denetleyin.
Şablon, sanal makine ölçek kümelerinin her biri için bir NSG'ye sahiptir ve küme içindeki ve giden trafiği denetlemek için kullanılır. Kurallar, sistem hizmetleri ve şablonda belirtilen uygulama bağlantı noktaları için gerekli tüm trafiğe izin verecek şekilde varsayılan olarak yapılandırılır. Bu kuralları gözden geçirin ve uygulamalarınıza yeni kurallar eklemek de dahil olmak üzere gereksinimlerinize uygun değişiklikler yapın.
Daha fazla bilgi için bkz . Azure Service Fabric için yaygın ağ senaryoları.
Güvenlik için Azure Key Vault'un ayarlanması
Service Fabric, bir kümenin ve uygulamalarının güvenliğini sağlamak için kimlik doğrulaması ve şifreleme sağlamak için sertifikaları kullanır.
Service Fabric, bir kümenin güvenliğini sağlamak ve uygulama güvenlik özellikleri sağlamak için X.509 sertifikalarını kullanır. Azure'da Service Fabric kümelerinin sertifikalarını yönetmek için Azure Key Vault kullanırsınız. Kümeleri oluşturan Azure kaynak sağlayıcısı sertifikaları bir anahtar kasasından çeker. Ardından sağlayıcı, küme Azure'a dağıtıldığında vm'lere sertifikaları yükler.
Azure Key Vault, Service Fabric kümesi ve sertifikaları kullanan kaynak sağlayıcısı arasında bir sertifika ilişkisi vardır. Küme oluşturulduğunda, sertifika ilişkisi hakkındaki bilgiler bir anahtar kasasında depolanır.
Anahtar kasası ayarlamak için iki temel adım vardır:
Anahtar kasanız için özel olarak bir kaynak grubu oluşturun.
Anahtar kasasını kendi kaynak grubuna yerleştirmenizi öneririz. Bu eylem depolama, işlem veya kümenizi içeren grup gibi diğer kaynak grupları kaldırılırsa anahtarlarınızın ve gizli dizilerinizin kaybını önlemeye yardımcı olur. Anahtar kasanızı içeren kaynak grubu, onu kullanan kümeyle aynı bölgede olmalıdır.
Yeni kaynak grubunda bir anahtar kasası oluşturun.
Anahtar kasasının dağıtım için etkinleştirilmesi gerekir. İşlem kaynağı sağlayıcısı daha sonra sertifikaları kasadan alabilir ve VM örneklerine yükleyebilir.
Anahtar kasası ayarlama hakkında daha fazla bilgi edinmek için bkz . Azure Key Vault nedir?.
Rollere kullanıcı atama
Kümenizi temsil eden uygulamaları oluşturduktan sonra kullanıcılarınızı Service Fabric tarafından desteklenen rollere atayın: salt okunur ve yönetici. Bu rolleri Azure portalını kullanarak atayabilirsiniz.
Not
Service Fabric'te rolleri kullanma hakkında daha fazla bilgi için bkz . Service Fabric istemcileri için Service Fabric rol tabanlı erişim denetimi.
Azure Service Fabric, bir Service Fabric kümesine bağlı istemciler için iki erişim denetimi türünü destekler: yönetici ve kullanıcı. Küme yöneticisi, farklı kullanıcı grupları için belirli küme işlemlerine erişimi sınırlamak için erişim denetimini kullanabilir. Erişim denetimi kümeyi daha güvenli hale getirir.
Service Fabric kümesinde güvenilmeyen uygulamalar barındırılırken dikkat edilmesi gerekenler
Lütfen bkz . Service Fabric kümesinde güvenilmeyen uygulamaları barındırma.
Sonraki adımlar
- Service Fabric güvenlik denetim listesi
- Service Fabric geliştirme ortamınızı ayarlayın.
- Service Fabric destek seçenekleri hakkında bilgi edinin.