Forstå SFTP vs. FTPS vs. FTP

FTP eller File Transfer Protocol er en af ​​de mest populære dataoverførselsmetoder, der er tilgængelige til forskellige brugssager.

FTP har forskellige sikre varianter tilgængelige, kendt som FTPS og SFTP, som inkorporerer nogle subtile og nogle knap så subtile forskelle i, hvordan de fungerer. Disse forskelle relaterer sig til, hvordan data udveksles, niveauet og typen af ​​sikkerhed i kommunikationen og firewall-overvejelser.

At vide, hvordan disse protokoller fungerer, og forskellene mellem disse populære overførselsmekanismer, kan hjælpe dig med at vælge, hvilken der fungerer bedst til dine behov.

FTP

FTP er den årtier gamle filoverførselsprotokol, der oprindeligt blev foreslået under RFC 114. Denne udviklede sig senere som RFC 959, som er standarden i brug i dag.

FTP fungerer på to kanaler til at udveksle information: en for kommandoer og den anden for data. Dette kræver to porte for at FTP kan fungere – kommandokanalen og datakanalen.

Kommandokanalen fungerer på port 21, som accepterer forbindelser fra klienter og håndterer videregivelsen af ​​kommandoer. Kommandokanalen forbliver åben i hele FTP-sessionens varighed, indtil klienten sender QUIT-kommandoen, eller serveren afbrydes med magt på grund af inaktivitet eller enhver anden mulig årsag.

Datakanalen bruger en on-demand midlertidig port, der lytter på serveren (passiv tilstand) eller klienten (aktiv tilstand). Denne kanal er ansvarlig for at dele faktiske data mellem server og klient i form af kataloglister og filoverførsler.

I modsætning til kommandokanalen forbliver datakanalen kun åben under filoverførslen, og så snart den er færdig, lukkes datakanalen. For samtidig overførsel af flere filer eller mappelister kræves der flere datakanalporte.

FTP er en iboende usikker protokol, da både kommando- og datakanaler overfører information i en ukrypteret form, som let er modtagelig for aflytning af alle, der bruger man-in-the-middle-angreb.

  Ret Dota 2-diskskrivningsfejl

Som tidligere diskuteret kræver FTP en indgående forbindelse på port 21/tcp på serversiden for kommandokanalen. Et passivt portområde er defineret for filoverførsler og kataloglister og tillader indgående forbindelser. Denne definitionsproces kan variere baseret på den anvendte FTP-server. Se dens dokumentation for yderligere detaljer. På klientsiden bør udgående forbindelse på port 21/tcp tillades sammen med passivt portområde defineret på serveren.

Autentificering i FTP

FTP-godkendelsesoplysninger sendes over kommandokanalen under den første forbindelses etablering. FTP kan bruge et brugernavn og en adgangskode til godkendelse, eller den kan være anonym for at give enhver mulighed for at logge på og få adgang til serveren.

Aktive og passive FTP-tilstande

FTP bruger enten aktiv eller passiv tilstand til at oprette forbindelser.

I aktiv tilstand forbinder en bruger fra en tilfældig port på FTP-klienten til FTP-porten 21/tcp på serveren og sender PORT-kommandoen med angivelse af den klientport, serveren skal oprette forbindelse til. Denne port vil blive brugt til datakanalen.

Serveren forbinder derefter fra port 20/tcp til klientporten tidligere specificeret med PORT-kommando af klienten. Denne datakanal bruges derefter til filoverførsler mellem server og klient.

I passiv tilstand forbinder klienten fra en tilfældig port fra FTP-klienten til port 21/tcp på serveren og sender PASV-kommandoen. Serveren svarer derefter med en tilfældig port, der skal bruges til datakanalen. Klienten bruger derefter en anden tilfældig port til at oprette forbindelse til porten, der blev besvaret af en server i det tidligere trin. Denne datakanalforbindelse bruges derefter til filoverførsel mellem server og klient.

Så i aktiv tilstand initieres den indledende forbindelsesanmodning af klienten, mens datakanalforbindelsesanmodningen initieres af serveren.

På den anden side, i passiv tilstand, initieres både indledende forbindelsesanmodninger og efterfølgende datakanalanmodninger af klienten til serveren. Denne subtile forskel påvirker nogle gange, hvordan en firewall tillader/blokerer traditionelle FTP-anmodninger på grund af retningen af ​​indgående/udgående forbindelsestype.

  De 8 bedste Gnome Shell-temaer

