Grundlegendes zu integrierten Benutzer- und Gruppenkonten in IIS 7

von Saad Ladki

Einführung

In früheren Versionen von IIS wird während der Installation ein lokales Konto namens „IUSR_MachineName“ erstellt. IIS hat das Konto „IUSR_MachineName“ standardmäßig verwendet, wenn die anonyme Authentifizierung aktiviert war. Das wurde von den FTP- sowie HTTP-Diensten verwendet.

Es gab auch eine Gruppe namens „IIS_WPG“, die als Container für alle Anwendungspoolidentitäten verwendet wurde. Während des IIS-Setups wurden allen entsprechenden Ressourcen auf dem System die richtigen Benutzerrechte für die Gruppe „IIS_WPG“ zugewiesen, sodass ein Administrator nur seine Identität zu dieser Gruppe hinzufügen musste, wenn er ein neues Anwendungspoolkonto erstellte.

Dieses Modell funktionierte gut, hatte aber seine Nachteile: Das Konto „IUSR_MachineName“ und die Gruppe „IIS_WPG“ waren beide lokal auf dem System, auf dem sie erstellt wurden. Jedes Konto und jede Gruppe in Windows erhält eine eindeutige Nummer, die als Sicherheits-ID (SID) bezeichnet wird, um sie von anderen Konten zu unterscheiden. Wenn eine Zugriffssteuerungsliste erstellt wird, wird nur der SID verwendet. In früheren Versionen von IIS war „IUSR_MachineName“ in der Datei „metabase.xml“ enthalten, sodass die Datei „metabase.xml“ nicht funktionierte, wenn sie von einem Computer auf einen anderen kopiert wurde. Das Konto auf dem anderen Computer hatte einen anderen Namen.

Zudem konnten Sie Zugriffssteuerungslisten nicht von einem Computer auf einen anderen mit „xcopy /o“ kopieren, da die SIDs von Computer zu Computer unterschiedlich waren. Eine Problemumgehung war die Verwendung von Domänenkonten, aber dazu musste ein Active Directory zur Infrastruktur hinzugefügt werden. Die „IIS_WPG“-Gruppe hatte ähnliche Probleme mit Benutzerrechten. Wenn Sie Zugriffssteuerungslisten auf dem Dateisystem eines Computers für „IIS_WPG“ festgelegt und versucht haben, diese mit „xcopy /o“ auf einen anderen Computer zu kopieren, ist das fehlgeschlagen. Diese Erfahrung wurde in IIS 7 und höher mithilfe eines integrierten Kontos und einer integrierten Gruppe verbessert.

Das Betriebssystem garantiert, dass vordefinierte Konten und Gruppen immer eine eindeutige SID aufweisen. IIS 7 und höher gehen einen Schritt weiter und stellen sicher, dass die tatsächlichen Namen, die vom neuen Konto und von der neuen Gruppe verwendet werden, nie lokalisiert werden. Unabhängig von der Sprache des installierten Windows lautet der IIS-Kontoname beispielsweise immer „IUSR“ und der Gruppenname immer „IIS_IUSRS“.

Zusammenfassend lässt sich sagen, dass IIS 7 und höher Folgendes bietet:

  • Das integrierte Konto „IUSR“ ersetzt das Konto „IUSR_MachineName“.
  • Die integrierte Gruppe „IIS_IUSRS“ ersetzt die Gruppe „IIS_WPG“.

Das Konto „IUSR“ benötigt kein Kennwort mehr, da es sich um ein integriertes Konto handelt. Logisch gesehen ist es genauso wie die Konten „NETWORKSERVICE“ oder „LOCALSERVICE“. Sowohl das neue Konto „IUSR“ als auch die Gruppe „IIS_IUSRS“ werden in den folgenden Abschnitten ausführlicher behandelt.

Grundlegendes zum neuen Konto „IUSR“

Das Konto „IUSR“ ersetzt das Konto „IUSR_MachineName“ in IIS 7 und höher. Das Konto „IUSR_MachineName“ wird weiterhin erstellt und verwendet, wenn Sie den FTP 6-kompatiblen Server installieren, der in Windows Server 2008 enthalten ist. Wenn Sie den FTP-Server, der in Windows Server 2008 enthalten ist, nicht installieren, wird dieses Konto nicht erstellt.

Dieses integrierte Konto erfordert kein Kennwort und ist die Standardidentität, die verwendet wird, wenn die anonyme Authentifizierung aktiviert ist. In der Datei „applicationHost.config“ finden Sie die folgende Definition:

<anonymousAuthentication enabled="true" userName="IUSR" defaultLogonDomain="" />

