Frage Was sind die IUSR- und IWAM-Konten in IIS?


Ich suche nach einer guten Erklärung der IUSR- und IWAM-Konten, die von IIS verwendet werden, um meine Hosting-Umgebung besser zu konfigurieren:

  • Warum sind die hier?
  • Was ist der Unterschied zwischen ihnen?
  • Stehen die Namen für etwas Sinnvolles?
  • Gibt es Best-Practice-Änderungen, die ich vornehmen sollte?
  • IIS bietet mir auch Optionen zum Ausführen von Anwendungspools als Netzwerkdienst, Lokaler Dienst oder Lokales System. Sollte ich?
  • Mein Webserver ist Teil einer Domain, wie ändert sich das?

Es scheint üblich zu sein, eigene Versionen dieser Konten zu erstellen, wenn Sie mehrere Sites auf einem Server bereitstellen, was einige zusätzliche Fragen aufwirft:

  • Wann möchte ich meine eigenen IUSR- und IWAM-Konten erstellen?
  • Wie sollte ich diese zusätzlichen Konten erstellen, damit sie über die richtigen Berechtigungen verfügen?

Ich verwende sowohl IIS 6 als auch IIS 7 mit den meisten Standardkonfigurationen.


20
2017-08-05 01:48


Ursprung




Antworten:


IUSR und IWAM stammen aus den frühen Tagen von IIS, als Sie es separat installierten (nicht als Betriebssystemkomponente). Wenn eine Website eine anonyme Authentifizierung zulässt, wird das IUSR-Konto standardmäßig in Bezug auf Berechtigungen für das Betriebssystem verwendet. Dies kann von der Standardeinstellung geändert werden. Es gibt einige Sicherheitsempfehlungen, um das Konto zumindest umzubenennen. Es ist also kein "bekanntes" Konto, ähnlich wie es eine Empfehlung gibt, das Administratorkonto auf einem Server umzubenennen. Sie können mehr darüber erfahren IUSR und Authentifizierung bei MSDN.

IWAM wurde für alle veralteten Anwendungen entwickelt und wird nur in IIS 6.0 verwendet, wenn Sie sich im IIS 5.0-Isolationsmodus befinden. Sie haben es normalerweise mit COM / DCOM-Objekten gesehen.

In Bezug auf Anwendungspoolidentitäten wird standardmäßig der Netzwerkdienst ausgeführt. Sie sollten nicht als lokales System ausgeführt werden, da dieses Konto über Rechte eines Administrators verfügt. Das bedeutet, dass Sie den Netzwerkdienst, den lokalen Dienst oder ein anderes lokales / Domänenkonto als die beiden anderen verwenden.

Was zu tun ist, hängt davon ab. Ein Vorteil davon, es als Netzwerkdienst zu belassen, ist, dass es sich um ein Konto mit eingeschränkten Rechten auf dem Server handelt. Wenn es jedoch auf Ressourcen im Netzwerk zugreift, wird es als Domäne \ Computername $ angezeigt, was bedeutet, dass Sie Berechtigungen zuweisen können, die dem Netzwerkdienstkonto den Zugriff auf Ressourcen wie SQL Server ermöglichen, die auf einer anderen Box ausgeführt werden. Da es als Computerkonto angezeigt wird, ist der SPN bereits aktiviert, wenn Sie die Kerberos-Authentifizierung aktivieren, wenn Sie über den Servernamen auf die Website zugreifen.

Ein Fall, in dem Sie den Anwendungspool in ein bestimmtes Windows-Domänenkonto ändern möchten, wenn ein bestimmtes Konto auf Netzwerkressourcen zugreifen soll, z. B. ein Dienstkonto, das auf SQL Server für eine webbasierte Anwendung zugreift. Es gibt andere Optionen in ASP.NET, um dies zu tun, ohne die Identität des Anwendungspools zu ändern. Dies ist also nicht unbedingt notwendig. Ein weiterer Grund für die Verwendung eines Domänenbenutzerkontos wäre die Kerberos-Authentifizierung und die Verwaltung mehrerer Web-Server für eine Webanwendung. Ein gutes Beispiel ist, wenn Sie zwei oder mehr Webserver hatten, die SQL Server Reporting Services bereitstellen. Das Frontend würde wahrscheinlich zu einer generischen URL wie reports.mydomain.com oder reporting.mydomain.com führen. In diesem Fall kann der SPN nur auf ein Konto innerhalb von AD angewendet werden. Wenn die App-Pools unter Netzwerkdienst auf jedem Server ausgeführt werden, funktioniert das nicht, da sie beim Verlassen der Server als Domäne \ Computername $ angezeigt werden. Dies bedeutet, dass Sie über so viele Konten verfügen wie Server App Die Lösung besteht darin, ein Domänenkonto zu erstellen, die App-Pool-Identität auf allen Servern auf dasselbe Domänenbenutzerkonto festzulegen und den einen SPN zu erstellen, wodurch die Kerberos-Authentifizierung ermöglicht wird. Im Fall einer App wie SSRS, bei der Sie die Benutzeranmeldeinformationen an den Back-End-Datenbankserver weiterleiten möchten, ist die Kerberos-Authentifizierung ein Muss, denn dann müssen Sie die Kerberos-Delegierung konfigurieren.

Ich weiß, das ist eine Menge, aber die kurze Antwort ist, abgesehen von Local System, davon abhängig.


29
2017-08-07 04:47



Beachten Sie, dass Empfehlungen zum Umbenennen dieser Konten nicht von Microsoft stammen. Systemkonten haben statische und gut dokumentierte SIDs und sind unabhängig vom Anzeigenamen leicht zu hacken. - Thomas


IUSR = Internet User, d. H. Jeder anonyme, nicht authentifizierte Besucher Ihrer Website (d. H. So ziemlich jeder)

IWAM = Internet Web Application Manager, d. H. Alle Ihre ASP- und .NET-Anwendungen werden unter diesem Konto ausgeführt

Im Allgemeinen sollten IUSR und IWAM NUR Zugriff auf genau das haben, was sie benötigen. Sie sollten niemals Zugang zu etwas anderem erhalten, falls diese Konten kompromittiert werden, können sie auf nichts Kritisches zugreifen.

Das ist alles, was ich Ihnen aus Ihrer Liste von Fragen helfen kann, andere mit mehr Erfahrung in der IIS-Verwaltung können Ihnen vielleicht weiterhelfen!


7
2017-08-05 02:06





Ich gehe immer auf diesen Leitfaden zurück -

http://learn.iis.net/page.aspx/140/understanding-the-built-in-user-and-group-accounts-in-iis-70/

Sie können viel auf iis.net finden

Um es einfach auszudrücken - IUSR ist einfach ein Standard-Gastkonto, das standardmäßig über c: \ inetpub \ wwwroot verfügt.


5
2017-08-07 07:43