ID.nl logo
Alles over nieuwe en veilige FTP-varianten
Huis

Alles over nieuwe en veilige FTP-varianten

FTP is een handige en populaire methode voor het versturen van bestanden. Het protocol is helaas al flink op leeftijd en hoe handig het ook is, het is allerminst veilig, want er wordt geen enkele encryptie gebruikt. Daarom zijn er alternatieven ontwikkeld die je dataoverdracht veiliger maken, bijvoorbeeld FTPS of SFTP: FTP met de ‘S’ van secure.

FTP (File Transfer Protocol) bestaat al heel lang en is zelfs ouder dan het TCP-protocol. De eerste RFC (Request For Comments) dateert al van 1971 en dat verklaart waarom FTP ontworpen was om via het NCP-protocol (Network Control Program) te werken. Dit is een zogeheten simplex protocol dat twee verbindingen opzet op verschillende poorten om tweerichtingscommunicatie mogelijk te maken. Met TCP is dit niet langer nodig, maar om compatibiliteitsredenen blijft FTP twee poorten gebruiken.

Bij de actieve modus verbindt de FTP-client zich vanaf een toevallig gekozen poort P (boven 1024) met controlepoort 21 van de FTP-server, waarna de client luistert op poort P+1. Vervolgens zal de server een verbinding opzetten vanaf zijn datapoort (poort 20) met P+1 van de client. De client stuurt ACK’s (acknowledgments ofwel bevestigingen) vanaf P+1 naar datapoort 20.

De actieve modus blijkt in de praktijk vaak nukkig. Immers, de client legt zelf geen verbinding met de datapoort van de server, maar meldt slechts aan de server op welke poort deze luistert. Wanneer de server vervolgens een verbinding op deze poort initieert, ziet de firewall of NAT (Network Address Translation) aan clientzijde dit als een verdacht verbindingsverzoek en wordt dit geblokkeerd. Voor NAT komt daarbij dat het doorgegeven ip-adres en poortnummer naar het interne netwerk verwijst in plaats van naar het publieke netwerk.

Om dit te omzeilen kun je een zogeheten ALG (Application-level Gateway of Application Layer Gateway) configureren, maar een makkelijkere oplossing is de passieve modus. Hierbij zet de client zelf beide connecties met de server op. In plaats van met een simpel PORT-commando de datapoort aan de server te communiceren, stuurt de client een PASV-commando door. Hierdoor zal de server een willekeurige poort aan de client doorgeven waarna deze laatste hiermee zelf de verbinding initieert. Er kleven twee mogelijke nadelen aan deze modus: de server moet voor zijn clients vaak veel poorten ter beschikking houden en de client moet deze modus ondersteunen.

Een wat omslachtige methode dus, maar erger nog is de inherente onveiligheid. Immers, de server kan wel zo worden geconfigureerd dat een gebruikersnaam en wachtwoord zijn vereist, maar deze inloggegevens, evenals de eigenlijke data die naderhand worden doorgestuurd, gaan onversleuteld over het netwerk. Je kunt dit makkelijk zelf testen. In Windows bijvoorbeeld zet je snel een FTP-server op, bijvoorbeeld met FileZilla-server, waarna je aan clientzijde op een opdrachtregel het commando ftp uitvoert, gevolgd door de volgende commando’s:

open <ip-adres_van_ftp-server>

<gebruikersnaam>

<wachtwoord>

Met dir vraag je een bestandsoverzicht op en met get <bestand> en put <bestand> kun je bestanden uitwisselen.

Tegelijk start je een sessie op via Wireshark en vang je de netwerkdata op. Na afloop stel je ftp als weergavefilter in. Je zult merken dat alle data, wachtwoord inclusief, onversleuteld worden verzonden. Er zijn trouwens nog andere kwetsbaarheden ontdekt (zie ook RFC 2577 via www.kwikr.nl/rfc2577). Dit alles verklaart ook waarom er nauwelijks nog browsers zijn die FTP ondersteunen.

Het is dus aan te raden een veilig kanaal voor je datatransfers te gebruiken, en doorgaans worden hiervoor FTPS of SFTP ingezet. Beide gebruiken publieke sleutels over versleutelde tunnels voor de authenticatie en maken gebruik van betrouwbare encryptie. Maar er zijn ook wezenlijke verschillen, vooral op het vlak van het transportmechanisme.

FTP is een onveilig protocol gezien alle data onversleuteld het netwerk opgaan.

FTPS staat voor FTP over SSL/TLS (Secure Sockets Layer/Transport Layer Security), een cryptografisch protocol dat ook voor andere communicatievormen wordt gebruikt, zoals bij e-mailen en surfen.

Het komt erop neer dat FTPS je verbinding gewoonlijk authentiseert via een certificaat of soms (ook) een gebruikers-ID. Is dit ondertekend door een erkende CA (Certificate Authority) of gaat het om een zelf-ondertekend certificaat waarvan je een kopie ter verificatie hebt opgeslagen, dan kan de verbinding doorgaan. FTPS werkt net als FTP met twee verbindingen, via een controle- en data-kanaal.

Bij de meeste FTPS-clients moet je aangeven of je impliciete dan wel expliciete encryptie wenst. Aangezien bij FTPSI (impliciet) er vóór de authenticatie geen onderhandeling over de SSL/TLS-connectie mogelijk is, is deze modus meestal vervangen door FTPSE (expliciet), waarbij zo’n onderhandeling wel mogelijk is.

Om een en ander zelf uit te proberen, kun je bijvoorbeeld het gratis WinSCP als client gebruiken en verbinding maken met FileZilla Server, die standaard in zo’n zelf-ondertekend certificaat voorziet.

Welke encryptiemodus kies je voor TLS/SSL: impliciet of expliciet?