FTPS

Selv hvis du er villig til at tage risici forbundet med FTP med ukrypteret datatransmission og main-in-the-midten-angreb, tvinger industrikrav dig til at bruge et mere sikkert alternativ som FTPS og SFTP, som er relativt meget mere sikre.

I 1990, med et skiftende sikkerhedslandskab, skabte Netscape SSL eller Secure Sockets Layer (SSL, nu kendt som TLS) protokol for at beskytte kommunikation over et netværk. SSL blev anvendt på FTP, som blev FTPS eller File Transfer Protocol Secure. FTPS eller FTP/S kører normalt på port 990/tcp, men det kan også ses på port 21/tcp. Tilsvarende er port 989/tcp for datakanal den almindelige port, der bruges til FTPS. Hvis kommandoporten er 21/tcp, forventes dens dataport at være 20/tcp.

Ligesom FTP bruger FTPS to kanaler til kommunikation: kommando og datakanal. Enten kan datakanalen krypteres med FTPS, eller både kommando- og datakanaler kan krypteres for mere sikkerhed.

FTPS bruger ligesom FTP også flere porte til kommando- og datakanaler. Så port 21/tcp bruges til den indledende forbindelse og transmission af autentificeringsinformation. Senere vil der være behov for forskellige porte for at konfigurere datakanaler for hver filoverførsels- eller mappelisteanmodning fra klienten. Således, ligesom FTP, har den brug for en række porte for at være tilladt i din firewall.

Autentificering i FTPS

Autentificering til FTPS fungerer ved hjælp af et brugernavn og en adgangskode sammen med et servercertifikat til kryptering. Når FTPS-klienten opretter forbindelse til en server, tjekker den, om serverens certifikat er tillid til at fortsætte med forbindelsen. Dette certifikat kan anmodes om fra klienten og serveren.

SFTP

I modsætning til FTP og FTPS er SFTP (SSH File Transfer Protocol) en helt anden protokol bygget på SSH (eller Secure Shell). SFTP fungerer som standard på port 22/tcp, det samme som SSH, selvom det kan konfigureres til at bruge en brugerdefineret ledig port på serveren.

  Sådan tilføjer du Alexa til dit smarte spejl

SFTP er en sikker FTP-protokol, der bruger SSH nedenunder til at sende og modtage filer. SSH er fuldstændig krypteret, og SFTP er en robust og sikker metode til at overføre filer over et netværk.

SFTP, i modsætning til FTP og FTPS, bruger en enkelt kommunikationskanal til at overføre kommandoer og datatrafik, som alle videregives i krypteret form sammen med indledende godkendelse.

Godkendelse i SFTP

Autentificering i SFTP kan udføres via et simpelt brugernavn og adgangskode, men i modsætning til FTP sendes alle oplysninger, inklusive autentificeringsdetaljer, krypteret over netværket.

SFTP understøtter også godkendelse ved hjælp af SSH-nøglepar, private og offentlige nøglekombinationer, hvor klienten leverer den private nøgle til den angivne bruger, og serveren skal have den tilsvarende offentlige nøgle for at godkendelsen skal lykkes. Det er mere sikkert end at bruge en kombination af brugernavn/adgangskode. Det er muligt at godkende den samme bruger ved hjælp af adgangskode og SSH-nøgler, hvis begge metoder er konfigureret på SFTP-serveren.

Resumé

Denne artikel opsummerer de grundlæggende funktioner i forskellige populære filoverførselsprotokoller, nemlig FTP, FTPS og SFTP, og fremhæver de subtile og store forskelle mellem disse protokoller. Det dækker de porte, man skal tillade i en firewall for at konfigurere en fungerende FTP/FTPS/SFTP-server, mens det også fremhæver behovet for at skifte til mere sikre protokoller som FTPS og SFTP.

Når jeg siger FTP her, henviser jeg til eventuelle diskuterede protokoller i denne artikel. Årsagen til, at FTP er årtier gammel, og selv nyere sikre versioner omtales nogle gange som FTP i stedet for deres udpegede navn til daglig brug.

Du kan også være interesseret i at kende den bedste FTP-serversoftware og FTP/SFTP-klienter.