Verwenden des ASP.NET-Dienstprogramms zum Verschlüsseln von Anmeldeinformationen und Verbindungszeichenfolgen mit dem Sitzungsstatus

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 329290 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
329290 How to use the ASP.NET utility to encrypt credentials and session state connection strings
Wichtig: Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Sie sollten eine Sicherungskopie der Registrierung erstellen, bevor Sie die Registrierung bearbeiten. Sie müssen wissen, wie die Registrierung wiederhergestellt werden kann, wenn ein Problem auftritt. Weitere Informationen zum Erstellen einer Sicherungskopie, zum Wiederherstellen und Bearbeiten der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
256986 Beschreibung der Microsoft Windows-Registrierung
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt Schritt für Schritt, wie Sie mit dem Dienstprogramm "Aspnet_setreg.exe" Anmeldeinformationen und Verbindungszeichenfolgen mit dem Sitzungsstatus verschlüsseln. Für Microsoft ASP.NET Version 1.0 müssen Anmeldeinformationen im Klartext in Konfigurationsdateien gespeichert werden, wenn Sie eine der folgenden Aufgaben durchführen möchten:
  • Ändern der Identität des Microsoft ASP.NET-Workerprozesses
  • Angeben einer Identität für den Identitätswechsel
  • Angeben einer Verbindungszeichenfolge mit dem Sitzungsstatus
Wenn Sie den in Artikel 329250 der Microsoft Knowledge Base (siehe auch "Informationsquellen") beschriebenen Hotfix installieren, können Sie anstelle von Klartext in folgenden Konfigurationsabschnitten in der Registrierung gespeicherte verschlüsselte Daten verwenden:
  • <identity userName= password= />
  • <processModel userName= password= />
  • <sessionState stateConnectionString= sqlConnectionString= />

Einführung

Verwenden Sie das Dienstprogramm "Aspnet_setreg.exe", um diese Attributwerte zu verschlüsseln und sie in der Registrierung unter einem sicheren Schlüssel zu speichern. Verwenden Sie die Funktion CryptProtectData mit dem Flag CRYPTPROTECT_LOCAL_MACHINE, um die Anmeldeinformationen zu verschlüsseln. Da CryptUnprotectData von jeder Person mit Zugang zum Computer aufgerufen werden kann, werden die verschlüsselten Daten unter einem sicheren Registrierungsschlüssel und mit einer strengen DACL (Discretionary Access Control List) gespeichert. Wenn ASP.NET die Konfigurationsdatei analysiert, wird der sichere Registrierungsschlüssel gelesen. Anschließend werden die Daten mithilfe von CryptUnprotectData entschlüsselt.

"Inetinfo.exe" wird mit der Identität des Systems ausgeführt und liest den Abschnitt <processModel />. Das Systemkonto benötigt Leseberechtigungen für die Registrierungsschlüssel, in denen der Benutzername und das Kennwort für den ASP.NET-Workerprozess gespeichert sind, um diese zu lesen.

Der ASP.NET-Workerprozess ("Aspnet_wp.exe") liest die Abschnitte <identity /> und <sessionState />. Damit er diese Registrierungsschlüssel lesen kann, benötigt das Konto des Workerprozesses Leseberechtigungen für sie. Wenn Inhalte auf einer UNC-Freigabe (UNC = Universal Naming Convention) bereitgestellt werden, benötigt das Konto, das für den Zugriff auf die UNC-Freigabe verwendet wird, ausreichende Berechtigungen zum Lesen dieser Schlüssel.

Standardmäßig erteilen die von "Aspnet_setreg.exe" erstellten Registrierungsschlüssel den Konten "System", "Administrator" und "Ersteller-Besitzer" Vollzugriff. Verwenden Sie "Regedt32.exe", um die DACL des Registrierungsschlüssels zu bearbeiten. Stellen Sie sicher, dass nicht berechtigte Benutzer die Registrierungsschlüssel nicht lesen können.

Neustart von IIS

