SSH -filöverföringsprotokoll - SSH File Transfer Protocol

Vid beräkning är SSH File Transfer Protocol (även Secure File Transfer Protocol eller SFTP ) ett nätverksprotokoll som ger filåtkomst , filöverföring och filhantering över alla tillförlitliga dataströmmar . Den designades av Internet Engineering Task Force (IETF) som en förlängning av Secure Shell -protokollet (SSH) version 2.0 för att tillhandahålla säkra filöverföringsfunktioner. IETF Internet Draft säger att även om detta protokoll beskrivs i samband med SSH-2-protokollet kan det användas i ett antal olika applikationer, såsom säker filöverföring över Transport Layer Security (TLS) och överföring av hantering information i VPN -applikationer.

Detta protokoll förutsätter att det körs över en säker kanal , t.ex. SSH, att servern redan har autentiserat klienten och att klientanvändarens identitet är tillgänglig för protokollet.

Förmågor

Jämfört med SCP -protokollet, som bara tillåter filöverföringar tillåter SFTP-protokollet för en rad operationer på fjärrfiler som gör det mer som en avlägsen filsystem protokoll. En SFTP -klients extra funktioner inkluderar återupptagna avbrutna överföringar, katalogförteckningar och borttagning av filer.

SFTP försöker vara mer plattformsoberoende än SCP; med SCP, till exempel, är expansionen av jokertecken som anges av klienten upp till servern, medan SFTP: s design undviker detta problem. Medan SCP oftast implementeras på Unix -plattformar, är SFTP -servrar vanligtvis tillgängliga på de flesta plattformar. Filöverföringen är snabb i SCP jämfört med SFTP -protokollet på grund av att SFTP -protokollet går fram och tillbaka. I SFTP kan filöverföringen enkelt avslutas utan att avsluta en session som andra mekanismer gör.

SFTP inte FTP körs över SSH , utan snarare ett nytt protokoll utformats från grunden upp av IETF SECSH arbetsgrupp . Det förväxlas ibland med Simple File Transfer Protocol .

Själva protokollet ger inte autentisering och säkerhet. det förväntar sig att det underliggande protokollet ska säkra detta. SFTP används oftast som delsystem för implementeringar av SSH -protokoll version 2, som har utformats av samma arbetsgrupp. Det är dock möjligt att köra det över SSH-1 (och vissa implementeringar stöder detta) eller andra dataströmmar. Att köra en SFTP-server över SSH-1 är inte plattformsoberoende eftersom SSH-1 inte stöder konceptet med delsystem. En SFTP-klient som är villig att ansluta till en SSH-1-server behöver känna till sökvägen till SFTP-serverns binär på serversidan.

Uppladdade filer kan vara associerade med deras grundattribut, till exempel tidsstämplar. Detta är en fördel jämfört med det vanliga FTP -protokollet.

Historia och utveckling

Internet Engineering Task Force (IETF) arbetsgrupp "Secsh" som var ansvarig för utvecklingen av Secure Shell version 2 -protokollet (RFC 4251) försökte också utarbeta en förlängning av den standarden för säker filöverföringsfunktion. Internetutkast skapades som successivt reviderade protokollet till nya versioner. Programvaruindustrin började implementera olika versioner av protokollet innan utkasten standardiserades. När utvecklingsarbetet fortskred utvidgades omfattningen av Secsh File Transfer -projektet till att inkludera filåtkomst och filhantering . Så småningom avstannade utvecklingen när vissa kommittémedlemmar började se SFTP som ett filsystemsprotokoll , inte bara ett filåtkomst- eller filöverföringsprotokoll , vilket placerar det bortom arbetsgruppens område. Efter en sju års uppehåll gjordes ett försök 2013 att starta om arbetet med SFTP med utkastet till version 3 som utgångspunkt.

Versioner 0–2

Innan IETF deltog var SFTP ett proprietärt protokoll för SSH Communications Security , designat av Tatu Ylönen med hjälp av Sami Lehtinen 1997. Skillnader mellan versionerna 0–2 och version 3 räknas upp i avsnitt 10 i draft-ietf-secsh- filexfer-02 .

Version 3

I början av IETF Secure Shell File Transfer -projektet uppgav Secsh -gruppen att dess mål med SSH File Transfer Protocol var att tillhandahålla en säker filöverföringsfunktion över alla tillförlitliga dataströmmar och att vara standardfilöverföringsprotokoll för användning med SSH-2-protokoll.

Utkast 00–02 av IETF Internet Draft definierar successiva versioner av version 3 av SFTP -protokollet.

Version 4

Utkast 03–04 av IETF Internet Draft definierar version 4 av protokollet.

Version 5

Utkast 05 till IETF Internet Draft definierar version 5 av protokollet.

Version 6

Utkast 06–13 av IETF Internet Draft definierar successiva versioner av version 6 av protokollet.

programvara

SFTP -klient

Termen SFTP kan också hänvisa till Secure filöverföringsprogram , en kommandorad program som implementerar klient del av detta protokoll. Som ett exempel implementerar sftp -programmet som medföljer OpenSSH detta.

Vissa implementeringar av scp programmet stöder både SFTP- och SCP -protokollen för att utföra filöverföringar, beroende på vad servern stöder.

SFTP -server

Vissa FTP -serverimplementeringar implementerar SFTP -protokollet; Men utanför dedikerade filservrar tillhandahålls SFTP -protokollstöd vanligtvis av en SSH -serverimplementering , eftersom den delar standardporten 22 med andra SSH -tjänster. SFTP -implementeringar kan inkludera en SSH -protokollimplementering för att utnyttja integrationen av SSH -anslutningsdetaljer med befintliga FTP -serveråtkomstkontroller, där en alternativ SSH -server är acceptabel eller där alternativa portar kan användas. En SSH-2-server som stöder delsystem kan utnyttjas för att behålla en enhetlig SSH-implementering samtidigt som åtkomstkontroller förbättras med tredjepartsprogramvara, på bekostnad av finkornig integration med anslutningsdetaljer och SSH-1-kompatibilitet.

SFTP -proxy

Det är svårt att kontrollera SFTP -överföringar på säkerhetsenheter vid nätverkets omkrets. Det finns standardverktyg för att logga FTP -transaktioner, som TIS fwtk eller SUSE FTP -proxy, men SFTP är krypterad, vilket gör traditionella proxyer ineffektiva för att kontrollera SFTP -trafik.

Det finns några verktyg som implementerar man-in-the-middle för SSH som också har SFTP-kontroll. Exempel på ett sådant verktyg är Shell Control Box från Balabit och CryptoAuditor från SSH Communications Security (den ursprungliga utvecklaren av Secure Shell -protokollet) som tillhandahåller funktioner som SFTP -transaktionsloggning och loggning av faktiska data som överförs på kabeln.

Se även

Referenser

externa länkar