Verwendung von FTP über SSL in IIS 7
von Robert McMurray
Kompatibilität
Version | Hinweise |
---|---|
IIS 7.5 | Der FTP 7.5-Dienst wird als eine Funktion für IIS 7.5 in Windows 7 und Windows Server 2008 R2 bereitgestellt. |
IIS 7.0 | Die FTP 7.0- und FTP 7.5-Dienste wurden außerhalb des Bandes für IIS 7.0 ausgeliefert, Dazu musste der Dienst von der folgenden URL heruntergeladen und installiert werden: https://www.iis.net/download/FTP. |
Einführung
Microsoft hat einen neuen FTP-Dienst erstellt, der für Windows Server® 2008 vollständig neu geschrieben wurde. Dieser FTP-Dienst enthält viele neue Funktionen, mit denen Webautoren Inhalte besser veröffentlichen können als zuvor, und bietet Webadministratoren mehr Sicherheit- und Bereitstellungsoptionen.
Eines der Features ist FTP über Secure Sockets Layer (SSL), das die Verschlüsselung von Sitzungen zwischen einem FTP-Client und einem Server ermöglicht. Dieses Dokument führt Sie durch: die Einrichtung einer FTP-Website; und Konfiguration dieser Website für die Verwendung von SSL mit der neuen FTP-Benutzeroberfläche, mit der Sie die IIS 7.0-Konfigurationsdateien direkt bearbeiten können. Sie enthält folgende Elemente:
- Voraussetzungen
- OPTIONAL: Erstellen eines selbstsignierten SSL-Zertifikats
- Erstellen einer SSL-aktivierten FTP-Website mithilfe des IIS 7.0-Managers
- Hinzufügen der SSL-basierten FTP-Veröffentlichung durch Bearbeiten der IIS 7.0-Konfigurationsdateien
Hinweis
Diese Komplettlösung enthält eine Reihe von Schritten, bei denen Sie sich mit dem lokalen Administratorkonto bei Ihrer FTP-Website anmelden. Diese Schritte sollten nur auf dem Server selbst unter Verwendung der Loopbackadresse oder über SSL von einem Remoteserver aus befolgt werden. Wenn Sie es vorziehen, ein separates Benutzerkonto anstelle des Administratorkontos zu verwenden, müssen Sie die entsprechenden Ordner erstellen und bei Bedarf die richtigen Berechtigungen für dieses Benutzerkonto festlegen.
Voraussetzungen
Die folgenden Teile müssen installiert werden, um die in diesem Artikel beschriebenen Verfahren durchzuführen:
IIS 7.0 muss auf Ihrem Windows 2008 Server installiert sein, und der Internetinformationsdienste-Manager muss installiert sein.
Der neue FTP-Dienst. Sie können den FTP-Dienst über einen der folgenden Links von der https://www.iis.net/ Website herunterladen und installieren:
- FTP 7.5 für IIS 7.0 (x64)
- FTP 7.5 für IIS 7.0 (x86)
Sie müssen einen Stammordner für die FTP-Veröffentlichung erstellen:
Erstellen Sie einen Ordner unter
%SystemDrive%\inetpub\ftproot
Legen Sie die Berechtigungen fest, um den Zugriff für die Administratorgruppe zuzulassen:
- Öffnen Sie eine Eingabeaufforderung.
- Geben Sie den folgenden Befehl ein:
ICACLS "%SystemDrive%\inetpub\ftproot" /Grant administrators:F /T
- Schließen Sie die Eingabeaufforderung.
Hinweis
Die in dieser Komplettlösung aufgeführten Einstellungen geben %SystemDrive%\inetpub\ftproot
den Pfad zu Ihrer FTP-Website an. Sie müssen diesen Pfad nicht verwenden; wenn Sie jedoch den Speicherort für Ihre Website ändern, müssen Sie die webbezogenen Pfade ändern, die in dieser Komplettlösung verwendet werden.
OPTIONAL: Erstellen eines selbstsignierten SSL-Zertifikats
In dieser optionalen Aufgabe erstellen Sie ein selbstsigniertes SSL-Zertifikat, das Sie zum Testen Ihrer FTP-Website verwenden werden.
Hinweis
Wenn Sie eine FTP-Website für internetbasierte Aktivitäten einrichten, sollten Sie ein SSL-Zertifikat von einem der vielen Zertifizierungsstellen, z. B. VeriSign, Thawte, DigiCert usw. erwerben. Weitere Informationen finden Sie unter Zertifizierungsstellen.
- Öffnen Sie den Internetinformationsdienste (IIS 7.0) Manager.
- Klicken Sie auf Ihren Computer am oberen Knoten der Verbindungsstruktur, und doppelklicken Sie dann auf die Funktion Serverzertifikate.
- Klicken Sie im Bereich Aktionen auf Selbstsigniertes Zertifikat erstellen.
- Geben Sie "Mein FTP-Zertifikat" als Namen für das neue Zertifikat ein, und klicken Sie dann auf OK.
Erstellen einer SSL-aktivierten FTP-Site mithilfe des IIS 7.0-Managers
Schritt 1: Verwenden Sie den FTP-Site-Assistenten zum Erstellen eines SSL-basierten FTP-Sites
In diesem ersten Schritt erstellen Sie eine neue FTP-Website, die nur mit Ihrem Administratorkonto geöffnet werden kann.
Wechseln Sie zum IIS 7.0-Manager. Klicken Sie im Bereich Verbindungen auf den Knoten Websites in der Struktur.
Klicken Sie mit der rechten Maustaste auf den Knoten Websites in der Struktur, und klicken Sie auf FTP-Sitehinzufügen oder im Bereich Aktionen auf FTP-Website hinzufügen.
Wenn der Assistent zum Hinzufügen von FTP-Site angezeigt wird:
Geben Sie "Meine neue FTP-Website" in das Feld Name der FTP-Website ein, und navigieren Sie dann zu dem
%SystemDrive%\inetpub\ftproot
Ordner, den Sie im Abschnitt Voraussetzungen erstellt haben.Hinweis
Wenn Sie sich dafür entscheiden, den Pfad zu Ihrem Inhaltsordner einzugeben, können Sie Umgebungsvariablen in Ihren Pfaden verwenden.
Klicken Sie auf Weiter.
Auf der nächsten Seite des Assistenten:
Wählen Sie in der Dropdown-Liste IP-Adresse eine IP-Adresse für Ihren FTP-Website aus, oder akzeptieren Sie die Standardauswahl "Alle nicht zugewiesen." Da Sie später in dieser Anleitung das Administratorkonto verwenden werden, stellen Sie sicher, dass Sie den Zugriff auf den Server einschränken und die lokale Loopback-IP-Adresse für Ihren Computer eingeben, indem Sie "127.0.0.1" in das Feld IP-Adresse eingeben.
Normalerweise geben Sie den TCP/IP-Port für die FTP-Website in das Feld Port ein. Wählen Sie für dieser Komplettlösung den Standard-Port von 21 aus.
Für diese Komplettlösung verwenden Sie keinen Hostnamen, stellen Sie daher sicher, dass das Feld Virtueller Host leer ist.
Stellen Sie sicher, dass die Dropdownliste Zertifikate auf Ihr SSL-Zertifikat festgelegt ist. Wenn Sie z. B. den optionalen Schritt zur Erstellung eines selbstsignierten Zertifikats befolgt haben, sollte das Dropdownfeld "Mein FTP-Zertifikat" stehen.
Stellen Sie sicher, dass die Option SSL zulassen aktiviert ist.
Klicken Sie auf Weiter.
Auf der nächsten Seite des Assistenten:
Wählen Sie Basic für die Authentifizierungs-Einstellungen aus.
Für die Einstellungen der Autorisierungs:
- Wählen Sie "Angegebene Benutzer" aus der Dropdownliste Zugriff zulassen aus.
- Tippen Sie als Benutzernamen "administrator" ein.
- Wählen Sie Lesen und Schreiben für die Option Berechtigungen aus.
Wenn Sie diese Elemente abgeschlossen haben, klicken Sie auf Fertig stellen.
Zusammenfassung
Sie haben erfolgreich einen neuen SSL-basierten FTP-Website unter Verwendung des neuen FTP-Dienstes erstellt.
So recapen Sie die Elemente, die Sie in diesem Schritt abgeschlossen haben:
- Sie haben eine neue FTP-Website namens "My New FTP Site" erstellt, wobei die Inhaltsstamm der Website unter
%SystemDrive%\inetpub\ftproot
. - Sie haben die FTP-Website an die lokale Loopbackadresse für Ihren Computer an Port 21 gebunden.
- Sie haben sich entschieden, Secure Sockets Layer (SSL) für die FTP-Website zu benötigen, und ihr SSL-Zertifikat ausgewählt.
- Sie haben die Basisauthentifizierung aktiviert und eine Autorisierungsregel für das lokale Administratorkonto für Lese- und Schreibzugriff erstellt.
Schritt 2: Konfigurieren zusätzlicher FTP-SSL-Einstellungen
Die SSL-Richtlinie für FTP ist standortabhängig anpassbar. Für das Steuerelement und die Datenkanäle können unterschiedliche Einstellungen festgelegt werden. In diesem Schritt konfigurieren Sie zusätzliche SSL-Einstellungen für Ihre FTP-Website, um sicherzustellen, dass alle Benutzeranmeldeinformationen verschlüsselt sind, auch wenn nicht alle anderen FTP-Aktivitäten.
Wechseln Sie zum IIS 7.0-Manager. Klicken Sie auf den Knoten für die FTP-Website, die Sie in Schritt 1 erstellt haben. Die Symbole für alle FTP-Funktionen werden angezeigt.
Um die SSL-Optionen zu konfigurieren, doppelklicken Sie auf das Symbol FTP-SSL-Einstellungen, um die Seite mit den SSL-Einstellungen zu öffnen.
Wenn die Seite FTP SSL-Einstellungen angezeigt wird, wählen Sie die Option Benutzerdefiniert aus, und klicken Sie dann auf die Schaltfläche Erweitert.
Wenn das Dialogfeld Erweiterte SSL-Richtlinie angezeigt wird:
Wählen Sie die Option Nur für Anmeldeinformationen erforderlich für den Kontrollkanal aus.
Hinweis
Diese Einstellung erfordert, dass alle Benutzernamen und Kennwörter über SSL verschlüsselt werden, aber der Client kann auswählen, ob alle anderen Kontrollkanalaktivitäten verschlüsseln möchten.
Wählen Sie die Option Zulassen für den Datenkanal aus.
Hinweis
Mit dieser Einstellung kann der Client auswählen, ob alle Datenkanalaktivitäten verschlüsseln will.
Wenn Sie diese Elemente abgeschlossen haben, klicken Sie auf OK.
Klicken Sie auf der Seite FTP-SSL-Einstellungen im Bereich Aktionen auf Übernehmen, um die SSL-Einstellungen zu speichern.
Zusammenfassung
So recapen Sie die Elemente, die Sie in diesem Schritt abgeschlossen haben:
- Sie haben die SSL-Richtlinie für den Kontrollkanal so konfiguriert, dass alle Benutzeranmeldeinformationen verschlüsselt sind, und FTP-Clients können bestimmen, ob alle anderen Kontrollkanalaktivitäten verschlüsselt werden sollen.
- Sie haben die SSL-Richtlinie für den Datenkanal so konfiguriert, dass FTP-Clients bestimmen können, ob Datenkanalaktivitäten verschlüsselt werden sollen.
Anmeldung bei Ihrer FTP-Website
In Schritt 1 haben Sie eine FTP-Website erstellt, auf die das Administratorkonto zugegriffen werden kann. In Schritt 2 haben Sie die SSL-Richtlinie für den Kontrollkanal so konfiguriert, dass alle Benutzeranmeldeinformationen verschlüsselt werden müssen, während FTP-Clients auswählen können, ob alle anderen Kontrolle- und Datenkanalaktivitäten verschlüsselt werden sollen oder nicht.
Wenn Sie sich mit einem SSL-fähigen FTP-Client beim FTP-Server anmelden, unterstützt der FTP-Server die folgenden expliziten Sicherheitsoptionen:
- TLS-C/TLS – TLS für die Verbindung mit RFC2228 Standardwerten verwenden. Dies bedeutet, dass es keinen impliziten Schutz der Datenverbindung gibt.
- TLS-P/SSL – TLS für die Verbindung verwenden. Dies bedeutet, dass die Datenverbindung implizit geschützt ist.
Diese Einstellungen können beim Angeben der SSL-Verbindungsoptionen in den meisten FTP-Clients des 3. Teils konfiguriert werden.
Hinzufügen der SSL-basierten FTP-Veröffentlichung durch Bearbeiten der IIS 7.0-Konfigurationsdateien
Sie können auch SSL-basierte FTP-Veröffentlichung zu einer vorhandenen Website hinzufügen, indem Sie die IIS 7.0-Konfigurationsdateien bearbeiten.
Hinweis
Die Bearbeitung der Host.Konfigurationsdatei Ihrer Anwendung erfordert volle administrative Berechtigungen. Verwenden Sie eine von zwei Methoden:
- Melden Sie sich mit dem lokalen "Administrator"-Konto bei Ihrem Computer an.
Oder
- Wenn Sie mit einem Konto mit Administratorberechtigungen angemeldet sind, das nicht das lokale "Administrator"-Konto ist, öffnen Sie Editor mit der Option "Als Administrator ausführen".
Hinweis
Eine der oben genannten Schritte ist erforderlich, da die Sicherheitskomponente für die Benutzerkontensteuerung (User Account Control, UAC) in den Betriebssystemen Windows Vista und Windows Server 2008 den Zugriff auf Ihre Anwendung Host.konfigurierte Datei verhindert. Weitere Informationen über UAC finden Sie unter Benutzerkontensteuerung.
Die folgenden Schritte führen Sie durch alle erforderlichen Einstellungen, um die FTP-Veröffentlichung für die Standardwebsite hinzuzufügen.
Schritt 1: Rufen Sie des Hashs für Ihr SSL-Zertifikat ab:
- Doppelklicken Sie in der Funktion Serverzertifikate auf Ihr SSL-Zertifikat. Wenn Sie z. B. dem optionalen Schritt zum Erstellen eines selbstsignierten Zertifikats gefolgt sind, doppelklicken Sie auf das Zertifikat mit dem Namen "Mein FTP-Zertifikat".
- Klicken Sie auf die Registerkarte Details .
- Blättern Sie durch die Felder, bis Sie den Fingerabdruckwert finden.
- Markieren Sie den Fingerabdruckwert, und die Daten werden wie folgt angezeigt:
"57 68 6F 61 20 44 75 64 65 2C 20 49 49 53 20 52 6F 63 6B 73" - Kopieren Sie die Hexadexdaten aus dem Textfeld, und fügen Sie sie in die Zwischenablage ein. Öffnen Sie dann Windows Editor, und fügen Sie die Daten in ein leeres Dokument ein.
Hinweis
Sie werden diese Informationen später verwenden.
Schritt 2: Hinzufügen Sie von FTP zu Ihrer Standardwebsite
Öffnen Sie mit einem Text-Editor wie Windows Editor Ihre Anwendung Host.konfiguriert Datei, die sich standardmäßig in Ihrem
%SystemRoot%\System32\inetsrv\config
Ordner befindet.Suchen Sie den Abschnitt für Ihre Standardwebsite. Dies sollte dem folgenden Beispiel ähneln:
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site>
Erstellen Sie ein neues Bindungselement in der Bindungssammlung. Setzen Sie den Wert des Protokoll-Attributs auf dem neuen Bindungselement auf "ftp" und ändern Sie dann den Port-Wert des Attributs bindingInformation auf "21". Die Einstellungen Ihrer Standard-Website sollten nun wie im folgenden Beispiel aussehen:
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> </site>
Fügen Sie einen <ftpServer-Abschnitt> unter dem abschließenden <Bindungstags> hinzu, der Ihre Authentifizierungs- und SSL-Einstellungen enthält.
Hinweis
Die Authentifizierungseinstellungen für FTP-Websites werden auf Website-Ebene konfiguriert, im Gegensatz zur Authentifizierung für Websites, die pro URL konfiguriert werden kann.
<ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" userName="IUSR" /> <basicAuthentication enabled="true" /> </authentication> <ssl serverCertHash="" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" /> </security> </ftpServer>
Kopieren Sie die Fingerabdruckdaten aus dem SSL-Zertifikat, und fügen Sie sie in das ServerCertHash-Attribut des SSL-Elements ein. Entfernen Sie alle Leerzeichen aus den Fingerabdruckdaten.
Hinweis
Wenn Sie die Hexadezimalzahlen nicht in Großbuchstaben umwandeln, wird sie später nicht im IIS-Manager angezeigt.
Ihre Standardwebsiteeinstellungen sollten nun etwa das folgende Beispiel enthalten:
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> <ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> </security> <ssl serverCertHash="57686F6120447564652C2049495320526F636B73" controlChannelPolicy="SslRequire" dataChannelPolicy="SslRequire" /> </ftpServer> </site>
Blättern Sie zum Ende der Host.Konfigurationsdatei Ihrer Anwendung und fügen Sie einen Abschnitt für Ihre Standard-Website hinzu, der Ihre Autorisierungseinstellungen enthält.
Hinweis
Wie in diesem Beispiel gezeigt, werden die Autorisierungseinstellungen für FTP-Websites pro URL konfiguriert.
<location path="Default Web Site"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="administrator" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location>
Speichern Sie Ihrer Anwendung Host.Konfigurationsdatei.
Sie sollten sich jetzt mit einem SSL-basierten FTP-Client bei Ihrer Standardwebsite anmelden können.
Zusammenfassung
In dieser Aufgabe haben Sie die SSL-basierte FTP-Veröffentlichung zu Ihrer Standardwebsite hinzugefügt, indem Sie die IIS 7.0-Konfigurationsdateien bearbeiten. Rekapitulieren Sie die Elemente, die Sie in dieser Aufgabe erledigt haben:
- Sie haben der Standardwebsite eine FTP-Bindung hinzugefügt.
- Sie haben die FTP-Standardauthentifizierung aktiviert und die anonyme FTP-Authentifizierung für die Standardwebsite deaktiviert.
- Sie haben die Website so konfiguriert, dass SSL für alle Kontrollkanal- und Datenkanalaktivitäten erforderlich ist.
- Sie haben das Administratorkonto für Lese-/Schreibberechtigungen für die Standardwebsite konfiguriert.