Unter Windows Server 2008 mit installiertem ASP.NET 4.0 gibt es eine ganze Reihe verwandter Benutzerkonten, und ich kann nicht verstehen, welches welches ist, wie sie sich unterscheiden und welches WIRKLICH das ist, unter dem meine App ausgeführt wird. Hier ist eine Liste:
- IIS_IUSRS
- IUSR
- DefaultAppPool
- ASP.NET v4.0
- NETZWERKDIENST
- SERVICE VOR ORT.
Was ist was?
asp.net
security
iis
user-accounts
Vilx-
quelle
quelle
Antworten:
Dies ist eine sehr gute Frage, und leider stellen viele Entwickler nicht genügend Fragen zur IIS / ASP.NET-Sicherheit, wenn sie Webentwickler sind und IIS einrichten. Also los geht's ....
So decken Sie die aufgeführten Identitäten ab:
IIS_IUSRS:
Dies ist analog zur alten IIS6-
IIS_WPG
Gruppe. Es handelt sich um eine integrierte Gruppe, deren Sicherheit so konfiguriert ist, dass jedes Mitglied dieser Gruppe als Anwendungspoolidentität fungieren kann.IUSR:
Dieses Konto entspricht dem alten
IUSR_<MACHINE_NAME>
lokalen Konto, das der standardmäßige anonyme Benutzer für IIS5- und IIS6-Websites war (dh das Konto, das über die Registerkarte Verzeichnissicherheit der Eigenschaften einer Site konfiguriert wurde).Weitere Informationen zu
IIS_IUSRS
undIUSR
siehe:DefaultAppPool:
Wenn ein Anwendungspool für die Ausführung mit der Funktion "Anwendungspoolidentität" konfiguriert ist, wird im laufenden Betrieb ein "synthetisiertes" Konto
IIS AppPool\<pool name>
erstellt, das als Poolidentität verwendet wird. In diesem Fall wird ein synthetisiertes KontoIIS AppPool\DefaultAppPool
erstellt, das für die Lebensdauer des Pools erstellt wird. Wenn Sie den Pool löschen, ist dieses Konto nicht mehr vorhanden. Wenn Sie Berechtigungen auf Dateien und Ordner anwenden, müssen diese mit hinzugefügt werdenIIS AppPool\<pool name>
. Sie sehen diese Poolkonten auch nicht im Benutzermanager Ihres Computers. Weitere Informationen finden Sie im Folgenden:ASP.NET v4.0:
- -Dies ist die Anwendungspoolidentität für den ASP.NET v4.0-Anwendungspool. Siehe
DefaultAppPool
oben.NETWORK SERVICE:
- -Das
NETWORK SERVICE
Konto ist eine in Windows 2003 eingeführte integrierte Identität. EsNETWORK SERVICE
handelt sich um ein Konto mit geringen Berechtigungen, unter dem Sie Ihre Anwendungspools und Websites ausführen können. Eine Website, die in einem Windows 2003-Pool ausgeführt wird, kann sich weiterhin als anonymes Konto der Website ausgeben (IUSR_ oder was auch immer Sie als anonyme Identität konfiguriert haben).In ASP.NET vor Windows 2008 konnte ASP.NET (normalerweise
NETWORK SERVICE
) Anforderungen unter dem Anwendungspoolkonto ausführen . Alternativ können Sie ASP.NET so konfigurieren, dass es sich über die<identity impersonate="true" />
Einstellung in derweb.config
Datei lokal als anonymes Konto der Site ausgibt (wenn diese Einstellung gesperrt ist, muss dies von einem Administrator in dermachine.config
Datei vorgenommen werden).Die Einstellung
<identity impersonate="true">
ist in gemeinsam genutzten Hosting-Umgebungen üblich, in denen gemeinsam genutzte Anwendungspools verwendet werden (in Verbindung mit teilweisen Vertrauenseinstellungen, um das Auflösen des imitierten Kontos zu verhindern).In IIS7.x / ASP.NET wird die Identitätswechselsteuerung jetzt über die Authentifizierungskonfigurationsfunktion einer Site konfiguriert. Sie können also konfigurieren, dass es als Poolidentität
IUSR
oder als ein bestimmtes benutzerdefiniertes anonymes Konto ausgeführt wird.LOCAL SERVICE:
Das
LOCAL SERVICE
Konto ist ein integriertes Konto, das vom Service Control Manager verwendet wird. Es verfügt über Mindestrechte auf dem lokalen Computer. Es hat einen ziemlich begrenzten Anwendungsbereich:LOCAL SYSTEM:
Sie haben nicht danach gefragt, aber ich füge der Vollständigkeit halber hinzu. Dies ist ein lokal integriertes Konto. Es hat ziemlich umfangreiche Privilegien und Vertrauen. Sie sollten niemals eine Website oder einen Anwendungspool so konfigurieren, dass sie unter dieser Identität ausgeführt werden.
In der Praxis:
In der Praxis wird der bevorzugte Ansatz zum Sichern einer Website (wenn die Site über einen eigenen Anwendungspool verfügt - dies ist die Standardeinstellung für eine neue Site in der MMC von IIS7) darin ausgeführt
Application Pool Identity
. Dies bedeutet, dass die Identität der Site in den erweiterten Einstellungen des Anwendungspools auf Folgendes festgelegt wirdApplication Pool Identity
:Auf der Website sollten Sie dann die Authentifizierungsfunktion konfigurieren:
Klicken Sie mit der rechten Maustaste und bearbeiten Sie den Eintrag Anonyme Authentifizierung:
Stellen Sie sicher, dass "Anwendungspoolidentität" ausgewählt ist:
Wenn Sie Datei- und Ordnerberechtigungen anwenden, erteilen Sie der Anwendungspoolidentität alle erforderlichen Rechte. Wenn Sie beispielsweise die Identität des Anwendungspools für die
ASP.NET v4.0
Poolberechtigungen erteilen, können Sie dies entweder über den Explorer tun:Klicken Sie auf die Schaltfläche "Namen überprüfen":
Oder Sie können dies mit dem
ICACLS.EXE
Dienstprogramm tun :... oder ... wenn der Anwendungspool Ihrer Site aufgerufen wird,
BobsCatPicBlog
dann:Ich hoffe, das hilft, die Dinge zu klären.
Aktualisieren:
Ich bin gerade auf diese hervorragende Antwort aus dem Jahr 2009 gestoßen, die eine Reihe nützlicher Informationen enthält, die es wert sind, gelesen zu werden:
quelle