Damit Ihre Änderungen wirksam werden, müssen Sie Microsoft Internet Information Services (IIS) neu starten. Durch den Neustart von IIS starten Sie einen neuen ASP.NET-Worker-Prozess. Klicken Sie hierzu auf Start und auf Ausführen, geben Sie iisreset in das Feld Öffnen ein, und klicken Sie anschließend auf OK.

Hinweis: Wenn es sich bei dem neu konfigurierten Server um einen Domänencontroller handelt, müssen Sie den Server möglicherweise neu starten.

Weitere Informationen

Downloaden und Ausführen von "Aspnet_setreg.exe"

Die folgende Datei steht im Microsoft Download Center zum Download zur Verfügung:

Bild minimierenBild vergrößern
Download
Paket "Aspnet_setreq.exe" jetzt downloaden
Datum der Freigabe: 11.04.2003

Weitere Informationen über das Herunterladen von Microsoft Support-Dateien finden Sie in folgendem Artikel der Microsoft Knowledge Base:
119591 So erhalten Sie Microsoft Support-Dateien im Internet
Microsoft hat diese Datei auf Viren überprüft. Microsoft hat dazu die neueste Software zur Virenerkennung verwendet, die zum Zeitpunkt der Bereitstellung verfügbar war. Die Datei befindet sich auf Servern mit verstärkter Sicherheit, wodurch nicht autorisierte Änderungen an der Datei weitestgehend verhindert werden.

Wenn Sie alle verfügbaren Befehlszeilenoptionen und deren Syntax anzeigen möchten, führen Sie das Tool an der Eingabeaufforderung ohne Eingabe von Befehlszeilenoptionen aus. Wenn Sie das Tool im Verzeichnis "C:\Tools\" gespeichert haben, führen Sie an der Eingabeaufforderung folgenden Befehl aus, um alle verfügbaren Optionen und Hilfe zu deren Verwendung anzuzeigen:
C:\Tools>aspnet_setreg.exe

Verwenden von verschlüsselten Attributen in der Konfigurationsdatei

Warnung: Durch die falsche Bearbeitung der Registrierung mithilfe des Registrierungs-Editors oder einer anderen Methode können schwerwiegende Probleme verursacht werden. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht dafür garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungs-Editors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung.

Hinweis: Dieses Tool erstellt die Registrierungsschlüssel unterhalb der Teilstruktur HKEY_LOCAL_MACHINE. Standardmäßig können nur Administratoren Schlüssel unter dieser Unterstruktur erstellen. Stellen Sie sicher, dass Sie als Administrator angemeldet sind, damit die Registrierungsschlüssel erfolgreich erstellt werden können.
  1. Verschlüsseln Sie die Attribute userName und password, die im Abschnitt <identity> verwendet werden. (Sie können auch die Attribute der anderen in diesem Artikel beschriebenen Abschnitte verschlüsseln.) Geben Sie hierzu in die Befehlszeile den folgenden Befehl ein:
    c:\Tools>aspnet_setreg.exe -k:SOFTWARE\MY_SECURE_APP\identity -u:"domaenenname\benutzername" -p:"kennwort"
    Mit diesem Befehl werden die Attribute userName und password verschlüsselt, Registrierungsschlüssel an einem beliebigen von Ihnen angegebenen Ort erstellt und anschließend die Attribute in diesen Registrierungsschlüsseln gespeichert. Außerdem erzeugt der Befehl eine Ausgabe mit Anweisungen zum Ändern der Datei "Web.config" bzw. "Machine.config", damit ASP.NET diese Schlüssel zum Lesen der Informationen aus der Registrierung verwendet.

    Nachdem Sie den Befehl ausgeführt haben, erhalten Sie eine Ausgabe etwa folgenden Inhalts (sinngemäße Übersetzung):
    Die Konfiguration muss folgende Einträge enthalten. Nehmen Sie ggf. die entsprechenden Änderungen vor:

    userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,Benutzername"
    password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,Kennwort"

    Die DACL des Registrierungsschlüssels gewährt Vollzugriff für "System", "Administratoren" und "Ersteller-Besitzer".

    Falls Sie verschlüsselte Anmeldeinformationen für den Konfigurationsabschnitt <identity/> oder eine
    Verbindungszeichenfolge für den Konfigurationsabschnitt <sessionState/> verwenden, muss die Prozessidentität
    Lesezugriff auf den Registrierungsschlüssel besitzen. Wenn IIS auf Inhalte auf einer
    UNC-Freigabe zugreift, benötigt auch das Konto, das für den Zugriff auf die Freigabe verwendet wird, Lesezugriff auf den Registrierungsschlüssel.
    Verwenden Sie "Regedt32.exe", um Berechtigungen für Registrierungsschlüssel anzuzeigen bzw. zu ändern.

    Sie können den Registrierungsunterschlüssel und den Registrierungswert umbenennen, damit sie nicht ermittelt werden können.
  2. Bearbeiten Sie die entsprechende Konfigurationsdatei, und fügen Sie Zeiger auf diese Registrierungsschlüssel hinzu. Falls diese Werte im Abschnitt <identity> verwendet werden müssen, sieht der Abschnitt <identity> nach der Änderung ungefähr wie folgt aus:
     <identity impersonate="true" userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password" /> 					
  3. Erteilen Sie dem Konto des Prozesses "Aspnet_wp.exe" Leseberechtigungen. Weitere Informationen dazu, wie Sie Berechtigungen für Registrierungsschlüssel ändern, finden Sie in diesem Artikel im Abschnitt "Erteilen von Berechtigungen für das ASP.NET-Konto dieser Registrierungsschlüssel mithilfe von "Regedt32.exe"".

