Aracılığıyla paylaş


Hizmet Reddi

Hizmet reddi, bir sistem iletilerin işlenemeyeceği şekilde bunaldığında veya son derece yavaş işlendiğinde oluşur.

Fazla Bellek Tüketimi

Çok sayıda benzersiz yerel ad, ad alanı veya ön ek içeren bir XML belgesi okunurken bir sorun oluşabilir. XmlReader öğesinden türetilen bir sınıf kullanıyorsanız ve her öğe için LocalName, Prefix veya NamespaceURI özelliğini çağırırsanız, döndürülen dize NameTable öğesine eklenir. NameTable tarafından tutulan koleksiyonun boyutu asla azalmaz, bu da dize tanıtıcılarında sanal bir "bellek sızıntısı" oluşturur.

Azaltmalar şunlardır:

  • NameTable sınıfından türet ve maksimum boyut kotasını uygula. (Bir NameTable kullanımını veya dolduğunda NameTable anahtarını değiştirmeyi önleyemezsiniz.)

  • Özellikleri kullanmaktan kaçının ve bunun yerine mümkün olduğunda MoveToAttribute yöntemi ile IsStartElement yöntemini birlikte kullanın; bu yöntemler dize döndürmez ve böylece NameTable koleksiyonunun aşırı doldurulması sorununu önler.

Kötü Amaçlı İstemci Hizmete Aşırı Lisans İstekleri Gönderiyor

Kötü amaçlı bir istemci bir hizmeti aşırı lisans istekleriyle bombalarsa, sunucunun aşırı bellek kullanmasına neden olabilir.

Azaltma: LocalServiceSecuritySettings sınıfının aşağıdaki özelliklerini kullanın.

  • MaxCachedCookies: sunucu, SecurityContextToken veya SPNego müzakeresinden sonra zaman sınırlı SSL önbelleğe alınan maksimum sayıyı denetler.

  • IssuedCookieLifetime: Sunucu, SecurityContextTokens veya SPNego anlaşmasının ardından verdiği SSL'in ömrünü kontrol eder. Sunucu, bu süre boyunca SecurityContextToken öğelerini önbelleğe alır.

  • MaxPendingSessions: sunucuda oluşturulan ancak uygulama iletilerinin işlenmediği en fazla güvenli konuşma sayısını denetler. Bu kota, istemcilerin hizmette güvenli konuşmalar kurmasını engeller. Bu nedenle hizmet, istemciye özgü durumları korur, ancak asla kullanmaz.

  • InactivityTimeout: hizmetin, konuşma için istemciden bir uygulama iletisi almadan güvenli bir konuşmayı canlı tutma süresini denetler. Bu kota, istemcilerin hizmette güvenli konuşmalar kurmasını engeller. Bu nedenle hizmet, istemciye özgü durumları korur, ancak asla kullanmaz.

WSDualHttpBinding veya İkili Özel Bağlamalar İstemci Kimlik Doğrulaması Gerektirir

Varsayılan olarak, WSDualHttpBinding güvenlik etkindir. Ancak, istemci kimlik doğrulaması özelliği ClientCredentialTypeolarak ayarlanarak None devre dışı bırakılırsa kötü amaçlı bir kullanıcının üçüncü bir hizmette hizmet reddi saldırısına neden olması mümkündür. Bunun nedeni kötü amaçlı bir istemcinin hizmeti üçüncü bir hizmete ileti akışı göndermeye yönlendirmesi olabilir.

Bunu önlemek için özelliği None olarak ayarlamayın. Ayrıca, ikili ileti deseni olan bir özel bağlama oluştururken bu olasılığı da unutmayın.

Denetim Olay Günlüğü Doldurulabilir

Kötü amaçlı bir kullanıcı denetimin etkinleştirildiğini anlarsa, bu saldırgan denetim girdilerinin yazılması için geçersiz iletiler gönderebilir. Denetim günlüğü bu şekilde doldurulursa, denetim sistemi başarısız olur.

Bunu azaltmak için SuppressAuditFailure özelliğini true olarak ayarlayın ve denetim davranışını kontrol etmek için Olay Görüntüleyicisi'nin özelliklerini kullanın. Olay günlüklerini görüntülemek ve yönetmek için Olay Görüntüleyicisi'ni kullanma hakkında daha fazla bilgi için bkz. Olay Görüntüleyicisi. Daha fazla bilgi için bkz . Denetim.

IAuthorizationPolicy'nin Geçersiz Uygulamaları Hizmetin Yanıt Vermemeye Başlamasına Neden Olabilir

Evaluate yönteminin IAuthorizationPolicy arabirimine hatalı bir uygulamada çağrılması hizmetin yanıt vermemesine neden olabilir.

Azaltma: Yalnızca güvenilen kodu kullanın. Başka bir ifadeyle, yalnızca yazdığınız ve test ettiğiniz veya güvenilir bir sağlayıcıdan gelen kodu kullanın. Güvenilmeyen IAuthorizationPolicy uzantılarının dikkate alınmadan kodunuza eklenmesine izin vermeyin. Bu, bir hizmet uygulamasında kullanılan tüm uzantılar için geçerlidir. WCF, genişletilebilirlik noktaları kullanılarak takılı olan uygulama kodu ile yabancı kod arasında herhangi bir ayrım yapmaz.