SFTP staat voor SSH FTP (Secure Shell FTP). Terwijl FTPS een extra laag toevoegt aan het FTP-protocol, is SFTP eigenlijk geheel verschillend van FTP. In de meeste gevallen authentiseert een client zich bij de SFTP-server via SSH-sleutels. De client bezorgt zijn publieke sleutel (vooraf) aan de SFTP-server, die het met het client-account zal associëren. De client zal die sleutel tijdens de authenticatie dan doorsturen en als die overeenkomt met de bijbehorende private sleutel – eventueel in combinatie met een gebruikersnaam en wachtwoord (die eveneens versleuteld worden verstuurd) – is de authenticatie geslaagd en kan de connectie worden opgezet. In tegenstelling tot FTP(S) zet SFTP slechts een enkele connectie op, voor zowel authenticatie, commando’s als dataoverdrachten. Dit maakt SFTP ook handiger voor gebruik achter firewalls.

1971 Introductie van FTP (RFC 114).

1980 TCP/IP-versie van FTP (in plaats van NCP).

1985 Basis van huidige FTP-versie (RFC 959).

1994 Introductie passieve modus.

1996 Introductie van FTPS.

1997 Introductie van SFTP.

1998 Ondersteuning van IPv6 door FTP.

2021 Belangrijkste browsers ondersteunen FTP niet langer.

▼ Volgende artikel
Meerdere Assassin's Creed- en Far Cry-games in ontwikkeling
Huis

Meerdere Assassin's Creed- en Far Cry-games in ontwikkeling

De Franse uitgever Ubisoft heeft meerdere games in de Assassin's Creed- en Far Cry-reeksen in ontwikkeling.

Dat liet ceo Yves Guillemot weten in een interview met Variety, dat vooral draaide om de herstructurering van het bedrijf. De Assassin's Creed-, Far Cry- en Rainbow Six-franchises vallen tegenwoordig onder Vantage Studios, een dochteronderneming die Ubisoft samen met Tencent heeft opgericht.

"We hebben een solide planning op de rit bij Vantage Studios", aldus Guillemot. "We ontwikkelen meerdere games in de Assassin's Creed-franchise. Het gaat daarbij zowel om singleplayer- en multiplayerervaringen, met een ambitie om de spelersaantallen te laten groeien. Vorig jaar had de franchise al meer dan dertig miljoen spelers."

Over Far Cry: "Mensen wachten met smart (op nieuwe delen). We hebben op dit moment twee erg veelbelovende projecten in ontwikkeling." Hij gaf niets prijs over deze projecten, maar er gaan al langere tijd geruchten over twee Far Cry-games: een nieuwe singleplayerervaring en een losstaande multiplayergame - mogelijk een extraction shooter - waarbij beide games mogelijk een deel van de spelwereld of spelmechanismen delen.

Ubisoft op de schop

De herstructurering van Ubisoft zorgt er ook voor dat er diverse ontslagen vallen, studio's worden gesloten en games zijn geannuleerd. Eerder deze week bleek al dat er ontslagen vallen bij Ubisoft Toronto, al werd daarbij wel gecommuniceerd dat de Splinter Cell-remake in ontwikkeling blijft. De herstructurering en ontslagen leveren ook protesten op bij werknemers en vakbonden.

Over die protesten zei Guillemot in het interview: "Ik begrijp volledig de legitieme zorgen van onze teams in Frankrijk en de rest van de wereld. Ubisoft ondergaat op dit moment een grote transformatie, dat invloed heeft op onze organisatie, werkzaamheden en cultuur. Veranderingen op deze schaal wekken logischerwijs vragen op en zorgen voor spanning, zeker wanneer ze impact hebben op de routines van mensen. Ik wil luisteren, met verantwoording leiden en onze teams blijven betrekken. Maar ik kan niet negeren dat we onderdeel uitmaken van een industrie die competitiever en veeleisender is dan ooit tevoren."

▼ Volgende artikel
Check de eerste trailer van de Peaky Blinders-film
Huis

Check de eerste trailer van de Peaky Blinders-film

De eerste trailer van Peaky Blinders: The Immortal Man - de film die de Peaky Blinders-serie opvolgt - is online gedeeld.

Eind vorig jaar kwam er al een korte teaser online, maar nu is de eerste volledige trailer te zien, die meer dan tweeënhalve minuut lang is.

Peaky Blinders: The Immortal Man speelt zich af in 1940, net zoals de serie in Birmingham. Daarin speelt de Tweede Wereldoorlog een grote rol. Hoofdpersonage Tommy Shelby heeft gedurende de serie die zich voor de film afspeelt immers last van zijn ervaringen met de Eerste Wereldoorlog, dus de Tweede Wereldoorlog zal ook een grote impact op hem maken.

Tegelijkertijd worstelt hij ook met zijn verleden als leider van de gevreesde Peaky Blinders-bende. Zeker wanneer hij verneemt dat zijn zoon de bende nieuw leven in wil blazen, moet hij uit zijn isolement komen om daar een stokje voor te steken.

Watch on YouTube

Natuurlijk speelt Cillian Murphy weer de rol van Tommy Shelby. Verder zijn ook acteurs als Tim Roth, Barry Keoghan, Rebecca Ferguson en Sophie Rundle te zien. Peaky Blinders: The Immortal Man draait vanaf 6 maart in selecte bioscopen, en is vanaf 20 maart te zien op Netflix.

Vorig jaar werd ook aangekondigd dat Netflix met een nieuwe Peaky Blinders-serie komt, die verdergaat waar de serie eindigt. Om precies te zijn gaat die serie zich in 1953 afspelen, rondom een nieuwe generatie van de Shelby-familie.