Azure Service Fabric güvenliği en iyi yöntemleri
Azure'da uygulama dağıtmak hızlı, kolay ve uygun maliyetlidir. Bulut uygulamanızı üretime dağıtmadan önce uygulamanıza güvenli kümeler uygulamak için temel ve önerilen en iyi yöntemler listemizi gözden geçirebilirsiniz.
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 yöntem için şunları açıklayacağız:
- En iyi yöntem nedir?
- Neden en iyi uygulamanın uygulanması gerektiğini.
- En iyi yöntem uygulanmazsa ne olabilir?
- En iyi uygulamanın nasıl uygulandığını nasıl öğrenilsin?
Güvenlikle ilgili en iyi Service Fabric aşağıdaki Azure uygulamalarını öneririz:
- Güvenli Azure Resource Manager oluşturmak için Service Fabric şablonlarını ve powershell modülünü kullanın.
- X.509 sertifikalarını kullanın.
- Güvenlik ilkelerini yapılandırma.
- Uygulama güvenlik Reliable Actors uygulama.
- Azure Service Fabric için TLS'yi yapılandırma.
- Azure sanal ağı ile ağ yalıtımı ve Service Fabric.
- Güvenlik Azure Key Vault yapılandırma.
- Kullanıcıları rollere atama.
Kümelerinizi güvenli hale getirmenin en iyi yöntemleri
Her zaman güvenli bir küme kullanın:
- Sertifikaları kullanarak küme güvenliğini uygulama.
- İstemci (Azure AD) kullanarak istemci erişimi (yönetici ve salt Azure Active Directory) sağlama.
Otomatik dağıtımları kullanma:
- Gizli dizileri oluşturmak, dağıtmak ve dağıtmak için betikleri kullanın.
- Gizli dizileri Azure Key Vault ve diğer tüm istemci erişimi için Azure AD'i kullanın.
- Gizli dizilere insan erişimi için kimlik doğrulaması gerektirme.
Ayrıca, aşağıdaki yapılandırma seçeneklerini de göz önünde belirleyin:
- Azure Ağ Güvenlik Gruplarını (NSG) kullanarak çevre ağları (sivil bölgeler, DMZ'ler ve ekranlı alt ağlar olarak da bilinir) oluşturun.
- Küme sanal makinelerine (VM) erişin veya kümenizi kümenize hızlı bir şekilde Uzak Masaüstü Bağlantısı.
Özellikle üretimde çalışan bir kümede yetkisiz kullanıcıların bağlanmasını önlemek için kümelerinizin güvenliği sağlanmamış olmalıdır. Güvenliksiz bir küme oluşturmak mümkün olsa da, küme yönetim uç noktalarını genel İnternet'e sunuyorsa anonim kullanıcılar kümenize bağlanabilirsiniz.
Çeşitli teknolojileri kullanarak küme güvenliğini uygulamak için üç senaryo vardır:
- Düğümden düğüme güvenlik: Bu senaryo, vm'ler ile 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ümede uygulama ve hizmet barındırmasını 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ği veya Windows güvenlik kullanabilir.
- İstemciden düğüme güvenlik: Bu senaryo, bir Service Fabric ve kümedeki tek tek düğümler arasındaki iletişimi güvenli hale sağlar.
- Service Fabric 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, Azure AD gibi) kullanır. Kümeyi oluşturmada 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 Azure AD güvenliğini kullanın.
Tek başına bir Windows yapılandırmak için bkz. Tek başına bir kümenin Windows yapılandırma.
Güvenli Azure Resource Manager oluşturmak için Service Fabric şablonlarını ve powershell modülünü kullanın. Uygulama şablonları kullanarak güvenli bir Service Fabric kümesi oluşturmaya Azure Resource Manager adım yönergeler için bkz. Service Fabric kümesi oluşturma.
Azure Resource Manager 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 denetim için şablonu kullanarak kaynak grubunuz üzerinde değişiklik yapın.
Küme yapılandırmanıza kod olarak davran:
- Dağıtım yapılandırmalarınızı kontrol etmek için dikkatli olun.
- Kaynaklarınızı doğrudan değiştirmek için örtülü komutlar kullanmaktan kaçının.
Uygulama yaşam döngüsünün Service Fabric birçok yönü otomatik hale geldi. PowerShell Service Fabric, Azure Service Fabric uygulamalarını dağıtma, yükseltme, kaldırma ve test etme için yaygın görevleri otomatik hale Service Fabric sağlar. 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 güvenlik açıklarını kullanarak kümelerinizi her zaman Windows olun. 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.
Ayrıca, şu uygulamaları izleyin:
- Sunucu sertifika hizmetinin doğru yapılandırılmış bir sertifikasını kullanarak üretim kümeleri Windows sertifikaları oluşturun. Ayrıca, sertifikaları onaylı bir sertifika yetkililerinden (CA) de edinsiniz.
- Sertifika bir sertifika veya benzer bir araç kullanılarak oluşturulduktan sonra üretim kümeleri için hiçbir MakeCert.exe veya test sertifikası kullanma.
- Test kümeleri için otomatik olarak imzalanan bir sertifika kullanın, ancak üretim kümeleri için kullanmaz.
Küme güvenli değilse, herkes kümeye anonim olarak bağlanarak yönetim işlemleri gerçekleştirin. Bu nedenle, üretim kümelerini her zaman X.509 sertifikalarını kullanarak veya güvenlik Windows güvenli hale Windows olun.
X.509 sertifikalarını kullanma hakkında daha fazla bilgi edinmek için bkz. Bir Service Fabric kümesi için sertifika ekleme veya kaldırma.
Güvenlik ilkelerini yapılandırma
Service Fabric, uygulamalar tarafından kullanılan kaynakların da güvenliğini 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 diğerine karşı daha güvenli bir şekilde çalıştırnmalarını sağlar.
Active Directory etki alanı grubu veya kullanıcısı kullanma: Hizmeti bir Active Directory kullanıcı veya grup hesabının kimlik bilgileri altında çalıştırın. Active Directory'i etki alanınız içinde değil, şirket içinde kullanmayı Azure Active Directory. Etki alanı kullanıcısı veya grubu kullanarak izin verilen etki alanındaki diğer kaynaklara erişin. Örneğin, dosya paylaşımları gibi kaynaklar.
HTTP ve HTTPS uç noktaları için güvenlik erişim ilkesi atama: Hizmet bildirimi HTTP ile uç nokta kaynakları bildirerek bir RunAs ilkesi uygulamak için SecurityAccessPolicy özelliğini belirtin. HTTP uç noktalarına ayrılan bağlantı noktaları, hizmetin altında çalıştır olduğu RunAs kullanıcı hesabı için doğru erişim denetimli listelerdir. İlke ayar değilse, http.sys erişime sahip değildir ve istemciden gelen çağrılarla hatalarla karşınıza çıkar.
Bir kümede güvenlik ilkelerinin nasıl Service Fabric için bkz. Uygulamanıza yönelik 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ı desende olduğu gibi, belirli bir deseni kullanma kararı, bir yazılım sorununun bu desene uygun olup olmadığını temel alan bir karardır.
Genel olarak, aşağıdaki yazılım sorunlarına veya güvenlik senaryolarına yönelik çözümleri modellemeye yardımcı olmak 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 birimi içerir.
- Bir dizi aktörde durumu sorgulama da dahil olmak üzere dış bileşenlerden önemli etkileşim gerektirmeyen tek iş parçacıklı nesnelerle çalışıyorsanız.
- Aktör örnekleriniz, tahmin edilemeyen gecikmelerle çağıranları, işletim sistemi işlemleri yayınarak engellemez.
Bu Service Fabric aktörler uygulama çerçevesinde Reliable Actors uygulanır. Bu çerçeve, aktör desenini temel alarak Service Fabric Reliable Services. Yazmakta olduğu her güvenilir aktör hizmeti, bölümlenmiş durum ifadeleri olan bir güvenilir hizmettir.
Her aktör, .NET nesnesinin bir .NET türünün örneği olmasıyla aynı olan bir aktör türü örneği olarak tanımlanır. Örneğin, bir hesaplayıcının işlevselliğini uygulayan bir aktör türü, küme genelindeki çeşitli düğümlere dağıtılmış olan bu türdeki birçok aktöre sahip olabilir. Dağıtılmış aktörlerin her biri, bir aktör tanımlayıcısı ile benzersiz bir şekilde nitelendirildir.
Çoğaltma sırasında kullanılan iletişim kanalının güvenliğini sağlamak için çoğaltıcı güvenlik yapılandırmaları kullanılır. Bu yapılandırma, hizmetlerin birbirlerinin çoğaltma trafiğini görmelerini önler ve yüksek oranda kullanılabilir verilerin güvenliğini sağlar. Varsayılan olarak, boş bir güvenlik yapılandırması bölümü çoğaltma güvenliğini önler. Çoğaltıcı yapılandırmaları, Aktör Durum Sağlayıcısı durumunu son derece güvenilir yapmakla sorumlu olan çoğaltıcıyı yapılandırabilirsiniz.
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 tanır. Bu sertifika ayrıca HTTPS yönetim API'si için ve HTTPS üzerinden Service Fabric Explorer TLS sağlar. Kümeniz için özel bir etki alanı adı edinmeniz gerekir. Bir sertifika yetkiliden sertifika isteğinde bulundurarak sertifikanın konu adı, kümeniz için kullanabileceğiniz özel etki alanı adıyla eşleşmesi gerekir.
Bir uygulama için TLS'yi yapılandırmak için, önce ca tarafından imzalanmış bir SSL/TLS sertifikası alamalısınız. CA, TLS güvenlik amacıyla sertifikalar alan güvenilir bir üçüncü taraftır. Henüz bir SSL/TLS sertifikanız yoksa, SSL/TLS sertifikaları satan bir şirketten bir sertifika alamalısınız.
Sertifikanın Azure'da SSL/TLS sertifikaları için aşağıdaki gereksinimleri karşılaması gerekir:
Sertifika bir özel anahtar içermeli.
Sertifika, anahtar değişimi için oluşturulmalı ve kişisel bilgi değişimi (.pfx) dosyasına aktarılabilir.
Sertifikanın konu adı, bulut hizmetinize erişmek için kullanılan etki alanı adıyla eşleşmeli.
- Bulut hizmetinize erişmek için kullanmak üzere özel bir etki alanı adı alın.
- Ca'dan, hizmetinizin özel etki alanı adıyla eşleşen konu adına sahip bir sertifika isteğinde bulundurabilirsiniz. Örneğin, özel etki alanı adınız contoso.com ise, CA'nıza yönelik sertifikanın konu adı .contoso.com veya www.contoso.com.
Not
Cloudapp.net etki alanı için bir CA'dan SSL/TLS sertifikası edinesiniz.
Sertifikanın en az 2.048 bit şifrelemesi kullanması gerekir.
HTTP protokolü güvenli değil ve dinleme saldırılarına maruz. HTTP üzerinden iletilen veriler, web tarayıcısında web sunucusuna veya diğer uç noktalar arasında düz metin olarak gönderilir. Saldırganlar HTTP üzerinden gönderilen kredi kartı ayrıntıları ve hesap oturum açma bilgileri gibi hassas verileri kesebiliyor ve görüntüebiliyor. Veriler HTTPS aracılığıyla bir tarayıcı üzerinden gönderilir veya gönderilirken SSL, hassas bilgilerin şifrelenir ve kesmeye karşı güvenli olmasını sağlar.
SSL/TLS sertifikalarını kullanma hakkında daha fazla bilgi için bkz. Azure'da bir uygulama için TLS'yi yapılandırma.
Azure depolama ile ağ yalıtımı ve güvenlik Service Fabric
Örnek olarak Azure Resource Manager kullanarak 3 nodetype güvenli küme ayarlayın. Şablonu ve Ağ Güvenlik Gruplarını kullanarak gelen ve giden ağ trafiğini denetleme.
Şablon, sanal makine ölçek kümelerinin her biri için bir NSG içerir ve kümenin içinde ve dışında trafiği kontrol etmek için kullanılır. Kurallar varsayılan olarak, sistem hizmetleri ve şablonda belirtilen uygulama bağlantı noktaları için gereken tüm trafiğe izin verecek şekilde yapılandırılır. Bu kuralları gözden geçirerek uygulamalarınıza yeni kurallar eklemek de dahil olmak üzere, ihtiyaçlarınıza uygun değişiklikleri yapın.
Daha fazla bilgi için bkz. Azure için yaygın ağ Service Fabric.
Güvenlik için Azure Key Vault ayarlama
Service Fabric, bir kümenin ve uygulamalarının güvenliğini sağlamak için kimlik doğrulaması ve şifreleme sağlamak üzere 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'Azure Key Vault kümelerini yönetmek için Service Fabric sertifikaları kullanırsiniz. Kümeleri oluşturan Azure kaynak sağlayıcısı, sertifikaları bir anahtar kasasında çeker. Ardından sağlayıcı, küme Azure'a dağıtıldığında sertifikaları VM'lere yüklür.
Azure Key Vault ,Service Fabric ve sertifikaları kullanan kaynak sağlayıcısı arasında bir sertifika ilişkisi vardır. Küme oluşturulduğunda, sertifika ilişkisiyle ilgili 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 koymanızı öneririz. Bu eylem depolama, işlem veya kümenizi içeren grup gibi diğer kaynak grupları kaldırılırsa anahtarlarınızı ve gizli dizilerinizi kaybetmenizi ö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 kasadan sertifikalar elde eder ve bunları SANAL makine örneklerine yükleyebilir.
Anahtar kasası ayarlama hakkında daha fazla bilgi edinmek için bkz. Anahtar kasası Azure Key Vault..
Rollere kullanıcı atama
Kümenizi temsil edecek uygulamaları oluşturduktan sonra, kullanıcılarınızı salt okunur ve yönetici Service Fabric rollere attayın. Bu rolleri atamak için aşağıdaki Azure portal.
Not
Hizmetlerde rolleri kullanma hakkında daha fazla Service Fabric için bkz. Service Fabric istemcileri için rol tabanlı erişim Service Fabric denetleme.
Azure Service Fabric, bir Service Fabric kümesine bağlı istemciler içiniki erişim denetimi türü 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 üzere erişim denetimi kullanabilir. Erişim denetimi, kümeyi daha güvenli hale sağlar.
Sonraki adımlar
- Service Fabric denetim listesi
- Geliştirme ortamınızı Service Fabric ortamınızı ayarlayın.
- Destek seçenekleri hakkında Service Fabric bilgi edinmek için.