Aracılığıyla paylaş


İş Akışı Güvenliği

Windows Workflow Foundation (WF), Microsoft SQL Server ve Windows Communication Foundation (WCF) gibi çeşitli teknolojilerle tümleşiktir. Bu teknolojilerle etkileşime girmek, yanlış yapılırsa iş akışınızda güvenlik sorunlarına neden olabilir.

Not

İş akışları, yürütme sırasını ve kısa veya uzun süre çalışan görevler arasındaki bağımlılıkları açıklar. Kod yürütme mekanizması olarak yalnızca güvenilen kod yüklenip yürütülmelidir. Geliştiricilerin WF kullanan uygulamalarda yalnızca güvenilen iş akışlarının kullanıldığından emin olması gerekir.

Kalıcılık Güvenlik Endişeleri

  1. Etkinlik ve kalıcılık kullanan Delay iş akışlarının bir hizmet tarafından yeniden etkinleştirilmesi gerekir. Windows AppFabric, süresi dolan zamanlayıcılarla iş akışlarını yeniden etkinleştirmek için İş Akışı Yönetim Hizmeti'ni (WMS) kullanır. WMS, yeniden etkinleştirilen iş akışını barındırmak için bir WorkflowServiceHost oluşturur. WMS hizmeti durdurulursa, süreölçerlerinin süresi dolduğunda kalıcı iş akışları yeniden etkinleştirilmez.

  2. Dayanıklı koruma erişimi, uygulama etki alanının dışındaki kötü amaçlı varlıklara karşı korunmalıdır. Ayrıca geliştiriciler, kötü amaçlı kodun dayanıklı depolama koduyla aynı uygulama etki alanında yürütülemediğinden emin olmalıdır.

  3. Dayanıklı dayanıklılık, yükseltilmiş (Yönetici) izinlerle çalıştırılmamalıdır.

  4. Uygulama etki alanı dışında işlenen veriler korunmalıdır.

  5. Güvenlik yalıtımı gerektiren uygulamalar şema soyutlamanın aynı örneğini paylaşmamalıdır. Bu tür uygulamalar farklı mağaza sağlayıcıları veya farklı mağaza örneklemeleri kullanacak şekilde yapılandırılmış mağaza sağlayıcıları kullanmalıdır.

SQL Server Güvenlik Endişeleri

  • Çok sayıda alt etkinlik, konum, yer işareti, konak uzantısı veya kapsam kullanıldığında veya çok büyük yükleri olan yer işaretleri kullanıldığında bellek tükenebilir veya kalıcılık sırasında gereksiz miktarda veritabanı alanı ayrılabilir. Bu, nesne düzeyi ve veritabanı düzeyinde güvenlik kullanılarak azaltılabilir.

  • kullanırken SqlWorkflowInstanceStoreörnek deposunun güvenliği sağlanmalıdır.

  • Örnek deposundaki hassas veriler şifrelenmelidir. Daha fazla bilgi için bkz . SQL Server Şifrelemesi.

  • Veritabanı bağlantı dizesi genellikle bir yapılandırma dosyasına eklendiğinden, yapılandırma dosyasının (Web.Config genellikle) güvenli olduğundan ve oturum açma ve parola bilgilerinin bağlantı dizesi dahil edilmediğinden emin olmak için Windows düzeyinde güvenlik (ACL) kullanılmalıdır. Bunun yerine veritabanı ve web sunucusu arasında Windows kimlik doğrulaması kullanılmalıdır.

WorkflowServiceHost için Dikkat Edilmesi Gerekenler

  • İş akışlarında kullanılan Windows Communication Foundation (WCF) uç noktalarının güvenliği sağlanmalıdır. Daha fazla bilgi için bkz . WCF Güvenliğine Genel Bakış.

  • Konak düzeyinde yetkilendirme kullanılarak ServiceAuthorizationManageruygulanabilir. Ayrıntılar için bkz . Nasıl Yapılır: Hizmet için Özel Yetkilendirme Yöneticisi Oluşturma.

  • Gelen ileti için ServiceSecurityContext, OperationContext'e erişerek iş akışının içinden de kullanılabilir.

WF Güvenlik Paketi CTP

Microsoft WF Güvenlik Paketi topluluk teknolojisi önizlemesi (CTP) 1, .NET Framework 4 (WF 4) ve Windows Identity Foundation (WIF) içinde Windows Workflow Foundation'ı temel alan bir etkinlik kümesidir. Microsoft WF Güvenlik Paketi CTP 1, iş akışını kullanarak güvenlikle ilgili çeşitli senaryoları kolayca etkinleştirmeyi gösteren hem etkinlikleri hem de tasarımcılarını içerir:

  1. İş akışında istemci kimliğinin kimliğine bürünme

  2. PrincipalPermission ve Taleplerin doğrulanması gibi iş akışı içi yetkilendirme

  3. İş akışında belirtilen ClientCredentials kullanılarak kullanıcı adı/parola veya Güvenlik Belirteci Hizmeti'nden (STS) alınan belirteç gibi kimliği doğrulanmış mesajlaşma

  4. WS-Trust ActAs kullanarak bir istemci güvenlik belirtecini arka uç hizmetine (talep tabanlı temsilci) akışla aktarma