Sicherheit <Sicherheit>
Übersicht
Die <security>
Abschnittsgruppe befindet sich im <system.webServer>
-Abschnitt und enthält alle Elemente, die Sicherheitseinstellungen auf einem IIS-Server (Internet Information Services) 7 konfigurieren. Dazu gehören SSL-Einstellungen (Secure Sockets Layer) für einen Standort, Anwendungen, die von den Binärdateien der Common Gateway Interface (CGI) oder der Internet Server-API (ISAPI) abhängig sind, Konfigurationseinstellungen für alle Authentifizierungsmodule, die auf Ihrem Server installiert sind, und Autorisierungsregeleinstellungen. Sie umfasst auch Konfigurationseinstellungen für die IP-Sicherheit und Anforderungsfilterung sowie eine Liste der ISAPI- und CGI-Einschränkungen auf dem Server.
Die Einstellungen in der <security>
-Abschnittsgruppe können für zusätzliche Sicherheit kombiniert werden. Zum Beispiel:
- Das
<authentication>
-Element definiert Konfigurationsabschnitte für alle Benutzerauthentifizierungstypen, die Sie auf Ihrem IIS 7-Server installieren und aktivieren können, während das<authorization>
-Element die Benutzerkonten konfiguriert, die auf Ihre Website oder Anwendung zugreifen können. Sie verwenden<authorization>
in Kombination mit<authentication>
, um den Zugriff auf Inhalte auf Ihrem Server zu sichern. Das<access>
-Element konfiguriert SSL-Einstellungen für Ihren Webserver, Ihre Website oder Anwendung. - Das
<isapiCgiRestriction>
-Element gibt eine Liste von CGI- und ISAPI-Anwendungen an, die unter IIS 7 ausgeführt werden können. Mit diesem Element können Sie sicherstellen, dass böswillige Benutzer keine nicht autorisierten CGI- und ISAPI-Binärdateien auf Ihren Webserver kopieren und dann ausführen können. Das<applicationDependencies>
-Element gibt eine Anwendung an, die Abhängigkeiten zu einer oder mehreren CGI- oder ISAPI-Erweiterungseinschränkungen aufweist. Sie können das<isapiCgiRestriction>
-Element mit dem<applicationDependencies>
-Element kombinieren, um sicherzustellen, dass ihre CGI- oder ISAPI-Erweiterungseinschränkungen ordnungsgemäß festgelegt sind.
Hinweis
Für erhöhte Sicherheit installiert Windows Vista oder Windows Server 2008 IIS 7 standardmäßig. Wenn Sie IIS 7 installieren, wird IIS automatisch so konfiguriert, dass nur statische Inhalte, einschließlich HTML- und Bilddateien, bereitgestellt werden. Sie müssen alle anderen Rollendienste und Features, die von Ihren Websites und Anwendungen benötigt werden, manuell installieren. Diese Strategie reduziert die IIS 7-Angriffsfläche erheblich.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <security> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <security> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <defaultIpSecurity> -Element wurde als untergeordnetes Element hinzugefügt. |
IIS 7.5 | Das <security> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <security> -Element wurde in IIS 7 eingeführt. |
IIS 6.0 | Das <security> -Element ersetzt die IIS 6.0-Sicherheitsmetabasiseigenschaften, die sich auf Zertifikate, Authentifizierung und Autorisierung beziehen. |
Setup
Das <security>
-Element ist in der Standardinstallation von IIS 7 enthalten.
Gewusst wie
Anonyme Authentifizierung deaktivieren.
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie der 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 der 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.
Aktivieren der Standardauthentifizierung und Deaktivieren der anonymen Authentifizierung
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie der 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 Basis-Authentifizierung aktivieren möchten.
Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.
Wählen Sie im Bereich AuthentifizierungStandardauthentifizierung aus, und klicken Sie dann im Bereich Aktionen auf aktivieren.
Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Deaktivieren im Bereich Aktionen.
Anfordern von Secure Sockets Layer
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie der 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.
Wechseln Sie im Bereich Verbindungen zu der Website, Anwendung oder zum Verzeichnis, für die Sie SSL-Anforderungen konfigurieren möchten. SSL kann nicht auf Serverebene konfiguriert werden.
Klicken Sie im Bereich SSL-Einstellungen auf SSL erforderlich.
Klicken Sie im Bereich Aktionen auf Übernehmen.
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 der 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
Wenn Sie Sicherheitseinstellungen konfigurieren, muss die XML-Konfigurationsdatei die Abschnittsgruppe <security>
enthalten. Sie können Sicherheitseinstellungen auf Serverebene in der Datei „ApplicationHost.config“ oder auf Websiteebene, Anwendungsebene oder Verzeichnisebene in der entsprechenden Datei „Web.config“ konfigurieren.
Attribute
Keine
Untergeordnete Elemente
Element | Beschreibung |
---|---|
access |
Optionales Element. Gibt Konfigurationseinstellungen für Secure Sockets Layer (SSL) an, z. B. ob Clientzertifikate für die Authentifizierung und Kryptostärke verwendet werden sollen. |
applicationDependencies |
Optionales Element. Gibt eine Anwendung an, die Abhängigkeiten zu einer oder mehreren CGI- oder ISAPI-Erweiterungseinschränkungen enthält. |
authentication |
Optionales Element. Gibt authentifizierungsbezogene Einstellungen an. |
authorization |
Optionales Element. Gibt autorisierungsbezogene Einstellungen an. |
dynamicIpSecurity |
Optionales Element. Gibt dynamische IP-Einschränkungen an, die jede IP-Adresse blockieren, die eine Reihe von Kriterien erfüllt. |
ipSecurity |
Optionales Element. Gibt Zugriffsbeschränkungen basierend auf der IP-Version 4-Adresse oder dem DNS-Domänennamen an. |
isapiCgiRestriction |
Optionales Element. Gibt Einstellungen an, die einschränken, welche CGI- und ISAPI-Programme auf dem Server ausgeführt werden dürfen. |
requestFiltering |
Optionales Element. Gibt Konfigurationseinstellungen für die Anforderungsfilterung an. |
Konfigurationsbeispiel
Im folgenden Beispiel werden die Authentifizierungs-, SSL- und Anforderungsfiltereinstellungen für eine Website namens Contoso konfiguriert.
<location path="Contoso">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
<basicAuthentication enabled="false" />
<anonymousAuthentication enabled="false" />
</authentication>
<access sslFlags="Ssl, SslNegotiateCert, Ssl128" />
<requestFiltering>
<fileExtensions>
<add fileExtension=".inc" allowed="false" />
</fileExtensions>
<denyUrlSequences>
<add sequence="_vti_bin" />
<add sequence="_vti_cnf" />
<add sequence="_vti_pvt" />
</denyUrlSequences>
</requestFiltering>
</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()