identity-Element (ASP.NET-Einstellungsschema)
Konfiguriert die Identität der Webanwendung. Dieses Element kann auf jeder Ebene der Konfigurationsdateihierarchie deklariert werden.
Hinweis |
---|
Die Beispielsyntax in diesem Thema umfasst ein Kennwort, um zu veranschaulichen, wie die Syntax funktioniert.Für die Anwendungen wird empfohlen, eine Strategie für das Sichern von Kennwörtern zu entwickeln. |
<identity impersonate="true|false"
userName="domain\username"
password="<secure password>"/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.
Attribute
Attribute |
Beschreibungen |
---|---|
Impersonate |
Erforderliches Attribut. Gibt an, ob für jede Anforderung Identitätswechsel des Clients verwendet werden. Dieses Attribut kann einen der folgenden möglichen Werte annehmen.
ValueBeschreibungen
false Gibt an, dass der Clientidentitätswechsel nicht verwendet wird.
true Gibt an, dass der Clientidentitätswechsel verwendet wird.
|
Password |
Optionales Attribut. Gibt das zu verwendende Kennwort an, wenn das impersonate-Attribut auf true festgelegt ist. Informationen zum Speichern von verschlüsselten Arbeitsprozess-Anmeldeinformationen in der Registrierung finden Sie in den Erläuterungen zum userName-Attribut. |
userName |
Optionales Attribut. Gibt den zu verwendenden Benutzernamen an, wenn das impersonate-Attribut auf true festgelegt ist. Dieses Attribut und das password-Attribut werden im Klartext in der Konfigurationsdatei gespeichert. Obwohl Microsoft Internetinformationsdienste (IIS) CONFIG-Dateien nicht auf Anforderung von Benutzer-Agents sendet, können CONFIG-Dateien auf andere Weise gelesen werden. Beispielsweise können diese Dateien von einem authentifizierten Benutzer gelesen werden, der über gültige Anmeldeinformationen für die Domäne des Servers verfügt. Aus Sicherheitsgründen unterstützt das identity-Attribut die Speicherung verschlüsselter userName-Attribute und password-Attribute in der Registrierung. Die Anmeldeinformationen müssen im REG_BINARY-Format vorliegen und mit der DPAPI (Data Protection API) von Microsoft Windows 2000 und Windows XP verschlüsselt werden. Weitere Informationen finden Sie unter "Hinweise" und "Beispiel" weiter unten in diesem Thema. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element |
Beschreibungen |
---|---|
configuration |
Gibt das Stammelement in jeder Konfigurationsdatei an, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird. |
system.web |
Gibt das Stammelement für den ASP.NET-Konfigurationsabschnitt an. |
Hinweise
Um den Benutzernamen und das Kennwort zu verschlüsseln und in der Registrierung zu speichern, legen Sie das userName-Attribut und das password-Attribut folgendermaßen fest.
userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"
Der Bereich der Zeichenfolge zwischen dem Schlüsselwort registry und dem Komma gibt den Namen des Registrierungsschlüssels an, der von ASP.NET geöffnet wird. Der Abschnitt hinter dem Komma enthält die Bezeichnung eines einzelnen Zeichenfolgenwerts, aus dem ASP.NET die Anmeldeinformationen entnimmt. Das Komma ist erforderlich, und die Anmeldeinformationen müssen im HKLM-Hive gespeichert werden. Wenn ein falsches Konfigurationsformat verwendet wird, startet ASP.NET den Arbeitsprozess nicht und folgt dem aktuellen Codepfad für Fehler bei der Kontoerstellung.
Die Anmeldeinformationen müssen im REG_BINARY-Format vorliegen und die Ausgabedaten eines Aufrufs der Windows-API-Funktion CryptProtectData enthalten. Die verschlüsselten Anmeldeinformationen können mithilfe von Aspnet_setreg.exe erstellt und in der Registrierung gespeichert werden. Aspnet_setreg.exe verwendet dabei CryptProtectData zum Ausführen der Verschlüsselung. Sie können Aspnet_setreg.exe zusammen mit dem Microsoft Visual C++-Quellcode und der Dokumentation herunterladen, indem Sie die ASP.NET-Website aufrufen und nach "aspnet_setreg" suchen.
Sie sollten den Zugriff auf den Schlüssel mit den verschlüsselten Anmeldeinformationen so konfigurieren, dass nur Administratoren und das SYSTEM-Konto Zugriff erhalten. Da der Schlüssel von dem ASP.NET-Prozess gelesen wird, der als SYSTEM ausgeführt wird, müssen Sie die folgenden Berechtigungen festlegen:
Administrators:F
SYSTEM:F
CREATOR OWNER:F
ProcessAccount:R
Es stehen also die folgenden beiden Verteidigungsstrategien zum Schutz der Daten zur Verfügung:
Aufgrund der ACL-Berechtigungen ist der Zugriff auf die Daten nur für Administratoren möglich.
Angreifer müssen Code auf dem Server ausführen (die CryptUnprotectData-API), um die Anmeldeinformationen für das Konto wiederherzustellen.
Standardkonfiguration
Das folgende identity-Standardelement wird nicht explizit in der Datei Machine.config oder der Stammdatei Web.config konfiguriert. Es ist jedoch die Standardkonfiguration, die von der Anwendung zurückgegeben wird.
<identity impersonate="false" userName="" password="" />
Elementinformationen
Konfigurationsabschnittshandler |
|
Konfigurationsmember |
|
Konfigurierbare Speicherorte |
Machine.config Web.config auf der Stammebene Web.config auf der Anwendungsebene Web.config auf der Ebene virtueller oder physikalischer Verzeichnisse |
Anforderungen |
Microsoft Internetinformationsdienste (IIS), Version 5.0, 5.1 oder 6.0 .NET Framework, Version 1.0, 1.1 oder 2.0 Microsoft Visual Studio 2003 oder Visual Studio 2005 |
Siehe auch
Aufgaben
Gewusst wie: Sperren von ASP.NET-Konfigurationseinstellungen
Referenz
system.web-Element (ASP.NET-Einstellungsschema)
Konzepte
Übersicht über die ASP.NET-Konfiguration
ASP.NET-Webserversteuerelemente und Browserfunktionen
Absichern der ASP.NET-Konfiguration
ASP.NET-Konfigurationsszenarios
Weitere Ressourcen
ASP.NET-Konfigurationseinstellungen