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.

  1. Ö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.
  2. 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.

  3. Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.

  4. Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Deaktivieren im Bereich Aktionen.
    Screenshot that shows the Authentication pane in the I I S Manager.

So ändern Sie anonyme Authentifizierungsanmeldeinformationen aus dem IUSR-Konto

  1. Ö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.
  2. 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.

  3. Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.

  4. Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Bearbeiten... im Bereich Aktionen.

  5. 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.
      Screenshot that shows the Edit Anonymous Authentication Credentials dialog box. Application pool identity is selected.

    • 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 .
      Screenshot that shows the Set Credentials dialog box.

      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

  1. Ö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.
  2. 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.

  3. Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.

  4. Wählen Sie im Bereich AuthentifizierungStandardauthentifizierung aus, und klicken Sie dann im Bereich Aktionen auf aktivieren.

  5. Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Deaktivieren im Bereich Aktionen.
    Screenshot that shows the Authentication pane. Anonymous Authentication is selected. The Actions pane lists Disabled and Edit.


Anfordern von Secure Sockets Layer

  1. Ö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.
  2. 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.

  3. Doppelklicken Sie im Bereich Start auf SSL-Einstellungen.
    Screenshot shows the Default Web Site Home pane, with S S L Settings selected.

  4. Klicken Sie im Bereich SSL-Einstellungen auf SSL erforderlich.

  5. Klicken Sie im Bereich Aktionen auf Übernehmen.


So aktivieren Sie die Windows-Authentifizierung für eine Website, Webanwendung oder einen Webdienst

  1. Ö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.
  2. 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.

  3. Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.

  4. Wählen Sie im Bereich Authentifizierung die Windows-Authentifizierung, und klicken Sie dann Aktivieren im Bereich Aktionen.
    Screenshot shows the Authentication pane, with Windows Authentication selected.

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()