Erteilen von Berechtigungen für das ASP.NET-Konto dieser Registrierungsschlüssel mithilfe von "Regedt32.exe"

Warnung: Durch die falsche Bearbeitung der Registrierung mithilfe des Registrierungs-Editors oder einer anderen Methode können schwerwiegende Probleme verursacht werden. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht dafür garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungs-Editors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung.
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie in das Feld Öffnen die Zeichenfolge regedt32 ein, und klicken Sie anschließend auf OK.
  2. Klicken Sie auf den Unterschlüssel
    HKEY_LOCAL_MACHINE\SOFTWARE\MY_SECURE_APP\
    .
  3. Klicken Sie im Menü Sicherheit auf Berechtigungen, um das Dialogfeld Berechtigungen anzuzeigen.

    Bei Microsoft Windows XP oder Windows Server 2003 klicken Sie mit der rechten Maustaste auf den Registrierungsschlüssel und klicken Sie dann auf Berechtigungen.
  4. Klicken Sie auf Hinzufügen. Geben Sie in dem Dialogfeld, das erscheint, Folgendes ein: ihrservername\ASPNET (oder ihrservername\NetWork Service unter Windows Server 2003 (IIS 6.0)). Klicken Sie dann auf OK.
  5. Überprüfen Sie noch einmal, ob das soeben hinzugefügte Konto über Leseberechtigungen verfügt, und klicken Sie dann auf OK.
  6. Schließen Sie den Registrierungseditor.

Informationsquellen

Weitere Informationen zu einem Update, mit dem Sie die in diesem Artikel beschriebenen Funktionen verwenden können, finden Sie in folgendem Artikel der Microsoft Knowledge Base:
329250 UPDATE: Sicherere Anmeldeinformationen für "processModel", "identity" und "sessionState"
Weitere Informationen zur Microsoft Windows-Registrierung finden Sie in folgendem Artikel der Microsoft Knowledge Base:
256986 Beschreibung der Microsoft Windows-Registrierung
Weitere Informationen zur ASP.NET finden Sie in folgenden Artikeln der Microsoft Knowledge Base:
315158 UPDATE: ASP.NET funktioniert nicht mit einem Domänenkonto ohne Administratorberechtigungen auf einem Domänencontroller
317012 Prozess- und Anforderungsidentität in ASP.NET

Eigenschaften

Artikel-ID: 329290 - Geändert am: Montag, 29. Oktober 2007 - Version: 8.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Keywords: 
kbproductlink kbdownload kbconfig kbfix kbhowtomaster kbsecurity kbstate KB329290
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com