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:
-
Verbinden - de client opent de besturingsverbinding naar poort 21 en ontvangt de
welkomstcode
220. -
AUTH TLS- de client vraagt om TLS; de server antwoordt met234als hij het verzoek accepteert. Daarna volgt de TLS-handshake. - Servercertificaat controleren - de client controleert het X.509-certificaat van de server. Pas als dat klopt, is de gesprekspartner echt de bedoelde server.
-
Inloggen -
USERenPASSgaan nu door de versleutelde tunnel. Optioneel kan de server ook een clientcertificaat eisen. -
PBSZ 0enPROT 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. -
Overdracht - voor elke
RETR,STORofLISTwordt 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_portenpasv_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 Cof geenPROT 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 foutcode522. - 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:
- Inventariseren - bepaal welke apparaten nu FTP gebruiken en of hun firmware FTPS, SFTP of geen van beide ondersteunt.
- Kiezen - SFTP waar het kan, FTPS waar alleen FTP-varianten mogelijk zijn, en afscherming waar zelfs FTPS ontbreekt.
- Segmenteren - plaats de FTPS-server in een aparte zone volgens het zones-en-conduits-model en beperk verkeer met netwerksegmentatie.
- Harden - schakel ongebruikte functies uit volgens hardening en controleer hashes van overgedragen firmware.
- 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.
