Wat is FTPS?

FTPS (FTP Secure, ook FTP over TLS genoemd) is een uitbreiding van het File Transfer Protocol (FTP) die de besturings- en dataverbindingen met TLS versleutelt en de server zich met een X.509-certificaat laat identificeren. De standaard is vastgelegd in RFC 4217 (oktober 2005), dat voortbouwt op de algemene FTP-beveiligingsuitbreidingen uit RFC 2228 (1997). FTPS behoudt de opbouw van FTP, met tekstcommando’s, een aparte dataverbinding per overdracht en actieve of passieve modus, maar zorgt dat wachtwoorden en bestanden niet meer leesbaar over een TCP/IP-netwerk gaan.

In OT-omgevingen is FTPS vooral relevant als een apparaat of applicatie wel FTP-varianten spreekt maar geen SFTP. Veel PLC-communicatiemodules en oudere softwarepakketten vallen in die categorie.


🧠 Hoe werkt FTPS?

Bij de gangbare, expliciete variant begint de sessie als gewone FTP-verbinding over TCP-poort 21, waarna de client om versleuteling vraagt:

  1. Verbinden - de client opent de besturingsverbinding naar poort 21 en ontvangt de welkomstcode 220.
  2. AUTH TLS - de client vraagt om TLS; de server antwoordt met 234 als hij het verzoek accepteert. Daarna volgt de TLS-handshake.
  3. Servercertificaat controleren - de client controleert het X.509-certificaat van de server. Pas als dat klopt, is de gesprekspartner echt de bedoelde server.
  4. Inloggen - USER en PASS gaan nu door de versleutelde tunnel. Optioneel kan de server ook een clientcertificaat eisen.
  5. PBSZ 0 en PROT P - deze twee commando’s zetten de bescherming van de dataverbindingen aan. PROT P (Private) betekent dat elke dataverbinding ook met TLS wordt opgezet; PROT C (Clear) laat de data onversleuteld.
  6. Overdracht - voor elke RETR, STOR of LIST wordt een nieuwe dataverbinding geopend, met een eigen TLS-handshake.

Volgens RFC 4217 beginnen dataverbindingen standaard in Clear. Een client die PROT P vergeet, versleutelt dus wel het wachtwoord maar niet de bestanden. De beschermingsniveaus Safe (S) en Confidential (E) uit RFC 2228 worden bij TLS niet gebruikt.


🔄 Wat is het verschil tussen expliciete en impliciete FTPS?

Kenmerk Expliciete FTPS (FTPES) Impliciete FTPS
Start van TLS Na het commando AUTH TLS Direct vanaf de eerste byte
Besturingspoort 21 (dezelfde als FTP) 990
Standaard RFC 4217 (2005) Geen RFC, oudere praktijk; IANA reserveert 990 en 989
Onversleuteld terugvallen Mogelijk als server of client versleuteling niet afdwingt Niet mogelijk, zonder TLS geen verbinding
Ondersteuning Vrijwel alle moderne clients en servers Veel servers, vaak als optie die standaard uit staat
Advies Voorkeur, met verplichte TLS Alleen voor bestaande koppelingen die het vereisen

Het nadeel van expliciete FTPS is dat een verkeerd geconfigureerde server ook gewone FTP-logins accepteert. Zet daarom op de server altijd vast dat versleuteling verplicht is. Bij vsftpd, een veelgebruikte FTP-server op Linux, gebeurt dat met force_local_logins_ssl en force_local_data_ssl; impliciete FTPS staat daar standaard uit (implicit_ssl=NO).


🔍 Wat is het verschil tussen FTPS, SFTP en FTP?

Kenmerk FTP FTPS SFTP
Basis RFC 959 (1985) FTP met TLS (RFC 4217, 2005) Subsysteem van SSH
Versleuteling Geen TLS voor besturing en, met PROT P, data Alles via SSH
Poorten 21 plus datapoorten 21 of 990, plus datapoorten Eén poort, standaard 22
Identiteit server Geen controle X.509-certificaat SSH-hostsleutel
Firewallvriendelijk Matig Lastig, helper kan versleutelde commando’s niet lezen Goed, één verbinding
Gebruik in OT Uitfaseren Waar alleen FTP-varianten mogelijk zijn Voorkeur voor nieuwe koppelingen

