Uygulandığı Öğe
.NET Framework 3.5 Service Pack 1 Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Professional Windows 7 Ultimate Windows 7 Home Premium Windows 7 Home Basic Windows 7 Enterprise Windows 7 Professional Windows 7 Ultimate Windows 7 Home Premium Windows 7 Home Basic Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Standard Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Standard Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 Service Pack 2 Windows Server 2008 for Itanium-Based Systems Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Vista Service Pack 2 Windows Vista Business Windows Vista Enterprise Windows Vista Home Basic Windows Vista Home Premium Windows Vista Starter Windows Vista Ultimate Windows Vista Enterprise 64-bit Edition Windows Vista Home Basic 64-bit Edition Windows Vista Home Premium 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Vista Business 64-bit Edition Microsoft Windows Server 2003 Service Pack 2 Microsoft Windows XP Professional x64 Edition Microsoft Windows XP Service Pack 3 Microsoft Windows XP Home Edition Microsoft Windows XP Professional

Özet

Güvenlik güncelleştirmesi 2638420 (MS11-100 güvenlik bülteninde açıklanan), ASP.NET'in form kimlik doğrulaması anahtarlarını oluşturma biçimini değiştirir. Yeni davranış önceki davranış ile uyumlu değildir. Yeni davranış kullanılarak oluşturulan anahtarlar, eski davranışı kullanan sunucular tarafından okunamaz (veya tam tersi). Bu nedenle, form kimlik doğrulaması kullanan uygulamaları kullanırsanız, tüm sunucuların aynı anda yeni davranışı kullandığından emin olmak için 2638420 numaralı güvenlik güncelleştirmesini dağıtırken gerekli işlemleri yapmanız gerekir.

Dağıtım kılavuzu

Anahtar davranışı değişikliği nedeniyle, uygulamaları form kimlik doğrulaması kullanan yöneticiler, tüm sunucuların aynı anda yeni davranışa geçtiğinden emin olmak için 2638420 numaralı güvenlik güncelleştirmesini dağıtırken gerekli işlemleri yapmalıdırlar. Uygulamanızın form kimlik doğrulaması kullanıp kullanmadığını belirlemek için System.web dosyasını inceleyin. Form kimlik doğrulamasını kullanan uygulamalar System.web dosyasında aşağıda bulunan girdiyi kullanır:

<authentication mode="Forms">Notlar

  • Varsayılan kimlik doğrulama modu "Windows"dur.

  • ASP.NET, yalnızca bunu yapacak biçimde açıkça yapılandırılmışsa form kimlik doğrulamasını kullanır.

Form kimlik doğrulaması kullanan uygulamalar kullanıyorsanız, web sitelerinizin düzgün biçimde çalışmaya devam etmesi için aşağıdaki yöntemlerden birini kullanarak 2638420 numaralı güvenlik güncelleştirmesini dağıtmanız gerekir. Yöntem 12638420 numaralı güvenlik güncelleştirmesini ASP.NET web grubunuzdaki tüm etkin sunuculara aynı anda dağıtma. Bunu yapmak için şu adımları uygulayın:

  1. Web grubundaki sunucuların yarısını yük dengeleyici rotasyonundan kaldırın.

  2. Güncelleştirmeyi bu sunuculara yükleyin.

  3. Bu sunucuları tekrar rotasyona alın ve geri kalan sunucuları güncelleştirilmek üzere çevrimdışı bırakın.

Yöntem 22638420 numaralı güvenlik güncelleştirmesini web grubunuzdaki tüm sunuculara aynı anda dağıtamıyorsanız bu yöntemi kullanın. Not Bu yöntem önerilmez. Bu anahtarı ayarladığınızda, güvenlik güncelleştirmesini web grubundaki bazı sunuculara yükleyebilir ve eski davranışı kullanarak çalışmaya devam edebilirsiniz. Ancak bu yapılandırma anahtarını kullanan sunucular güvensiz bir duruma geçerler ve güvenlik güncelleştirmesindeki tüm düzeltmelerden faydalanamazlar. Bu yüzden, yapılandırma anahtarı 2638420 numaralı güvenlik güncelleştirmesi web grubundaki tüm sunuculara dağıtılır dağıtılmaz yeni güvenlik davranışını etkinleştirmek için kaldırılmalıdır. Güncelleştirme yüklendiğinde eski davranışı zorlamak için 2638420 numaralı güvenlik güncelleştirmesini yüklemeden önce Web.config veya Machine.config dosyasında bir uyumluluk anahtarı ayarlayın. Bunu yapmak için şu adımları uygulayın:

  1. Notepad gibi bir metin düzenleyicisi kullanarak Web.config ya da Machine.config dosyasını açın.

  2. Aşağıdaki metni dosyaya ekleyin ve dosyayı kaydedin:

    <appSettings><add key="aspnet:UseLegacyFormsAuthenticationTicketCompatibility" value="true" /></appSettings>Web.config veya Machine.config dosyalarını güncelleştirip kaydettikten sonra bilgisayarı ya da herhangi bir hizmeti yeniden başlatmanız gerekmez. Yapılandırma değişikliği bildirimi uygulama havuzunu otomatik olarak gezecektir.

