FTP über SSL

aus Wikipedia, der freien Enzyklopädie
FTPS im TCP/IP-Protokollstapel:
Anwendung FTP
Transport SSL/TLS
TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

FTP über SSL oder FTP over TLS, kurz FTPS, ist eine Methode zur Verschlüsselung des File Transfer Protocol (FTP).

Im Unterschied zu SFTP stellt FTPS eine Kommunikation von FTP über Transport Layer Security (TLS) und keine Kommunikation von FTP über SSH wie SFTP dar. Daraus ergibt sich, dass bei SFTP immer selbstausgestellte Zertifikate benutzt werden, während bei FTPS durch die Nutzung von TLS auch eine Authentifizierung über X.509-Zertifikate möglich ist die auf einer öffentlichen Vertrauensstruktur (PKI) beruht.

Man unterscheidet zwischen dem expliziten und dem (veralteten) impliziten FTPS-Verbindungsaufbau. Der Standardport für den expliziten Verbindungsaufbau vom Client am Server ist der FTP-Standardport 21/TCP. Explizite FTPS-Verbindungen werden über diesen Port zunächst als FTP-Verbindung aufgebaut, bevor sie zu FTPS wechseln. Danach baut der Server meist aktiv über Port 20/TCP eine Datenverbindung zum Client auf. Für den impliziten Verbindungsaufbau werden die Ports 990/TCP (Control) und Port 989/TCP (Data) verwendet.

Die Verschlüsselung von FTP erfordert mindestens zwei separate Verbindungen. FTPS sieht vor, dass die Nutzdaten nicht unbedingt verschlüsselt werden und nach der Authentifizierung die Verschlüsselung entfallen kann. Inwieweit beim FTPS verschlüsselt wird, hängt auch vom jeweiligen Server und Client ab.[1] Durch die alleinige Verschlüsselung des Verbindungsaufbaus kann sich ein deutlicher Vorteil in der Übertragungsgeschwindigkeit im Vergleich zu SFTP oder SCP ergeben. Ob SFTP oder SCP ähnliche hohe Übertragungsgeschwindigkeiten erreichen, hängt von der genutzten Client- und Server-Software ab.

Mehrere Dutzend Clients und Server sowie einige Proxys unterstützen FTPS.[2] Für FXP über TLS gibt es beispielsweise SSCN (set secured client negotiation).

Ablauf

  1. Der Client baut einen herkömmlichen unverschlüsselten Kontrollkanal zum Server auf.
  2. Der Client sendet die Aufforderung AUTH TLS.
    Bleibt diese Aufforderung aus, kann der Server alle anderen Aufforderungen ablehnen.
  3. Der Server sendet als Ankündigung des Wechsels zu TLS die Antwort 234.
    Bleibt diese Antwort aus, kann der Client unverschlüsselt fortfahren.
  4. Ist auf dem Kontrollkanal zu TLS gewechselt, kann der Client zusätzlich TLS der Nutzdatenkanäle anfordern.
    Alternativ kann der Client jederzeit die Rückkehr zur unverschlüsselten Verbindung fordern, was der Server aber verweigern kann.

Normen und Standards

FTPS ist als Request for Comments (RFC) standardisiert. Die erste und bis heute gültige Version ist RFC 4217 aus dem Jahre 2005 mit dem Titel Securing FTP with TLS. Kurios an diesem RFC ist, dass es ein Protokoll definiert ohne eine eigene Abkürzung oder offiziellen Kurznamen festzulegen.

Das mitgenutzte Protokoll TLS erfuhr zwischenzeitlich einige Weiterentwicklungen, so dass seit 2021 eine Update-Verlinkung erfolgte mit RFC 8996 (Deprecating TLS 1.0 and TLS 1.1).

Literatur

  • Michael Hamm: FTP Secure oder Secure FTP? In: iX. Nr. 10, 2004, S. 102–107 (heise.de [abgerufen am 1. Oktober 2021] Schwerpunkt Grundlagen FTPS).

Einzelnachweise

  1. P. Ford-Hutchinson: RFC 4217. – Securing FTP with TLS. Oktober 2005. (englisch).
  2. P. Ford-Hutchinson: ftps – RFC4217 – state of play. Abgerufen am 22. Februar 2012.