Forstå SFTP vs. FTPS vs. FTP

FTP eller File Transfer Protocol er en av de mest populære dataoverføringsmetodene som er tilgjengelige for ulike brukstilfeller.

FTP har forskjellige sikre varianter tilgjengelig, kjent som FTPS og SFTP, som inneholder noen subtile og noen ikke-så-subtile forskjeller i hvordan de fungerer. Disse forskjellene er knyttet til hvordan data utveksles, nivå og type sikkerhet i kommunikasjon og brannmurhensyn.

Å vite hvordan disse protokollene fungerer og forskjellene mellom disse populære overføringsmekanismene kan hjelpe deg å velge hvilken som fungerer best for dine behov.

FTP

FTP er den flere tiår gamle filoverføringsprotokollen som opprinnelig ble foreslått under RFC 114. Denne utviklet seg senere til RFC 959, som er standarden som brukes i dag.

FTP fungerer på to kanaler for å utveksle informasjon: en for kommandoer og den andre for data. Dette krever to porter for at FTP skal fungere – kommandokanalen og datakanalen.

Kommandokanalen fungerer på port 21, som aksepterer tilkoblinger fra klienter og håndterer overføring av kommandoer. Kommandokanalen forblir åpen under hele varigheten av FTP-økten til klienten sender QUIT-kommandoen eller serveren kobles fra med makt på grunn av inaktivitet eller annen mulig årsak.

Datakanalen bruker en on-demand midlertidig port som lytter på serveren (passiv modus) eller klienten (aktiv modus). Denne kanalen er ansvarlig for å dele faktiske data mellom server og klient i form av katalogoppføringer og filoverføringer.

I motsetning til kommandokanalen, forblir datakanalen åpen bare så lenge filoverføringen varer, og så snart den er ferdig, stenges datakanalen. For samtidig overføring av flere filer eller katalogoppføringer kreves det flere datakanalporter.

FTP er en iboende usikker protokoll ettersom både kommando- og datakanaler overfører informasjon i en ukryptert form, som er lett mottakelig for avlytting av alle som bruker man-in-the-middle-angrep.

  8 beste kaloritellerapper i 2022

Som tidligere diskutert krever FTP en inngående tilkobling på port 21/tcp på serversiden for kommandokanalen. Et passivt portområde er definert for filoverføringer og katalogoppføringer og tillater innkommende tilkoblinger. Denne definisjonsprosessen kan variere basert på FTP-serveren som er i bruk. Se dokumentasjonen for ytterligere detaljer. På klientsiden bør utgående tilkobling på port 21/tcp tillates sammen med passivt portområde definert på serveren.

Autentisering i FTP

FTP-autentiseringsinformasjon sendes over kommandokanalen under første tilkobling. FTP kan bruke et brukernavn og passord for autentisering, eller det kan være anonymt for å la hvem som helst logge på og få tilgang til serveren.

Aktive og passive FTP-moduser

FTP bruker enten aktiv eller passiv modus for å sette opp tilkoblinger.

I aktiv modus kobler en bruker fra en tilfeldig port på FTP-klienten til FTP-porten 21/tcp på serveren og sender PORT-kommandoen, og spesifiserer klientportserveren som skal kobles til. Denne porten vil bli brukt for datakanalen.

Serveren kobles deretter fra port 20/tcp til klientporten tidligere spesifisert med PORT-kommando av klienten. Denne datakanalen brukes deretter til filoverføringer mellom server og klient.

I passiv modus kobler klienten seg fra en tilfeldig port fra FTP-klienten til port 21/tcp på serveren og sender PASV-kommandoen. Serveren svarer deretter med en tilfeldig port som skal brukes for datakanalen. Klienten bruker deretter en annen tilfeldig port for å koble til porten som ble svart av en server i det tidligere trinnet. Denne datakanalforbindelsen brukes deretter for filoverføring mellom server og klient.

Så, i aktiv modus, initieres den første tilkoblingsforespørselen av klienten mens forespørselen om datakanal tilkobling initieres av serveren.

På den annen side, i passiv modus, blir både innledende tilkoblingsforespørsler og påfølgende datakanalforespørsler initiert av klienten til serveren. Denne subtile forskjellen påvirker noen ganger hvordan en brannmur tillater/blokkerer tradisjonelle FTP-forespørsler på grunn av retningen på innkommende/utgående tilkoblingstype.

  21 beste gratis Visio-alternativer på nettet