Kerberos Maksimum Belirteç Boyutu Yeniden Boyutlandırılması Gerekebilir

bir istemci çok sayıda gruba aitse (gerçek sayı gruplara bağlı olarak değişse de yaklaşık 900), ileti üst bilgisinin bloğu 64 kilobayt'ı aştığında bir sorun oluşabilir. Bu durumda, maksimum Kerberos belirteci boyutunu artırabilirsiniz. Daha büyük Kerberos belirtecini barındırmak için en büyük WCF ileti boyutunu artırmanız da gerekebilir.

Otomatik Kayıt İşlemi, Makine için Aynı Konu Adına Sahip Birden Çok Sertifika Üretir.

Otomatik kayıt , Windows Server 2003'ün kullanıcıları ve bilgisayarları sertifikalar için otomatik olarak kaydetme özelliğidir. Bir makine, özelliği etkinleştirilmiş bir etki alanında olduğunda, istemci kimlik doğrulamasının hedeflenen amacına sahip bir X.509 sertifikası otomatik olarak oluşturulur ve ağa yeni bir makine katıldığında yerel bilgisayarın Kişisel sertifika deposuna eklenir. Ancak otomatik kayıt, önbellekte oluşturduğu tüm sertifikalar için aynı konu adını kullanır.

Bunun etkisi, WCF hizmetlerinin otomatik kayıt içeren etki alanlarında açılamamasıdır. Bunun nedeni, varsayılan hizmet X.509 kimlik bilgisi arama ölçütlerinin belirsiz olmasıdır çünkü makinenin tam Etki Alanı Adı Sistemi (DNS) adına sahip birden çok sertifika vardır. Bir sertifika otomatik kayıttan kaynaklanır; diğeri kendi kendine verilen bir sertifika olabilir.

Bunu azaltmak için, serviceCredentials< üzerinde daha hassas bir arama ölçütü kullanarak hangi sertifikayı kullanacağınızı > belirleyin. Örneğin, FindByThumbprint seçeneğini kullanın ve sertifikayı benzersiz parmak izi (karma) ile belirtin.

Otomatik kayıt özelliği hakkında daha fazla bilgi için bkz. Windows Server 2003'te Sertifika Otomatik Kaydı.

Yetkilendirme için Kullanılan Birden Çok Alternatif Konu Adının Sonuncusu

Bir X.509 sertifikası birden çok alternatif konu adı içerdiğinde ve alternatif konu adını kullanarak yetkilendirildiğinizde, yetkilendirme başarısız olabilir.

Yapılandırma Dosyalarını ACL'lerle koruma

CardSpace tarafından verilen belirteçler için kod ve yapılandırma dosyalarında gerekli ve isteğe bağlı talepleri belirtebilirsiniz. Bu, karşılık gelen öğelerin güvenlik belirteci hizmetine gönderilen RequestSecurityToken mesajlarında yayılmasına neden olur. Saldırgan, gerekli veya isteğe bağlı talepleri kaldırmak için kodu veya yapılandırmayı değiştirebilir ve güvenlik belirteci hizmetinin hedef hizmete erişime izin vermeyen bir belirteç vermesine neden olabilir.

Azaltmak için: Yapılandırma dosyasını değiştirmek için bilgisayara erişim gerektir. Yapılandırma dosyalarının güvenliğini sağlamak için dosya erişim denetim listelerini (ACL' ler) kullanın. WCF, bu kodun yapılandırmadan yüklenmesine izin vermeden önce kodun uygulama dizininde veya genel derleme önbelleğinde olmasını gerektirir. Dizinlerin güvenliğini sağlamak için dizin ACL'lerini kullanın.

Bir Hizmet için En Fazla Güvenli Oturum Sayısına Ulaşıldı

Bir istemcinin kimliği bir hizmet tarafından başarıyla doğrulandığında ve hizmetle güvenli bir oturum kurulduğunda, istemci tarafından iptal edilene veya oturumun süresi dolana kadar hizmet oturumu izler. Oluşturulan her oturum, bir hizmetle en fazla etkin eşzamanlı oturum sayısı sınırına göre sayılır. Bu sınıra ulaşıldığında, bu hizmetle yeni bir oturum oluşturmaya çalışan istemciler, bir veya daha fazla etkin oturumun süresi dolana veya bir istemci tarafından iptal edilene kadar reddedilir. İstemcinin bir hizmetle birden çok oturumu olabilir ve bu oturumlardan her biri sınıra doğru sayılır.

Uyarı

Durum bilgisi olan oturumları kullandığınızda, önceki paragraf geçerli değildir. Durum bilgisi olan oturumlar hakkında daha fazla bilgi için, Nasıl yapılacağı: Güvenli Oturum için Güvenlik Bağlam Belirteci Oluşturma bölümüne bakın.

Bunu azaltmak için, sınıfın özelliğini SecurityBindingElement ayarlayarak etkin oturum sayısı üst sınırı ve bir oturum için maksimum yaşam süresi sınırını ayarlayınSecurityBindingElement.

Ayrıca bakınız