Dadurch wird IIS angewiesen, das neue integrierte Konto für alle anonymen Authentifizierungsanforderungen zu verwenden. Die größten Vorteile:

  • Sie können die Dateisystemberechtigungen für das Konto „IUSR“ festlegen, indem Sie den Windows-Explorer oder eines der vielen Befehlszeilentools verwenden.
  • Sie müssen sich keine Sorgen mehr über ablaufende Kennwörter für dieses Konto machen.
  • Sie können „xcopy /o“ verwenden, um Dateien zusammen mit ihren Informationen bezüglich Eigentum und Zugriffssteuerungslisten nahtlos auf verschiedene Computer zu kopieren.

Hinweis

Das Konto „IUSR“ ähnelt „LOCALSERVICE“ darin, wie es anonym im Netzwerk agiert. Die Konten „NETWORKSERVICE“ und „LOCALSYSTEM“ können als Computeridentität fungieren, das Konto „IUSR“ jedoch nicht, da dies eine Erhöhung der Benutzerrechte erfordern würde. Wenn das anonyme Konto über Rechte im Netzwerk verfügen soll, müssen Sie ein neues Benutzerkonto erstellen und den Benutzernamen und das Kennwort manuell festlegen, so wie früher für die anonyme Authentifizierung.

So gewähren Sie einem anonymen Konto Rechte im Netzwerk mithilfe des IIS-Managers:

  1. Klicken Sie auf Start, geben Sie INetMgr.exe ein, und klicken Sie dann auf Eingeben. Wenn Sie dazu aufgefordert werden, klicken Sie auf Weiter, um Ihre Berechtigungen zu erhöhen.
  2. Klicken Sie im Abschnitt Verbindungen auf die Schaltfläche + neben dem Namen Ihres Computers.
  3. Doppelklicken Sie im IIS-Manager auf die Site, die Sie verwalten möchten.
  4. Doppelklicken Sie in der „Featureansicht“ auf Authentifizierung.
  5. Wählen Sie Anonyme Authentifizierung aus, und klicken Sie dann auf Bearbeiten im Bereich Aktionen.
  6. Klicken Sie im Dialogfeld Anmeldeinformationen für anonyme Authentifizierung bearbeiten auf die Option Bestimmter Benutzer, und klicken Sie dann auf Festlegen.
  7. Geben Sie im Dialogfeld Anmeldeinformationen festlegen den gewünschten Benutzernamen und das gewünschte Kennwort ein, und klicken Sie dann auf OK.

Grundlegendes zur neuen Gruppe „IIS_IUSRS“

Die Gruppe „IIS_IUSRS“ ersetzt die Gruppe „IIS_WPG“. Diese integrierte Gruppe hat Zugriff auf alle erforderlichen Datei- und Systemressourcen, sodass ein Konto, das dieser Gruppe hinzugefügt wird, nahtlos als Anwendungspoolidentität dienen kann.

Wie das integrierte Konto löst auch diese integrierte Gruppe verschiedene Probleme bei der Bereitstellung mit „xcopy“. Wenn Sie Berechtigungen bei Ihren Dateien für die Gruppe „IIS_WPG“ (die auf IIS 6.0-Systemen verfügbar war) festgelegt und versucht haben, diese Dateien auf einen anderen Windows-Computer zu kopieren, war der SID der Gruppe auf den verschiedenen Computern unterschiedlich, wodurch die Konfigurationen Ihrer Site nicht funktioniert haben.

Da der Gruppen-SID in IIS 7 und höher auf allen Systemen, auf denen Windows Server 2008 ausgeführt wird, gleich ist, können Sie „xcopy /o“ verwenden, um die Informationen bezüglich Zugriffssteuerungslisten und Eigentum beizubehalten, wenn Sie Dateien von einem Computer auf einen anderen übertragen. Das erleichtert Bereitstellungen mit „xcopy“.

Mit IIS 7 und höher wird es auch einfacher, eine Anwendungspoolidentität zu konfigurieren und alle erforderlichen Änderungen vorzunehmen. Wenn IIS einen Arbeitsprozess startet, muss ein Token erstellt werden, das der Prozess verwendet. Wenn dieses Token erstellt wird, fügt IIS zur Laufzeit automatisch die „IIS_IUSRS“-Mitgliedschaft zum Arbeitsprozesstoken hinzu. Die Konten, die als „Anwendungspoolidentitäten“ ausgeführt werden, müssen nicht mehr ein expliziter Teil der Gruppe „IIS_IUSRS“ sein. Diese Änderung hilft Ihnen, Ihre Systeme einfacher einzurichten, und verbessert insgesamt die Erfahrung.

Wenn Sie diese Funktion deaktivieren und Konten manuell zur Gruppe „IIS_IUSRS“ hinzufügen möchten, deaktivieren Sie diese neue Funktion, indem Sie den Wert von manualGroupMembership auf „true“ festlegen. Das folgende Beispiel zeigt, wie das mit dem defaultAppPool gemacht werden kann:

<applicationPools>
    <add name="DefaultAppPool">
        <processModel manualGroupMembership="true" />
    </add>
</applicationPools >