Sicherheitsauthentifizierung <authentication>
Übersicht
Authentifizierung ist der Mechanismus, mit dem Sie die Identität von Besuchern Ihrer Website oder Webanwendung überprüfen. In der Regel weisen Sie einem Besucher einen Benutzernamen und ein Kennwort zu oder erlauben es einem Besucher, anonym auf öffentliche Inhalte auf Ihrer Website zuzugreifen.
Obwohl Sie die Authentifizierung verwenden, um die Identität eines Besuchers zu bestätigen, verwenden Sie die Autorisierung, um den Zugriff des Besuchers auf die verschiedenen Bereiche Ihrer Website oder Anwendung zu steuern.
IIS 7 unterstützt anonyme Authentifizierung, Standardauthentifizierung, Clientzertifikatzuordnungsauthentifizierung, Digestauthentifizierung, die IIS-Clientzertifikatzuordnungsauthentifizierung und Windows-Authentifizierung. Zusätzliche Authentifizierungsmodi können von Authentifizierungsmodulen von Drittanbietern bereitgestellt werden.
Nachdem Sie eines der Authentifizierungsmodule installiert haben, müssen Sie das ausgewählte Authentifizierungsmodul für die Website, Webanwendung oder den Webdienst aktivieren, für die Sie es verwenden möchten.
Darüber hinaus ermöglicht IIS 7 standardmäßig die Kernelmodusauthentifizierung für Windows (die entweder Kerberos oder NTLM verwendet), Authentifizierungsschema. Die Kernelmodusauthentifizierung bietet die folgenden Vorteile:
- Ihre Webanwendungen können mit Konten mit niedrigeren Rechten ausgeführt werden.
- Wenn Sie die Kerberos-Authentifizierung verwenden, können Sie ein anderes Konto als das Standardkonto verwenden, das dem Dienstprinzipalnamen (Service Principle Name, SPN) des Servers zugeordnet ist.
- Wenn Sie die Kernelmodusauthentifizierung verwenden, können Sie den Kerberos-Anbieter der Windows-Authentifizierung ohne explizite SPN-Konfiguration verwenden.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <authentication> Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <authentication> Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <authentication> Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <authentication> Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <authentication> Element wurde in IIS 7.0 eingeführt. |
IIS 6.0 | N/V |
Setup
Das <authentication>
-Element ist in der Standardinstallation von IIS 7 enthalten.
Gewusst wie
So deaktivieren Sie die anonyme Authentifizierung
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie in der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites, wechseln Sie zu der Ebene im Hierarchiebereich, die Sie konfigurieren möchten, und klicken Sie dann auf die Website oder Webanwendung.
Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.
Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Deaktivieren im Bereich Aktionen.
So ändern Sie anonyme Authentifizierungsanmeldeinformationen aus dem IUSR-Konto
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie in der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites, navigieren Sie zu der Ebene im Hierarchiebereich, den Sie konfigurieren möchten, und klicken Sie dann auf die Website oder Webanwendung.
Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.
Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Bearbeiten... im Bereich Aktionen.
Führen Sie im Dialogfeld Anonyme Authentifizierungsinformationen bearbeiten eine der folgenden Optionen aus:
Wählen Sie Anwendungspoolidentität aus, um den Identitätsgruppe für den Anwendungspool zu verwenden, und klicken Sie dann auf OK.
Klicken Sie auf Festlegen..., und geben Sie dann im Dialogfeld Anmeldeinformationen festlegen den Benutzernamen für das Konto im Feld Benutzername ein, geben Sie das Kennwort für das Konto in den Feldern Kennwort und Kennwort bestätigen ein, klicken Sie auf OK, und klicken Sie dann erneut auf OK .
Hinweis
Wenn Sie dieses Verfahren verwenden, gewähren Sie nur dem neuen Konto minimale Berechtigungen auf dem IIS-Servercomputer.
So aktivieren Sie die Windows-Authentifizierung für eine Website, Webanwendung oder einen Webdienst
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie in der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites und dann die Website, Anwendung oder den Webdienst, für die Sie die Windows-Authentifizierung aktivieren möchten.
Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.
Wählen Sie im Bereich Authentifizierung die Windows-Authentifizierung, und klicken Sie dann Aktivieren im Bereich Aktionen.
Konfiguration
Die Abschnittsgruppe <authentication>
wird im Konfigurationsabschnitt <system.webServer>
definiert. Diese Abschnittsgruppe definiert Konfigurationsabschnitte für alle Benutzerauthentifizierungstypen, die Sie auf Ihrem Server installieren und aktivieren können. Sie können sie auf Serverebene in der Datei ApplicationHost.config und auf der Anwendungsebene in der Datei Web.config konfigurieren.
Attribute
Keine
Untergeordnete Elemente
Element | Beschreibung |
---|---|
anonymousAuthentication |
Optionales Element. Gibt die Einstellungen für die anonyme Authentifizierung an. |
basicAuthentication |
Optionales Element. Gibt die Einstellungen für die Standardauthentifizierung an. |
clientCertificateMappingAuthentication |
Optionales Element. Gibt die Einstellungen für die Clientzertifikatzuordnungsauthentifizierung mithilfe von Active Directory an. |
digestAuthentication |
Optionales Element. Gibt die Einstellungen für die Digestauthentifizierung an. |
iisClientCertificateMappingAuthentication |
Optionales Element. Gibt die Einstellungen für die Clientzertifikatzuordnungsauthentifizierung mithilfe von IIS an. |
windowsAuthentication |
Optionales Element. Gibt die Einstellungen für die Windows-Authentifizierung an. |
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel wird die anonyme Authentifizierung für eine Site namens Contoso deaktiviert. Anschließend werden sowohl die Standardauthentifizierung als auch die Windows-Authentifizierung für die Site aktiviert.
<location path="Contoso">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<basicAuthentication enabled="true" defaultLogonDomain="Contoso" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
Beispielcode
In den folgenden Beispielen wird die anonyme Authentifizierung für eine Site namens Contoso deaktiviert. Anschließend werden sowohl die Standardauthentifizierung als auch die Windows-Authentifizierung für die Site aktiviert.
AppCmd.exe
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"False" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/basicAuthentication /enabled:"True" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/windowsAuthentication /enabled:"True" /commit:apphost
Hinweis
Sie müssen unbedingt den Commitparameterapphost
festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
anonymousAuthenticationSection["enabled"] = false;
ConfigurationSection basicAuthenticationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso");
basicAuthenticationSection["enabled"] = true;
ConfigurationSection windowsAuthenticationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso");
windowsAuthenticationSection["enabled"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim anonymousAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso")
anonymousAuthenticationSection("enabled") = False
Dim basicAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/basicAuthentication", "Contoso")
basicAuthenticationSection("enabled") = True
Dim windowsAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/windowsAuthentication", "Contoso")
windowsAuthenticationSection("enabled") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
anonymousAuthenticationSection.Properties.Item("enabled").Value = false;
var basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
basicAuthenticationSection.Properties.Item("enabled").Value = true;
var windowsAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/windowsAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
windowsAuthenticationSection.Properties.Item("enabled").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
anonymousAuthenticationSection.Properties.Item("enabled").Value = False
Set basicAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/basicAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
basicAuthenticationSection.Properties.Item("enabled").Value = True
Set windowsAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/windowsAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
windowsAuthenticationSection.Properties.Item("enabled").Value = True
adminManager.CommitChanges()