FTPS

Selv om du er villig til å ta risiko forbundet med FTP med ukryptert dataoverføring og main-in-the-midten-angrep, tvinger bransjekrav deg til å bruke et mer sikret alternativ som FTPS og SFTP, som er relativt mye sikrere.

I 1990, med skiftende sikkerhetslandskap, opprettet Netscape SSL eller Secure Sockets Layer (SSL, nå kjent som TLS)-protokollen for å beskytte kommunikasjon over et nettverk. SSL ble brukt på FTP som ble FTPS eller File Transfer Protocol Secure. FTPS eller FTP/S kjører vanligvis på port 990/tcp, men det kan også sees på port 21/tcp. Tilsvarende er port 989/tcp for datakanal den vanlige porten som brukes for FTPS. Hvis kommandoporten er 21/tcp, forventes dataporten å være 20/tcp.

I likhet med FTP bruker FTPS to kanaler for kommunikasjon: kommando og datakanal. Enten kan datakanalen krypteres med FTPS, eller både kommando- og datakanaler kan krypteres for mer sikkerhet.

FTPS, som FTP, bruker også flere porter for kommando- og datakanaler. Så, port 21/tcp brukes for den første tilkoblingen og overføring av autentiseringsinformasjon. Senere vil forskjellige porter være nødvendig for å sette opp datakanaler for hver filoverføring eller katalogoppføringsforespørsel fra klienten. Derfor, som FTP, trenger den en rekke porter for å tillates i brannmuren din.

Autentisering i FTPS

Autentisering for FTPS fungerer ved å bruke et brukernavn og passord sammen med et serversertifikat for kryptering. Når FTPS-klienten kobler til en server, sjekker den om serverens sertifikat er klarert for å fortsette med tilkoblingen. Dette sertifikatet kan bes om fra klienten og serveren.

SFTP

I motsetning til FTP og FTPS, er SFTP (SSH File Transfer Protocol) en helt annen protokoll bygget på SSH (eller Secure Shell). SFTP fungerer som standard på port 22/tcp, det samme som SSH, selv om den kan konfigureres til å bruke en egendefinert ledig port på serveren.

  Google-kameraet lander på Google Play, og har en ny objektivsløringsmodus

SFTP er en sikker FTP-protokoll som bruker SSH under for å sende og motta filer. SSH er fullstendig kryptert, og SFTP er en robust og sikker metode for å overføre filer over et nettverk.

SFTP, i motsetning til FTP og FTPS, bruker en enkelt kommunikasjonskanal for å overføre kommandoer og datatrafikk, som alle sendes i kryptert form sammen med innledende autentisering.

Autentisering i SFTP

Autentisering i SFTP kan gjøres via et enkelt brukernavn og passord, men i motsetning til FTP, sendes all informasjon, inkludert autentiseringsdetaljer, kryptert over nettverket.

SFTP støtter også autentisering ved bruk av SSH-nøkkelpar, private og offentlige nøkkelkombinasjoner, hvor klienten gir den private nøkkelen for den angitte brukeren, og serveren bør ha den tilsvarende offentlige nøkkelen for at autentisering skal lykkes. Det er sikrere enn å bruke en kombinasjon av brukernavn/passord. Det er mulig å autentisere samme bruker ved å bruke passord og SSH-nøkler hvis begge metodene er konfigurert på SFTP-serveren.

Sammendrag

Denne artikkelen oppsummerer de grunnleggende funksjonene til forskjellige populære filoverføringsprotokoller, nemlig FTP, FTPS og SFTP, og fremhever de subtile og store forskjellene mellom disse protokollene. Den dekker portene man trenger å tillate i en brannmur for å sette opp en fungerende FTP/FTPS/SFTP-server, samtidig som den fremhever behovet for å bytte til sikrere protokoller som FTPS og SFTP.

Når jeg sier FTP her, sikter jeg til eventuelle diskuterte protokoller i denne artikkelen. Årsaken til at FTP er flere tiår gammel, og enda nyere sikre versjoner blir noen ganger referert til som FTP i stedet for deres utpekte navn for daglig bruk.

Du kan også være interessert i å kjenne den beste FTP-serverprogramvaren og FTP/SFTP-klientene.