FTPS en SFTP lijken op elkaar in naam, maar zijn niet uitwisselbaar: een SFTP-client kan geen verbinding maken met een FTPS-server en andersom. FTPS past goed in een omgeving die al een PKI en certificaatbeheer heeft; SFTP past beter waar beheerders al met SSH-sleutels werken. Voor nieuwe koppelingen tussen applicaties is HTTPS met een REST-interface vaak een derde, eenvoudiger alternatief.


🧱 Waarom is FTPS lastig met firewalls en NAT?

Bij gewone FTP leest een firewall met een FTP-helper het PASV-antwoord van de server mee en opent tijdelijk de juiste datapoort. Bij FTPS is dat antwoord versleuteld, zodat de helper niets meer ziet. Hetzelfde geldt voor NAT: de server moet zelf het juiste externe IP-adres in zijn antwoord zetten.

De gangbare oplossing bestaat uit drie instellingen:

  • Passieve modus - laat de client de dataverbinding opzetten; actieve modus is achter firewalls nauwelijks werkbaar.
  • Vast passief poortbereik - beperk de server tot een klein bereik, bijvoorbeeld 50000-50100, en sta alleen dat bereik toe in de firewall (bij vsftpd met pasv_min_port en pasv_max_port).
  • Extern adres instellen - configureer het publieke of gerouteerde IP-adres op de server als die achter NAT staat.

RFC 4217 beschrijft ook het gebruik van CCC (Clear Command Channel, afkomstig uit RFC 2228), een commando dat de besturingsverbinding na het inloggen weer onversleuteld maakt zodat een firewall de commando’s kan lezen. De RFC zelf waarschuwt voor de beveiligingsrisico’s daarvan; in een OT-netwerk is een vast poortbereik vrijwel altijd de betere keuze.


🏭 Waar wordt FTPS gebruikt in OT?

  • PLC-communicatiemodules - Siemens beschrijft in een applicatievoorbeeld hoe de CP 1543-1 voor de S7-1500 als FTPS-server en -client werkt. De communicatieprocessors van Siemens zijn gericht op FTP en FTPS en niet op SFTP, waardoor FTPS daar de versleutelde optie is.
  • HMI en SCADA - export van recepten, alarmlogs en rapporten naar een centrale server.
  • Gegevensuitwisseling met derden - meetdata vanuit een historian naar een laboratorium, netbeheerder of leverancier, vaak via een FTPS-server in de DMZ.
  • Firmware en configuraties - het ophalen van bestanden door apparaten die geen SFTP kennen.
  • IT-servers - Microsoft IIS en vsftpd bieden FTPS ingebouwd, waardoor bestaande FTP-koppelingen zonder nieuwe software kunnen worden versleuteld.

Omdat PLC’s en panelen in legacysystemen vaak twintig jaar of langer meegaan, is FTPS in de praktijk regelmatig de enige haalbare stap tussen onversleutelde FTP en een volledig nieuwe interface.


🔐 Welke risico’s en valkuilen heeft FTPS?

FTPS is zo sterk als de configuratie. De meest voorkomende fouten:

  • Geen certificaatcontrole - clients die elk certificaat accepteren, of een zelfondertekend certificaat zonder vaste vingerafdruk, laten een Man-In-The-Middle-aanval en spoofing toe.
  • PROT C of geen PROT P - het wachtwoord is beschermd, de bestanden niet. Met Wireshark is dat direct zichtbaar.
  • Verouderde TLS-versies - TLS 1.0 en 1.1 zijn sinds 2021 afgeschaft (RFC 8996). Oudere embedded FTPS-implementaties ondersteunen soms niets nieuwers.
  • Overname van de dataverbinding - zonder TLS-sessiehergebruik of clientcertificaten kan een aanvaller in theorie een dataverbinding kapen, vergelijkbaar met session hijacking. Servers zoals vsftpd eisen daarom standaard dat de dataverbinding de TLS-sessie van de besturingsverbinding hervat (require_ssl_reuse=YES); sommige clients ondersteunen dat niet, wat leidt tot foutcode 522.
  • Zwakke accounts - versleuteling helpt niet tegen standaardwachtwoorden of gedeelde accounts zonder toegangsbeheer.

IEC 62443 en ISO 27001 noemen FTPS niet bij naam. IEC 62443-3-3 eist wel vertrouwelijkheid (SR 4.1) en integriteit (SR 3.1) van communicatie, en ISO 27001:2022 bevat maatregelen voor informatieoverdracht (A.5.14) en cryptografie (A.8.24). Een goed ingestelde FTPS-verbinding helpt aan die eisen te voldoen.


