Blog overzicht

FTP vs FTPS vs SFTP: hoe verbind ik veilig met mijn server?

Iedereen die weleens te maken heeft gehad met het op afstand beheren van een website, is waarschijnlijk wel in aanraking gekomen met het File Transfer Protocol (FTP). Dit protocol dat begin jaren 70 is bedacht voor ARPANET (voorloper van het huidige internet), regelt de overdracht van bestanden en mappen tussen jouw webserver en een remote client zoals bijvoorbeeld FileZilla. Is dit oude protocol anno 2018 nog wel veilig of wordt het tijd om een andere manier van verbinden te gebruiken?

Wat is FTP en hoe werkt het?

Het eerste dat FTP doet om een overdracht te regelen via een client en een server, is contact maken via een open poort, normaal gesproken poort 21. De verbinding die wordt gelegd, is de command channel. Voordat er informatie wordt uitgewisseld, moet de client zich eerst identificeren bij de server, wat normaal gesproken gebeurt via een gebruikersnaam en een wachtwoord. Als dit geregeld is, zoeken de client en de server naar een nieuwe poort waarover de data wordt overgedragen.

Deze manier van dataoverdracht heeft jarenlang goed gewerkt en FTP is een zeer handig protocol om op afstand data te beheren, maar het is met 50 jaar al een oud beestje. Het stamt nog uit de tijd dat je een touwtje uit de voordeur kon laten hangen, zodat familie en vrienden vrijuit naar binnen konden lopen. Het internet en haar voorlopers waren in haar begindagen net zo vrij en open. Beveiliging was niet iets waar de eerste gebruikers druk mee bezig waren. De data wordt binnen dit protocol dus ook in plain text uitgewisseld tussen de server en de client. Daardoor kunnen kwaadwillenden zeer gemakkelijk ‘meeluisteren’. En niet alleen de dataoverdracht is inzichtelijk, ook de gebruikersnaam en het wachtwoord zijn gemakkelijk te achterhalen. 

Veilig verbinden met je server is essentieel

Tegenwoordig heeft men in de meeste buurten de deur op slot. Ook op internet is de kleine hechte gemeenschap veranderd. Er zijn inmiddels meer dan vier miljard mensen aangesloten en die hebben niet allemaal goeds in de zin. Het is niet meer de vraag of je jouw verbinding moet beveiligen, maar hoe je dat gaat doen. Veiligheid speelt overigens niet alleen een rol bij de verbinding met jouw server, het is overal een hot topic. Vooral nu we zien dat grote internetpartijen als Google ook bezig zijn met een veiliger web, zoals we in mei al op het blog schreven.

FTP vs FTPS: van plain text naar versleutelde verbinding

FTP is onveilig omdat het jouw gebruikersnaam, wachtwoord en de te verzenden bestanden in plain text over het internet slingert. Je kunt je afvragen, waarom gebruiken mensen die techniek dan nog? Het kan namelijk al sinds midden jaren 90 een stuk veiliger. Netscape, op dat moment de grote concurrent van Microsoft Internet Explorer, introduceerde dankzij het gebruik van een Secure Socket Layer (SSL) een beveiligingsschil voor FTP genaamd FTPS, waarbij de S voor SSL staat. Dit protocol zorgt ervoor dat de data- en controleconnectie versleuteld worden. Effectief betekent dit dat het FTP is, maar dan versleuteld met een SSL-certificaat zodat niemand de verbinding ‘af kan luisteren’.

Naast dat de data versleuteld wordt verstuurd, zorgt FTPS ervoor dat het zeker is dat je verbindt met de website die je hebt ingetypt en je niet slachtoffer wordt van een man-in-the-middle-attack. Het protocol is namelijk afhankelijk van certificaten die worden uitgegeven door vertrouwde derde partijen, zoals bijvoorbeeld certificaat-autoriteiten als Comodo of Let’s Encrypt. Deze certificaten geven de bevestiging dat je met een domein verbindt dat is geverifieerd door deze autoriteiten. Deze techniek wordt ook gebruikt om een HTTP-verbinding te beveiligen.

De naamgeving van FTPS zorgt nogal eens voor wat verwarring. Waar het dus nog steeds FTPS heet, gebruikt het tegenwoordig Transport Layer Security (TLS): de feitelijke opvolger van het SSL-protocol.