Web.config dosyalarını aşağıdaki konumlarda bulabilirsiniz: .NET Framework 4.0 ve 4.5 arasındaki sürümleri

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Web.configC:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Web.config .NET Framework 2.0 ve 3.5 SP1 arasındaki sürümleri

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.configC:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\Web.config 32-bit bilgisayarlarda yalnızca Framework klasörü bulunur. 64-bit bilgisayarlarda Framework ve Framework64 klasörlerinin her ikisi de bulunur. Bu nedenle, CLR 2 + CLR 4 karışımını çalıştıran hem 32-bit hem de 64-bit uygulama havuzunuz varsa girdiyi bu dosyaların dördüne de eklemelisiniz. Ayrıca, bu yapılandırma dosyalarına <appSettings> girdisini eklerseniz, değişim sistem geneline uygulanır.

Bilinen sorunlar

  • 2638420 numaralı güvenlik güncelleştirmesi yüklendikten sonra anahtar şifresi çözümü başarısız oluyorYeni anahtar davranışı etkinleştirildikten sonra, eski davranış kullanılarak oluşturulan tüm form kimlik doğrulaması anahtarları geçersiz hale getirilir. Bu sorun oluştuğunda, son kullanıcıların oturumu kapatılır ve sunucu yöneticileri anahtar şifresi çözümü hatalarıyla karşılaşabilirler. Ayrıca, Olay günlüğüne aşağıdaki hata iletisi kaydedilir:

    Günlük Adı: UygulamaOlay Kimliği: 1315Olay kodu: 4005Olay iletisi: Form kimlik doğrulaması isteği başarısız oldu. Neden: Sağlanan anahtar geçersizdi.

    Bu hatalar, beklenmeyen davranışlara neden olabilir. Örneğin "HTTP 401" veya "HTTP 302" hataları, web sayfaları bir <kimlik doğrulama> öğesi ile korunuyorsa oluşabilir. 2638420 numaralı güvenlik güncelleştirmesi yüklendikten sonra, önceden oluşturulmuş anahtarların kullanım süresi dolduğu için yöneticiler bu anahtar şifresi çözümü hatalarından birkaçını tahmin edebilir. Hataların sayısı ve sıklığı, yeni anahtarlar oluşturuldukça zaman içinde azalmalıdır. Şifre çözme hataları güvenlik güncelleştirmesi yüklendikten sonraki uzun bir süre boyunca devam ederse, bu durum web grubundaki bazı sunucuların halen eski anahtar davranışını kullandığının göstergesi olabilir. Örneğin, aşağıdakilerden biri geçerli olduğunda sorun oluşabilir:

    • 2638420 numaralı güvenlik güncelleştirmesi bir veya daha fazla sunucu üzerinde uygulanmamıştır.

    • Bir veya daha fazlası, adı geçen uyumluluk anahtarı ayarına sahiptir. Uyumluluk anahtarı, bu makalenin önceki bölümlerinde açıklanmıştır.

Daha fazla bilgi

TicketCompatibilityMode yapılandırma anahtarı artık desteklenmiyor 2638420 numaralı güvenlik güncelleştirmesi form kimlik doğrulaması anahtarlarının biçimini değiştirdiği için, 2638420 numaralı güvenlik güncelleştirmesi yüklenmiş ve etkinleştirilmişse, <forms/ticketCompatibilityMode> yapılandırma anahtarı artık desteklenmez. <forms/ticketCompatibilityMode> yapılandırma anahtarı hakkında daha fazla bilgi için aşağıdaki MSDN web sitesini ziyaret edin:

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.