FTP-Systemauthentifizierung: <authentication>-Element
Übersicht
Mit dem <authentication>
-Element können Sie die Benutzerkonten konfigurieren, die auf Ihre Site oder Anwendung zugreifen können. Verwenden Sie die Authentifizierung in Kombination mit der Autorisierung, um den Zugriff auf Inhalte auf Ihrem Server zu sichern. Die Authentifizierung bestätigt die Identität eines Benutzers, während die Autorisierung bestimmt, auf welche Ressourcen Benutzer zugreifen können.
IIS definiert einen Authentifizierungsregeltyp – Verweigerungsregeln. Mithilfe von Verweigerungsregeln können Sie die Benutzerkonten oder Benutzergruppen festlegen, die nicht auf die Sites auf einem Server zugreifen können.
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 eingeführt. |
IIS 7.5 | N/V |
IIS 7.0 | N/V |
IIS 6.0 | N/V |
Setup
Um das Verweigern des Zugriffs über die Authentifizierung auf Ihrem FTP-Server zu unterstützen, müssen Sie den Rollendienst „FTP-Dienst“ installieren.
Windows Server 2012
Drücken Sie die Windows-Logo-Taste, und klicken Sie dann auf Server-Manager.
Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
Im Assistenten zum Hinzufügen von Rollen und Features:
- Klicken Sie auf der Seite Voraussetzungen auf Weiter.
- Wählen Sie auf der Seite Installationstyp den Installationstyp aus, und klicken Sie dann auf Weiter.
- Wählen Sie auf der Seite Serverauswahl den entsprechenden Server aus, und klicken Sie dann auf Weiter.
- Stellen Sie auf der Seite Serverrollen sicher, dass Webserver (IIS) ausgewählt ist, und erweitern Sie diesen Eintrag.
- Erweitern Sie FTP-Server, wählen Sie sowohl FTP-Dienst als auch FTP-Erweiterbarkeit aus, und klicken Sie dann auf Weiter.
- Klicken Sie auf der Seite Features auf Weiter.
- Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
- Klicken Sie auf der Seite Ergebnisse auf Schließen.
Windows 8
- Öffnen Sie die Systemsteuerung von Windows.
- Öffnen Sie in der Windows-Systemsteuerung Programme und Features.
- Klicken Sie unter Programme und Funktionen auf Windows-Funktionen aktivieren oder deaktivieren.
- Erweitern Sie im Dialogfeld Windows-Features den Eintrag Internetinformationsdienste und dann FTP-Server.
- Wählen Sie unter FTP-Server die Optionen FTP-Dienst und FTP-Erweiterbarkeit aus, und klicken Sie dann auf OK.
Gewusst wie
Verweigern des Zugriffs auf den FTP-Server auf Grundlage der Anmeldefehlerrate
Öffnen Sie Internetinformationsdienste-Manager (IIS):
Vorgehensweise unter Windows Server 2012 oder höher:
- Klicken Sie auf der Taskleiste auf Server-Manager, dann auf Tools und danach auf Internetinformationsdienste-Manager (IIS).
Vorgehensweise unter Windows 8 oder höher:
- Halten Sie die Windows-Logo-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
- Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS).
Wählen Sie im Bereich Verbindungen den Server aus.
Doppelklicken Sie im Bereich Start auf das Feature FTP-Anmeldeversuchsbeschränkungen.
Klicken Sie im Dialogfeld FTP-Anmeldeversuchsbeschränkungen auf Aktivieren, um die Beschränkungen zu aktivieren. Geben Sie dann die maximale Anzahl von Fehlern und den Zeitraum ein, um festzulegen, wann diese Fehler dazu führen, dass der Zugriff auf den FTP-Dienst verweigert wird.
Klicken Sie auf Nur in Protokoll eintragen, um zu protokollieren, dass die Bedingung erfüllt wurde, Anmeldeversuche jedoch nicht zu blockieren.
Wählen Sie im Bereich Aktionen die Option Übernehmen aus.
Konfiguration
Das <authentication>
-Element wird auf Serverebene konfiguriert.
Attribute
Keine
Untergeordnete Elemente
Element | Beschreibung |
---|---|
denyByFailure |
Optionales Element. Konfiguriert den FTP-Dienst zum Verweigern des Zugriffs auf Grundlage der Anmeldefehlerrate. |
Konfigurationsbeispiel
Im folgenden Beispiel wird ein <denyByFailure>
-Element konfiguriert.
<system.ftpServer>
<security>
<authentication>
<denyByFailure enabled="true" maxFailure="5" entryExpiration="00:00:45" loggingOnlyMode="false" />
</authentication>
</security>
</system.ftpServer>
Beispielcode
In den folgenden Codebeispielen wird das Verweigern des Zugriffs auf den FTP-Server auf Grundlage der Anmeldefehlerrate konfiguriert.
AppCmd.exe
appcmd.exe set config -section:system.ftpServer/security/authentication /denyByFailure.enabled:"True" /denyByFailure.maxFailure:"10" /denyByFailure.entryExpiration:"00:00:35" /denyByFailure.loggingOnlyMode:"False" /commit:apphost
Hinweis
Sie müssen den commit-Parameter auf apphost
festlegen, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen in den entsprechenden Location-Abschnitt der Datei „ApplicationHost.config“ committet.
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 authenticationSection = config.GetSection("system.ftpServer/security/authentication");
ConfigurationElement denyByFailureElement = authenticationSection.GetChildElement("denyByFailure");
denyByFailureElement["enabled"] = true;
denyByFailureElement["maxFailure"] = 10;
denyByFailureElement["entryExpiration"] = TimeSpan.Parse("00:00:35");
denyByFailureElement["loggingOnlyMode"] = false;
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 authenticationSection As ConfigurationSection = config.GetSection ("system.ftpServer/security/authentication")
Dim denyByFailureElement As ConfigurationElement = authenticationSection.GetChildElement("denyByFailure")
denyByFailureElement("enabled") = true
denyByFailureElement("maxFailure") = 10
denyByFailureElement("entryExpiration") = TimeSpan.Parse("00:00:35")
denyByFailureElement("loggingOnlyMode") = false
serverManager.CommitChanges
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var authenticationSection = adminManager.GetAdminSection("system.ftpServer/security/authentication", "MACHINE/WEBROOT/APPHOST");
var denyByFailureElement = authenticationSection.ChildElements.Item("denyByFailure");
denyByFailureElement.Properties.Item("enabled").Value = true;
denyByFailureElement.Properties.Item("maxFailure").Value = 10;
denyByFailureElement.Properties.Item("entryExpiration").Value = "00:00:35";
denyByFailureElement.Properties.Item("loggingOnlyMode").Value = false;
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set authenticationSection = adminManager.GetAdminSection("system.ftpServer/security/authentication", "MACHINE/WEBROOT/APPHOST")
Set denyByFailureElement = authenticationSection.ChildElements.Item("denyByFailure")
denyByFailureElement.Properties.Item("enabled").Value = true
denyByFailureElement.Properties.Item("maxFailure").Value = 10
denyByFailureElement.Properties.Item("entryExpiration").Value = "00:00:35"
denyByFailureElement.Properties.Item("loggingOnlyMode").Value = false
adminManager.CommitChanges()
PowerShell
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "enabled" -value "True"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "maxFailure" -value 10
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "entryExpiration" -value "00:00:35"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.ftpServer/security/authentication/denyByFailure" -name "loggingOnlyMode" -value "False"