Zusammenfassung
Sicherheitsupdate 2638420 (beschrieben im Security Bulletin MS11-100) ändert die Art und Weise, wie ASP.NET Formularauthentifizierungstickets erstellt. Das neue Verhalten ist mit dem vorherigen Verhalten nicht kompatibel. Tickets, die unter Anwendung des neuen Verhaltens generiert werden, können von Servern, die das alte Verhalten verwenden, nicht gelesen werden. Wenn Sie Anwendungen mit Formularauthentifizierung verwenden, müssen Sie daher bei der Bereitstellung des Sicherheitsupdates 2638420 bestimmte Schritte ausführen, um sicherzustellen, dass alle Server gleichzeitig zum neuen Verhalten wechseln.
Hinweise zur Bereitstellung
Administratoren, deren Anwendungen Formularauthentifizierungen verwenden, müssen aufgrund des geänderten Ticketverhaltens bei der Bereitstellung des Sicherheitsupdates 2638420 bestimmte Schritte ausführen, um sicherzustellen, dass alle Server gleichzeitig zum neuen Verhalten wechseln.
Prüfen Sie die Datei "System.web", um festzustellen, ob Ihre Anwendung die Formularauthentifizierung verwendet. Anwendungen mit Formularauthentifizierung haben den folgenden Eintrag in der Datei "System.web":<Authentifizierungsmodus ="Forms">Hinweise
-
Der standardmäßige Authentifizierungsmodus ist "Windows".
-
ASP.NET verwendet die Formularauthentifizierung nur, wenn sie explizit konfiguriert ist.
Wenn Sie Anwendungen mit Formularauthentifizierung verwenden, müssen Sie das Sicherheitsupdate 2638420 unter Anwendung einer der folgenden Methoden bereitstellen, um sicherzustellen, dass Ihre Website weiterhin einwandfrei funktioniert.
Methode 1 Stellen Sie das Sicherheitsupdate 2638420 gleichzeitig für alle aktiven Server in Ihrer ASP.NET-Webfarm bereit. Gehen Sie zu diesem Zweck folgendermaßen vor:-
Entfernen Sie die Hälfte der Server der Webfarm aus der Lastenausgleichsrotation.
-
Installieren Sie das Update auf diesen Servern.
-
Fügen Sie die Server wieder der Rotation hinzu, während Sie gleichzeitig die verbleibenden Server für das Update offline schalten.
Methode 2
Wenn Sie das Sicherheitsupdate 2638420 nicht für alle Server in Ihrer Webfarm gleichzeitig bereitstellen können, verwenden Sie stattdessen diese Methode. Hinweis Diese Methode wird von Microsoft nicht empfohlen. Wenn Sie diese Option konfigurieren, können Sie das Sicherheitsupdate auf einigen Servern Ihrer Webfarm installieren, sodass sie weiterhin unter Verwendung des alten Verhaltens funktionieren. Server, die diesen Konfigurationsschalter verwenden, befinden sich jedoch in einem nicht sicheren Zustand und profitieren von den Korrekturen dieses Sicherheitsupdates nicht. Daher sollte der Konfigurationsschalter entfernt werden, um das neue, sichere Verhalten zu aktivieren, sobald das Sicherheitsupdate 2638420 für alle Server der Webfarm bereitgestellt ist. Bevor Sie das Sicherheitsupdate 2638420 installieren, setzen Sie den Kompatibilitätschalter in der Datei "Web.config" oder "Machine.config", um das alte Verhalten zu erzwingen, nachdem das Update installiert ist. Gehen Sie zu diesem Zweck folgendermaßen vor:-
Öffnen Sie entweder die Datei "Web.config" oder die "Machine.config", indem Sie einen Texteditor wie Editor verwenden.
-
Fügen Sie der Datei den folgenden Text hinzu, und speichern Sie die Datei anschließend:
<appSettings>
<add key="aspnet:UseLegacyFormsAuthenticationTicketCompatibility" value="true" /> </appSettings>Nachdem Sie die Datei "Web.config" oder "Machine.config" aktualisiert und gespeichert haben, müssen weder den Computer noch einen der Dienste neu starten. Durch die Benachrichtigung zur Konfigurationsänderung wird der Anwendungspoolzyklus automatisch neu gestartet.
Die Web.config-Dateien befinden sich in den folgenden Verzeichnissen:
.NET Framework-Versionen 4.0 bis 4.5C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Web.config
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Web.config .NET Framework-Versionen 2.0 bis 3.5 SP1C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\Web.config Auf einem 32-Bit-Computer ist nur der Ordner "Framework" vorhanden. Auf einem 64-Bit-Computer sind die Ordner "Framework" und "Framework64" vorhanden. Daher müssen Sie den Eintrag in allen vier Dateien hinzufügen, wenn Sie über einen 32-Bit- und 64-Bit-Anwendungspool mit CLR 2 + CLR 4 verfügen. Wenn Sie diesen config-Dateien außerdem den Eintrag <appSettings> hinzufügen, erfolgt die Änderung systemweit.Bekannte Probleme
-
Ticketentschlüsselung schlägt nach dem Installieren des Sicherheitsupdates 2638420 fehl.
Nach dem Aktivieren des neuen Ticketverhaltens sind alle Formularauthentifizierungen, die unter Verwendung des alten Verhaltens generiert wurden, ungültig. Wenn dieses Problem auftritt, werden Endbenutzer abgemeldet, und Serveradministratoren können Fehler bei der Ticketentschlüsselung feststellen. Außerdem wird im Ereignisprotokoll folgende Fehlermeldung protokolliert:Protokollname: Anwendung
Ereignis-ID: 1315 Ereigniscode: 4005 Ereignismeldung: Formularauthentifizierung ist für die Anforderung fehlgeschlagen. Grund: Das angegebene Ticket ist abgelaufen.-
Auf einem oder mehreren Servern wurde das Sicherheitsupdate 2638420 nicht installiert.
-
Auf einem oder mehreren Servern ist der erwähnte Kompatibilitätsschalter festgelegt. Der Kompatibilitätsschalter ist oben in diesem Artikel beschrieben.
-
Weitere Informationen
Der Konfigurationschalter "TicketCompatibilityMode" wird nicht länger unterstützt.
Da das Sicherheitsupdate 2638420 das Format der Formularauthentifizierungstickets ändert, wird der Konfigurationsschalter <forms/ticketCompatibilityMode> nicht länger unterstützt, wenn das Sicherheitsupdate 2638420 installiert und aktiviert ist. Weitere Informationen zum Konfigurationsschalter <forms/ticketCompatibilityMode> finden Sie auf der folgenden MSDN-Website: