asp.net - networkservice - iis_iusrs



Wie lauten die Benutzerkonten für IIS/ASP.NET und wie unterscheiden sie sich? (1)

Unter Windows Server 2008 mit installiertem ASP.NET 4.0 gibt es eine ganze Reihe von verwandten Benutzerkonten, und ich kann nicht verstehen, welcher ist welcher, wie unterscheidet er sich, und welcher ist WIRKLICH der, unter dem meine App läuft. Hier ist eine Liste:

  • IIS_IUSRS
  • IUSR
  • StandardAppPool
  • ASP.NET v4.0
  • NETZWERKDIENST
  • SERVICE VOR ORT.

Was ist was?


Dies ist eine sehr gute Frage und leider stellen viele Entwickler nicht genügend Fragen zur Sicherheit von IIS / ASP.NET im Kontext eines Webentwicklers und zur Einrichtung von IIS. Also hier geht ....

Um die aufgeführten Identitäten abzudecken:

IIS_IUSRS:

Dies entspricht der alten IIS6 IIS_WPG Gruppe. Es ist eine integrierte Gruppe, deren Sicherheit so konfiguriert ist, dass jedes Mitglied dieser Gruppe als Anwendungspoolidentität fungieren kann.

IUSR:

Dieses Konto entspricht dem alten lokalen Konto IUSR_<MACHINE_NAME> , das der standardmäßige anonyme Benutzer für IIS5- und IIS6-Websites war (dh das über die Registerkarte "Verzeichnissicherheit" der Eigenschaften einer Website konfigurierte Website).

Weitere Informationen zu IIS_IUSRS und IUSR Sie unter:

Integrierte Benutzer- und Gruppenkonten in IIS 7 verstehen

DefaultAppPool:

Wenn ein Anwendungspool so konfiguriert ist, dass er mit der Funktion "Identität des Anwendungspools" ausgeführt wird, wird im IIS AppPool\<pool name> ein "synthetisiertes" Konto mit dem Namen IIS AppPool\<pool name> erstellt, das als IIS AppPool\<pool name> verwendet wird. In diesem Fall wird ein synthetisiertes Konto namens IIS 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 Berechtigungen auf Dateien und Ordner IIS AppPool\<pool name> müssen diese mithilfe von IIS AppPool\<pool name> hinzugefügt werden. Diese Pool-Konten werden auch nicht im Benutzer-Manager Ihres Computers angezeigt. Weitere Informationen finden Sie in den folgenden Abschnitten:

Identität des Anwendungspools

ASP.NET v4.0: -

Dies ist die Identität des Anwendungspools für den ASP.NET v4.0-Anwendungspool. Siehe DefaultAppPool oben.

NETWORK SERVICE: -

Das NETWORK SERVICE Konto ist eine integrierte Identität, die unter Windows 2003 eingeführt wurde. NETWORK SERVICE ist ein Konto mit wenig Berechtigungen, unter dem Sie Ihre Anwendungspools und Websites ausführen können. Eine Website, die in einem Windows 2003-Pool ausgeführt wird, kann immer noch das anonyme Konto der Website annehmen (IUSR_ oder was auch immer Sie als anonyme Identität konfiguriert haben).

In ASP.NET vor Windows 2008 kann ASP.NET Anforderungen unter dem Anwendungspoolkonto ausführen (normalerweise NETWORK SERVICE ). Alternativ können Sie ASP.NET so konfigurieren, dass die Identität des anonymen Kontos der Website über die Einstellung <identity impersonate="true" /> in der Datei web.config lokal angenommen wird (wenn diese Einstellung gesperrt ist, muss sie von einem Administrator im web.config machine.config Datei).

Das Festlegen von <identity impersonate="true"> ist in Shared Hosting-Umgebungen üblich, in denen gemeinsam genutzte Anwendungspools verwendet werden (in Verbindung mit teilweisen Vertrauenseinstellungen, um das Auflösen des impersonierten Kontos zu verhindern).

Das IIS7.x / ASP.NET-Identitätswechsel-Steuerelement wird jetzt über die Authentifizierungs-Konfigurationsfunktion einer Site konfiguriert. Sie können also konfigurieren, dass sie als Pool-Identität, IUSR oder ein bestimmtes benutzerdefiniertes anonymes Konto ausgeführt wird.

LOCAL SERVICE:

Das Konto LOCAL SERVICE ist ein integriertes Konto, das vom Dienststeuerungs-Manager verwendet wird. Es verfügt über einen Mindestsatz von Berechtigungen auf dem lokalen Computer. Es hat einen ziemlich begrenzten Anwendungsbereich:

Lokales Dienstkonto

LOCAL SYSTEM:

Sie haben nicht nach diesem gefragt, aber ich füge zur Vollständigkeit hinzu. Dies ist ein lokaler integrierter Account. Es hat ziemlich umfangreiche Privilegien und Vertrauen. Sie sollten niemals eine Website oder einen Anwendungspool für die Ausführung unter dieser Identität konfigurieren.

Lokales Systemkonto

In der Praxis:

In der Praxis wird der bevorzugte Ansatz zum Sichern einer Website (wenn die Site ihren eigenen Anwendungspool erhält - der Standard für eine neue Site in der MMC von IIS7 ist) unter Application Pool Identity . Dies bedeutet, dass die Identität der Site in den erweiterten Einstellungen des Application Pool Identity des Application Pool Identity :

In der Website sollten Sie dann die Authentifizierungsfunktion konfigurieren:

Klicken Sie mit der rechten Maustaste und bearbeiten Sie den Eintrag für die anonyme Authentifizierung:

Stellen Sie sicher, dass "Anwendungspoolidentität" ausgewählt ist:

Wenn Sie Datei- und Ordnerberechtigungen anwenden, erteilen Sie der Anwendungspool-Identität alle erforderlichen Rechte. Wenn Sie beispielsweise die Identität des Anwendungspools für die ASP.NET v4.0 Poolberechtigungen ASP.NET v4.0 , können Sie dies entweder über den Explorer tun:

Klicken Sie auf die Schaltfläche "Namen prüfen":

Oder Sie können dies mit dem ICACLS.EXE Dienstprogramm tun:

icacls c:\wwwroot\mysite /grant "IIS AppPool\ASP.NET v4.0":(CI)(OI)(M)

... oder ... Wenn der Anwendungspool Ihrer Site BobsCatPicBlog heißt, dann:

icacls c:\wwwroot\mysite /grant "IIS AppPool\BobsCatPicBlog":(CI)(OI)(M)

Ich hoffe, dass dies hilft, Dinge zu klären.

Aktualisieren:

Ich bin gerade auf diese exzellente Antwort von 2009 gestoßen, die eine Menge nützlicher Informationen enthält, die es wert sind, gelesen zu werden:

Der Unterschied zwischen dem Konto "Lokales System" und dem Konto "Netzwerkdienst"?





user-accounts