🛠️ Hoe richt u FTPS veilig in?

Instelling Aanbevolen waarde Waarom
Modus Expliciet, TLS verplicht voor login en data Voorkomt terugval naar platte tekst
TLS-versie TLS 1.3, minimaal TLS 1.2 Volgt de TLS-richtlijnen van het NCSC
Dataverbinding PROT P, TLS-sessiehergebruik vereist Bestanden versleuteld, geen kaping
Certificaat Uitgegeven door een interne of publieke CA, met bewaakte vervaldatum Client kan de server verifiëren
Passieve poorten Klein vast bereik, bijvoorbeeld 100 poorten Beperkt de firewallregels
CCC Uitgeschakeld Houdt de besturingsverbinding versleuteld
Accounts Uniek per systeem, geen anonymous login Least privilege

Een praktische aanpak voor een OT-omgeving:

  1. Inventariseren - bepaal welke apparaten nu FTP gebruiken en of hun firmware FTPS, SFTP of geen van beide ondersteunt.
  2. Kiezen - SFTP waar het kan, FTPS waar alleen FTP-varianten mogelijk zijn, en afscherming waar zelfs FTPS ontbreekt.
  3. Segmenteren - plaats de FTPS-server in een aparte zone volgens het zones-en-conduits-model en beperk verkeer met netwerksegmentatie.
  4. Harden - schakel ongebruikte functies uit volgens hardening en controleer hashes van overgedragen firmware.
  5. Monitoren - zet logging van logins en overdrachten aan en bewaak verlopende certificaten.

Voor organisaties onder de Cyberbeveiligingswet, de Nederlandse invulling van NIS2, horen versleutelde bestandsoverdracht en certificaatbeheer bij de passende maatregelen voor netwerk- en informatiebeveiliging.


❓ Veelgestelde vragen

Is FTPS hetzelfde als SFTP?

Nee, FTPS en SFTP zijn twee verschillende protocollen. FTPS is het klassieke FTP met TLS-versleuteling en X.509-certificaten, terwijl SFTP een subsysteem van SSH is dat via één verbinding op poort 22 werkt.

Welke poorten gebruikt FTPS?

Expliciete FTPS gebruikt TCP-poort 21 voor de besturingsverbinding, impliciete FTPS gebruikt poort 990. Daarnaast heeft FTPS datapoorten nodig, in passieve modus meestal een vast bereik van hoge poorten dat de beheerder op de server instelt.

Is FTPS veilig?

FTPS is veilig als TLS 1.2 of 1.3 verplicht is, de client het servercertificaat controleert en de dataverbinding met PROT P wordt versleuteld. Met zwakke instellingen, zoals het accepteren van elk certificaat of onversleutelde data, biedt FTPS veel minder bescherming dan de naam doet vermoeden.

Waarom werkt FTPS niet door mijn firewall?

FTPS werkt vaak niet door een firewall omdat de firewall de versleutelde commando’s niet kan lezen en dus niet weet welke datapoort hij moet openen. De oplossing is passieve modus met een vast poortbereik op de server en een firewallregel voor precies dat bereik.

Wat is het verschil tussen FTPS en FTPES?

FTPES is een veelgebruikte naam voor expliciete FTPS, waarbij de verbinding begint op poort 21 en met AUTH TLS naar TLS overschakelt. Impliciete FTPS start TLS direct op poort 990 en is niet in een RFC vastgelegd.

Moet ik FTPS of SFTP kiezen in een OT-omgeving?

In een OT-omgeving is SFTP meestal de eerste keuze, omdat het één poort gebruikt en eenvoudig te segmenteren is. FTPS is de juiste keuze als PLC-modules, HMI’s of bestaande applicaties alleen FTP-varianten ondersteunen, zoals bij veel Siemens-communicatieprocessors.


📌 Samengevat

FTPS maakt het bestaande FTP-protocol veilig met TLS, zonder de werking van commando’s en dataverbindingen te veranderen. Dat maakt het een praktische stap voor industriële apparatuur die geen SFTP kent, maar vraagt wel aandacht voor certificaten, PROT P, TLS-versies en firewallpoorten.

FTPS is FTP met TLS-versleuteling en servercertificaten: kies expliciete FTPS met verplichte versleuteling, een vast passief poortbereik en certificaatcontrole, en gebruik het vooral waar SFTP in OT geen optie is.