IP Security <ipSecurity>
Übersicht
Das Element <ipSecurity>
definiert eine Liste der IP-basierten Sicherheitseinschränkungen in IIS 7 und höher. Diese Einschränkungen können auf der IP-Version 4-Adresse, einem Bereich von IP-Version 4-Adressen oder einem DNS-Domänennamen basieren.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das Element <ipSecurity> wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das Element <ipSecurity> wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das Attribut enableProxyMode wurde hinzugefügt, damit Sie Anforderungen von einem Client blockieren können, der eine Verbindung über einen Proxy herstellt. Das Attribut denyAction wurde hinzugefügt, um die Standardmäßige Ablehnungsmodusantwort anzugeben, die IIS an Clients zurücksendet. |
IIS 7.5 | Das Element <ipSecurity> wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das Element <ipSecurity> wurde in IIS 7.0 eingeführt. |
IIS 6.0 | Das Element <ipSecurity> ersetzt die IIS 6.0 IPSecurity-Metabasiseigenschaft. |
Setup
Die Standardinstallation von IIS enthält nicht den Rollendienst oder das Windows-Feature für die IP-Sicherheit. Um die IP-Sicherheit in IIS zu verwenden, müssen Sie den Rollendienst oder das Windows-Feature mithilfe der folgenden Schritte installieren:
Windows Server 2012 oder Windows Server 2012 R2
- Klicken Sie auf der Taskleiste auf Server-Manager.
- Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
- Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
- Erweitern Sie auf der Seite Serverrollen den Webserver (IIS), erweitern Sie den Webserver, erweitern Sie Sicherheit, und wählen Sie dann IP- und Domäneneinschränkungen aus. Klicken Sie auf Weiter.
. - Klicken Sie auf der Seite Features auswählen auf Weiter.
- Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
- Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows 8 oder Windows 8.1
- Bewegen Sie auf dem Start-Bildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Start-Taste und klicken Sie dann auf Systemsteuerung.
- Klicken Sie in der Systemsteuerung auf Programme und dann auf Windows-Features aktivieren oder deaktivieren.
- Erweitern Sie Internetinformationsdienste, erweitern Sie World Wide Web Services, erweitern Sie Sicherheit, und wählen Sie dann IP-Sicherheit aus.
- Klicken Sie auf OK.
- Klicken Sie auf Schließen.
Windows Server 2008 oder Windows Server 2008 R2
Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
Erweitern Sie im Hierarchiebereich des Server-Managers die Rollen und klicken Sie dann auf den Webserver (IIS).
Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
Wählen Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von RollendienstenIP- und Domäneneinschränkungen aus, und klicken Sie dann auf Weiter.
Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows Vista oder Windows 7
Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
Klicken Sie in der Systemsteuerung auf Programme und dann auf Windows-Features aktivieren oder deaktivieren.
Erweitern Sie Internetinformationsdienste, dann WWW-Dienste und dann Sicherheit.
Wählen Sie IP-Sicherheit aus, und klicken Sie dann auf OK.
Gewusst wie
So fügen Sie IP-Einschränkungen hinzu, um den Zugriff für eine Website zu verweigern
Ö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-Manager, dann auf Tools und 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 Verwaltung, und 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 Verwaltung und 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 Verwaltung und doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Websites und dann Website, Anwendung oder Webdienst, für die Sie IP-Einschränkungen hinzufügen möchten.
Doppelklicken Sie im Bereich Start auf das Feature IP-Adresse und Domäneneinschränkungen.
Klicken Sie im Feature IP-Adresse und Domäneneinschränkungen im Bereich Aktionen auf Eingabe verweigern.
Geben Sie die IP-Adresse ein, die Sie verweigern möchten, und klicken Sie dann auf OK.
So bearbeiten Sie die IP-Einschränkungsfeature-Einstellungen für eine Website
Ö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-Manager, dann auf Tools und 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 Verwaltung, und 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 Verwaltung und 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 Verwaltung und doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Websites und dann Website, Anwendung oder Webdienst, für die Sie IP-Einschränkungen hinzufügen möchten.
Doppelklicken Sie im Bereich Start auf das Feature IP-Adresse und Domäneneinschränkungen.
Klicken Sie im Feature IP-Adresse und Domäneneinschränkungen im Bereich Aktionen auf Featureeinstellungen bearbeiten.
Wählen Sie das Standardzugriffsverhalten für nicht angegebene Clients aus, geben Sie an, ob Einschränkungen nach Domänenname aktiviert werden sollen, ob der Proxymodus aktiviert werden soll, wählen Sie den Ablehnungsaktionstyp aus, und klicken Sie dann auf OK.
Konfiguration
Regeln werden von oben nach unten verarbeitet, in der Reihenfolge, in der sie in der Liste angezeigt werden. Das allowUnlisted-Attribut wird zuletzt verarbeitet. Eine bewährte Methode für IPsec-Einschränkungen (Internet Protocol Security) besteht darin, zuerst Ablehnungsregeln aufzulisten. Sie können das allowUnlisted-Attribut nicht löschen, wenn es auf false festgelegt ist.
Das folgende Standardelement <ipSecurity>
ist in der Stammdatei ApplicationHost.config in IIS 7 und höher konfiguriert. Dieser Konfigurationsabschnitt erbt die Standardkonfigurationseinstellungen, es sei denn, Sie verwenden das Element <clear>
.
<ipSecurity allowUnlisted="true" />
Attribute
Attribut | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
allowUnlisted |
Optionales boolesches Attribut. Gibt an, ob nicht aufgelistete IP-Adressen zugelassen werden sollen. Wenn Sie das allowUnlisted-Attribut auf true festlegen, kann eine nicht aufgelistete IP-Adresse auf den Server zugreifen. Wenn Sie das allowUnlistedAttribut auf false festlegen, wird der Server gesperrt, sodass der Zugriff auf alle IP-Adressen verhindert wird, es sei denn, sie werden aufgeführt. Wenn Sie dieses Attribut auf false festlegen und die lokale Loopbackadresse (127.0.0.1) nicht als zulässige IP-Adresse auf ihren Server auflisten, können Sie nicht über einen Browser über eine lokale Konsole auf Ihren Server zugreifen. Dieses Attribut kann sich auch auf die Delegierung auswirken. Wenn Sie dieses Attribut in einer übergeordneten Konfiguration auf false festlegen würden, können Sie das Element <clear> nicht verwenden, um diese Konfiguration in untergeordneten Konfigurationsdateien zu löschen.Der Standardwert ist true . |
||||||||||
denyAction |
Optionales Enumerationsattribut. Gibt die Standardmäßige Ablehnungsmodusantwort an, die IIS an Clients zurücksenden soll. Der Standardwert ist forbidden .
|
||||||||||
enableProxyMode |
Optionales boolesches Attribut. Ermöglicht IIS nicht nur das Blockieren von Anforderungen von einer Client-IP, die von IIS angezeigt wird, sondern auch zum Blockieren von Anforderungen von IP-Adressen, die im x-forwarded-for-HTTP-Header empfangen werden. Mit diesem Header können Sie die ursprüngliche IP-Adresse eines Clients identifizieren, die eine Verbindung über einen HTTP-Proxy oder einen Lastenausgleich herstellt. Dies wird als Proxymodus bezeichnet. Der Standardwert ist false . |
||||||||||
enableReverseDns |
Optionales boolesches Attribut. Gibt an, ob Reverse Domain Name System (DNS)-Nachschlagevorgänge für den Webserver aktiviert oder deaktiviert werden sollen. Umgekehrte Nachschlagevorgänge umfassen das Nachschlagen des Domänennamens, wenn die IP-Adresse bekannt ist. Achtung: Reverse DNS-Nachschlagevorgänge verwenden erhebliche Ressourcen und Zeit. Der Standardwert ist false . |
Untergeordnete Elemente
Element | Beschreibung |
---|---|
add |
Optionales Element. Fügt der Sammlung von IP-Adresseinschränkungen eine IP-Einschränkung hinzu. |
remove |
Optionales Element. Entfernt einen Verweis auf eine Einschränkung aus der Auflistung <ipSecurity> . |
clear |
Optionales Element. Entfernt alle Verweise auf Einschränkungen aus der Auflistung <ipSecurity> . |
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel werden der Standardwebsite zwei IP-Einschränkungen hinzugefügt. die erste Einschränkung verweigert den Zugriff auf die IP-Adresse 192.168.100.1, und die zweite Einschränkung verweigert den Zugriff auf das gesamte 169.254.0.0.0-Netzwerk.
<location path="Default Web Site">
<system.webServer>
<security>
<ipSecurity>
<add ipAddress="192.168.100.1" />
<add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
</security>
</system.webServer>
</location>
Beispielcode
Die folgenden Codebeispiele lassen reverse DNS-Lookups für die Standardwebsite auf.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /enableReverseDns:true /commit:apphost
Hinweis
Sie müssen unbedingt den Commit-Parameter auf apphost
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 ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site");
ipSecuritySection["enableReverseDns"]=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 ipSecuritySection As ConfigurationSection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site")
ipSecuritySection("enableReverseDns") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site");
ipSecuritySection.Properties.Item("enableReverseDns").Value = True;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site")
ipSecuritySection.Properties.Item("enableReverseDns").Value = True
adminManager.CommitChanges()