FTPS kan voor problemen met een firewall zorgen

Het grote voordeel van FTPS is dat je op gebruikersniveau rechten kan toekennen. Per gebruiker is namelijk in te stellen wat het toegangsniveau is. Dit houdt in dat je bijvoorbeeld de senior-developer root-toegang geeft en de junior-developer alleen toegang geeft tot de HTML-map.

Heeft FTPS dan alleen maar voordelen? Nee, het grote nadeel van FTPS is dat het veel minder firewall-vriendelijk is dan het hierna te bespreken SFTP. Dat komt omdat FTPS gebruikmaakt van meerdere poorten. Het standaardpoortnummer 21 wordt, net als bij FTP, gebruikt voor authenticatie en commands. File-transfers en dergelijke gaan vervolgens elk via een apart poortnummer. Wil je FTPS gebruiken, dan moet je een range aan poorten openstellen op jouw server, wat natuurlijk de deur deels weer opent voor aanvallen op jouw systeem. Vaak kan dit niet eens omdat de firewall streng is ingesteld. Om het FTPS-verkeer toch door te laten, moeten er uitzonderingen worden toegevoegd aan de firewall.

SFTP infographicDe werking van SFTP gevisualiseerd. Bron: WPEngine

Wat is SFTP en waarom is het veiliger?

SFTP (SSH File Transfer Protocol) neemt afscheid van veel uitgangspunten waarop FTP en FTPS zijn gebaseerd. Ja, SFTP is een beveiligde verbinding waarover data kan worden uitgewisseld die niet af te luisteren valt, maar daar houden de overeenkomsten wel op. Allereerst gebruikt SFTP maar één poort om data en een command channel op te zetten. Hierdoor hoef je jouw firewall niet verder open te zetten om data te versturen. Daarnaast is SFTP veiliger omdat de data-uitwisseling gebeurt met binaire pakketjes in plaats van gewone tekst. Deze worden versleuteld naar de server verzonden en die antwoordt vervolgens met soortgelijke pakketjes. Al deze data wordt door een SSH-tunnel geleid, waardoor de informatie die heen en weer wordt gestuurd onleesbaar is voor derden. Het is normaal gesproken ook niet mogelijk om de inhoud van de data-uitwisseling te achterhalen. SFTP is de laatste jaren sterk in opkomst om een beveiligde verbinding op te zetten met servers. Het instellen van autorisatieniveaus is wat lastiger dan met FTPS, maar als je goed gebruikmaakt van het instellen van groepen binnen jouw besturingssysteem is daar wel een mouw aan te passen.

FTPS en SFTP bieden allebei meer veiligheid dan FTP

SFTP en FTPS vergroten de veiligheid van jouw file-transfers en serverbeheer enorm en hebben beide zo hun voor- en nadelen. Het firewall-vriendelijke aspect van SFTP is een groot pluspunt, aangezien het zonde is om het ene securityprobleem op te lossen met het creëren van een nieuw veiligheidsrisico. Mocht je juist worstelen met autorisatieniveaus dan kan FTPS een oplossing blijken. Uiteindelijk blijkt wel dat in de situatie van FTP vs FTPS vs SFTP het beste gekozen kan worden voor een van de laatste twee omdat deze veel veiliger zijn.

STACK krijgt SFTP-ondersteuning

Om te eindigen met iets leuks: onze eigen opslagdienst STACK is eind oktober voor de 2 TB- en 10 TB-gebruikers gestart met een SFTP-bètatest. Gebruik jij een van deze varianten, meld je dan nu aan via het controlepaneel om deze veilige manier van verbinden te testen! Voor onze webhostingpakketten kan je al langer gebruikmaken van SFTP. Lees in de Knowledge Base hoe je dat doet.


Beoordeel dit artikel

Deel dit artikel

Gerelateerde artikelen

Blog overzicht

Auteur: Bas van der Weijden

Schrijft als tech-copywriter artikelen over diverse onderwerpen die over VPS, infrastructuur en security gaan. Fanatiek fotograaf in zijn vrije tijd en is gek van gamen en dan vooral op Nintendo-consoles.