SFTP an FTPS Protokoller

Viruerteel

Virun enger Woch hunn ech en Essay iwwer d'Thema geschriwwen, déi am Titel uginn ass, a gouf mat der Tatsaach konfrontéiert datt, loosst eis soen, et net sou vill pädagogesch Informatioun um Internet gëtt. Meeschtens dréchen Fakten an Opstellungsinstruktiounen. Dofir hunn ech decidéiert den Text liicht ze korrigéieren an als Artikel ze posten.

Wat ass FTP

FTP (File Transfer Protocol) ass e Protokoll fir Dateien iwwer en Netzwierk ze transferéieren. Et ass ee vun de Basis Ethernet Protokoller. 1971 opgetaucht an am Ufank an DARPA Netzwierker geschafft. De Moment, wéi HTTP, baséiert Dateietransfer op engem Modell deen aus engem Set vun TCP/IP (Transmission Control Protocol/Internet Protocol) Protokoller besteet. Definéiert am RFC 959.

De Protokoll definéiert déi folgend:

  • Wéi gëtt d'Feelerkontroll duerchgefouert?
  • Dateverpackungsmethod (wann d'Verpakung benotzt gëtt)
  • Wéi weist de Sender datt et e Message fäerdeg ass?
  • Wéi weist den Empfangsapparat un datt et e Message kritt huet?

Kommunikatioun tëscht Client a Server

Loosst eis d'Prozesser méi no kucken, déi während der FTP Operatioun optrieden. D'Verbindung gëtt vum Benotzer säi Protokoll Dolmetscher initialiséiert. Den Austausch gëtt iwwer e Kontrollkanal am TELNET Standard kontrolléiert. FTP Kommandoe ginn vum Benotzer Protokoll Dolmetscher generéiert an op de Server geschéckt. D'Äntwerte vum Server ginn och iwwer de Kontrollkanal un de Benotzer geschéckt. Am Allgemengen, huet de Benotzer d'Fäegkeet Kontakt mat dem Server Protokoll Dolmetscher ze etabléieren an duerch aner Moyenen wéi de Benotzer seng Dolmetscher.

D'Haaptfunktioun vum FTP ass datt et duebel Verbindungen benotzt. Ee vun hinnen gëtt benotzt fir Kommandoen op de Server ze schécken a geschitt als Standard iwwer den TCP Hafen 21, dee geännert ka ginn. D'Kontrollverbindung existéiert soulaang wéi de Client mam Server kommunizéiert. De Kontrollkanal muss op sinn wann Dir Daten tëscht Maschinnen transferéiert. Wann et zou ass, stoppt d'Dateniwwerdroung. Duerch déi zweet geschitt direkten Datenübertragung. Et mécht op all Kéier wann e Dateietransfer tëscht dem Client an dem Server geschitt. Wann e puer Dateien gläichzäiteg transferéiert ginn, mécht jidderee vun hinnen säin eegene Transmissiounskanal op.

FTP kann am aktive oder passive Modus funktionnéieren, de Choix vun deem bestëmmt wéi d'Verbindung etabléiert ass. Am aktive Modus erstellt de Client eng TCP Kontrollverbindung mam Server a schéckt seng IP Adress an eng arbiträr Clientportnummer op de Server, a waart dann op de Server fir eng TCP Verbindung mat dëser Adress an Portnummer ze starten. Am Fall wou de Client hannert enger Firewall ass an eng erakommen TCP Verbindung net akzeptéiere kann, kann de passive Modus benotzt ginn. An dësem Modus benotzt de Client de Kontrollfloss fir e PASV Kommando op de Server ze schécken, a kritt dann seng IP Adress an d'Portnummer vum Server, deen de Client dann benotzt fir en Datefloss vu sengem arbiträren Hafen opzemaachen.

Et ass méiglech datt Daten op eng drëtt Maschinn transferéiert ginn. An dësem Fall organiséiert de Benotzer e Kontrollkanal mat zwee Serveren an organiséiert en direkten Datekanal tëscht hinnen. Kontroll Kommandoen ginn duerch de Benotzer, an Daten ginn direkt tëscht de Serveren.

Wann Dir Daten iwwer en Netz vermëttelt, kënne véier Daterepresentatioune benotzt ginn:

  • ASCII - benotzt fir Text. D'Daten ginn, wann néideg, vun der Zeechevertriedung um Sendende Host op "Aacht-Bit ASCII" virum Iwwerdroung ëmgewandelt, an (erëm, wann néideg) an d'Charakterrepresentatioun um Empfangshost. Besonnesch Newline Charaktere ginn geännert. Als Resultat ass dëse Modus net gëeegent fir Dateien mat méi wéi einfachen Text.
  • Binäre Modus - de Senderapparat schéckt all Datei Byte fir Byte, an den Empfänger späichert de Stream vun Bytes beim Empfang. Ënnerstëtzung fir dëse Modus gouf fir all FTP Implementatiounen recommandéiert.
  • EBCDIC - benotzt fir Kloertext tëscht Hosten an der EBCDIC Kodéierung ze transferéieren. Soss ass dëse Modus ähnlech wéi den ASCII Modus.
  • Lokal Modus - erlaabt zwee Computeren mat identeschen Astellungen Daten an hirem eegene Format ze schécken ouni op ASCII ze konvertéieren.

Datentransfer kann an engem vun dräi Modi duerchgefouert ginn:

  • Stream Modus - Daten ginn als kontinuéierleche Stroum geschéckt, befreit FTP vun all Veraarbechtung. Amplaz gëtt all Veraarbechtung duerch TCP gemaach. Den Enn-vun-Datei Indikator ass net néideg ausser fir Daten an records ze trennen.
  • Blockmodus - FTP brécht d'Donnéeën an e puer Blocks (Headerblock, Zuel vu Bytes, Datefeld) an iwwerdréit se dann op TCP.
  • Kompressiounsmodus - Daten ginn mat engem eenzegen Algorithmus kompriméiert (normalerweis duerch Kodéierungslängt).

FTP Server ass e Server deen d'Fäegkeet bitt de File Transfer Protocol ze benotzen. Et huet verschidde Funktiounen déi et vun konventionelle Webserver ënnerscheeden:

  • Benotzer Authentifikatioun néideg
  • All Operatioune ginn an der aktueller Sessioun duerchgefouert
  • Fäegkeet fir verschidde Aktiounen mam Dateiesystem auszeféieren
  • Eng separat Kanal gëtt fir all Verbindung benotzt

FTP Client ass e Programm deen Iech erlaabt Iech mat engem Remote Server iwwer FTP ze verbannen an och déi néideg Aktiounen op et mat Elementer vum Dateiesystem auszeféieren. De Client ka gutt e Browser sinn, an der Adressbar vun där Dir d'Adress aginn sollt, wat de Wee zu engem spezifesche Verzeechnes oder Datei um Fernserver ass, am Aklang mat dem allgemenge URL Blockdiagramm:

ftp://user:pass@address:port/directory/file

Wéi och ëmmer, e Webbrowser an dësem Kontext ze benotzen erlaabt Iech nëmmen déi interesséiert Dateien ze gesinn oder erofzelueden. Fir all d'Virdeeler vum FTP voll ze profitéieren, sollt Dir spezialiséiert Software als Client benotzen.

FTP Authentifikatioun benotzt e Benotzernumm / Passwuert Schema fir Zougang ze ginn. De Benotzernumm gëtt mam USER Kommando un de Server geschéckt, an d'Passwuert gëtt mam PASS Kommando geschéckt. Wann d'Informatioun vum Client geliwwert gëtt vum Server akzeptéiert, da schéckt de Server eng Invitatioun un de Client an d'Sessioun fänkt un. D'Benotzer kënnen, wann de Server dës Fonktioun ënnerstëtzt, aloggen ouni Umeldungsinformatiounen ze kréien, awer de Server kann nëmme limitéierten Zougang fir sou Sessiounen ginn.

Den Host, deen den FTP-Service ubitt, kann anonyme FTP-Zougang ubidden. D'Benotzer mellen sech normalerweis mat "anonym" (kann op e puer FTP-Server ka sensibel sinn) als Benotzernumm. Och wann d'Benotzer typesch gefrot gi fir hir E-Mailadress anstatt e Passwuert ze ginn, gëtt keng Verifizéierung tatsächlech duerchgefouert. Vill FTP Hosten déi Softwareupdates ubidden ënnerstëtzen anonymen Zougang.

Protokoll Diagramm

D'Client-Server Interaktioun während enger FTP Verbindung kann wéi follegt visualiséiert ginn:

SFTP an FTPS Protokoller

Sécher FTP

FTP war ursprénglech net geduecht fir sécher ze sinn, well et war geduecht fir Kommunikatioun tëscht verschidde militäresch Installatiounen an Agenturen. Awer mat der Entwécklung an der Verbreedung vum Internet ass d'Gefor vum onerlaabten Zougang vill Mol eropgaang. Et war e Besoin fir Servere vu verschiddenen Aarte vun Attacken ze schützen. Am Mee 1999 hunn d'Autoren vum RFC 2577 d'Schwächen an déi folgend Lëscht vun Themen zesummegefaasst:

  • Hidden Attacks (Bounce Attacks)
  • Spoof Attacken
  • Brute Kraaft Attacken
  • Packet capture, sniff
  • Port klauen

Regelméisseg FTP huet net d'Fäegkeet Daten an verschlësselte Form ze transferéieren, als Resultat vun deem Benotzernimm, Passwierder, Kommandoen an aner Informatioune kënnen einfach an einfach vun Ugräifer ofgefaangen ginn. Déi üblech Léisung fir dëse Problem ass "sécher", TLS-geschützt Versioune vum vulnerable Protokoll (FTPS) oder en aneren, méi séchere Protokoll, wéi SFTP/SCP, mat de meeschte Secure Shell Protokollimplementatiounen ze benotzen.

FTPS

FTPS (FTP + SSL) ass eng Ausdehnung vum Standard Dateietransferprotokoll, deen zu senger Basisfunktionalitéit d'Schafe vu verschlësselte Sessiounen mam SSL (Secure Sockets Layer) Protokoll bäidréit. Haut gëtt de Schutz duerch seng méi fortgeschratt Analog TLS (Transport Layer Security) geliwwert.

SSL

Den SSL Protokoll gouf vun Netscape Communications am Joer 1996 proposéiert fir d'Sécherheet an d'Privatsphär vun den Internetverbindungen ze garantéieren. De Protokoll ënnerstëtzt Client a Server Authentifikatioun, ass Applikatioun onofhängeg, an ass transparent fir HTTP, FTP an Telnet Protokoller.

Den SSL Handshake Protokoll besteet aus zwou Etappen: Server Authentifikatioun an optional Client Authentifikatioun. Op der éischter Etapp reagéiert de Server op d'Ufro vum Client andeems hien säin Zertifikat an d'Verschlësselungsparameter schéckt. De Client generéiert dann e Masterschlëssel, verschlësselt et mam ëffentleche Schlëssel vum Server a schéckt en op de Server. De Server entschlësselt de Masterschlëssel mat sengem private Schlëssel a authentifizéiert sech dem Client andeems hien e Message zréckkënnt, dee vum Client säi Masterschlëssel authentifizéiert ass.

Spéider Daten ginn verschlësselt an authentifizéiert mat Schlësselen ofgeleet vun dësem Masterschlëssel. Am zweete Schrëtt, deen fakultativ ass, schéckt de Server eng Ufro un de Client, an de Client authentifizéiert sech op de Server andeems hien d'Ufro mat senger eegener digitaler Ënnerschrëft an engem ëffentleche Schlësselzertifika zréckkënnt.

SSL ënnerstëtzt eng Vielfalt vu kryptografeschen Algorithmen. Wärend der Grënnung vun der Kommunikatioun gëtt de RSA Public Key Kryptosystem benotzt. Nom Schlësselaustausch gi vill verschidde Chiffere benotzt: RC2, RC4, IDEA, DES an TripleDES. MD5 gëtt och benotzt - en Algorithmus fir e Message Verdauung ze kreéieren. D'Syntax fir ëffentlech Schlësselzertifikater gëtt am X.509 beschriwwen.

Ee vun de wichtege Virdeeler vun SSL ass seng komplett Software-Plattform Onofhängegkeet. De Protokoll ass op d'Prinzipien vun der Portabilitéit entwéckelt, an d'Ideologie vu senger Konstruktioun hänkt net vun den Uwendungen of, an deenen et benotzt gëtt. Zousätzlech ass et och wichteg datt aner Protokoller transparent iwwer de SSL Protokoll iwwerlagert kënne ginn; entweder fir de Schutzgrad vun Zilinformatiounsfloss weider ze erhéijen, oder d'kryptographesch Fäegkeeten vum SSL fir eng aner, gutt definéiert Aufgab unzepassen.

SSL Verbindung

SFTP an FTPS Protokoller

De séchere Kanal geliwwert vum SSL huet dräi Haapteigenschaften:

  • De Kanal ass privat. Verschlësselung gëtt fir all Messagen no engem einfachen Dialog benotzt, deen déngt fir de geheime Schlëssel ze bestëmmen.
  • De Kanal ass authentifizéiert. D'Server Säit vum Gespréich ass ëmmer authentifizéiert, während d'Client Säit optional authentifizéiert ass.
  • De Kanal ass zouverlässeg. Message Transport enthält Integritéit Iwwerpréiwung (mat der MAC).

Fonctiounen vun FTPS

Et ginn zwou Implementatioune vu FTPS, mat verschiddene Methode fir Sécherheet ze liwweren:

  • Déi implizit Method beinhalt d'Benotzung vum Standard SSL Protokoll fir eng Sessioun z'etabléieren ier Dir Daten verschéckt, wat am Tour d'Kompatibilitéit mat normale FTP Clienten a Server brécht. Fir Réckkompatibilitéit mat Clienten déi FTPS net ënnerstëtzen, gëtt den TCP-Port 990 fir d'Kontrollverbindung benotzt an den 989 gëtt fir den Datentransfer benotzt. Dës Method gëtt als obsolet ugesinn.
  • Explizit ass vill méi bequem, well et Standard FTP Kommandoen benotzt, awer d'Donnéeën verschlësselt wann Dir äntwert, wat Iech erlaabt déiselwecht Kontrollverbindung fir FTP an FTPS ze benotzen. De Client muss explizit eng sécher Datentransfer vum Server ufroen, an dann d'Verschlësselungsmethod zoustëmmen. Wann de Client net e sécheren Transfer freet, huet de FTPS-Server d'Recht fir déi ongeséchert Verbindung entweder z'erhalen oder ze zoumaachen. En Authentifikatiouns- an Datesécherheetsverhandlungsmechanismus gouf ënner RFC 2228 bäigefüügt, deen den neie FTP AUTH Kommando enthält. Och wann dëse Standard net explizit Sécherheetsmechanismen definéiert, präziséiert et datt eng sécher Verbindung muss vum Client initiéiert ginn mat dem Algorithmus hei uewen beschriwwen. Wann sécher Verbindungen net vum Server ënnerstëtzt ginn, sollt e Fehlercode vu 504 zréckginn, kënnen FTPS Clienten Informatioun iwwer d'Sécherheetsprotokoller kréien, déi vum Server ënnerstëtzt ginn, mam FEAT Kommando, awer de Server ass net erfuerderlech ze verroden, wéi eng Sécherheetsniveauen et ass. ënnerstëtzt. Déi meescht üblech FTPS Kommandoen sinn AUTH TLS an AUTH SSL, déi TLS respektiv SSL Sécherheet ubidden.

SFTP

SFTP (Secure File Transfer Protocol) ass en Applikatiounsschicht Dateietransferprotokoll deen uewen op engem séchere Kanal leeft. Net ze verwiessele mat (Simple File Transfer Protocol), déi déiselwecht Ofkierzung huet. Wann FTPS einfach eng Verlängerung vu FTP ass, dann ass SFTP e separaten an onrelatéierte Protokoll deen SSH (Secure Shell) als Basis benotzt.

Secure Shell

De Protokoll gouf vun enger vun den IETF Gruppen genannt Secsh entwéckelt. D'Aarbechtsdokumentatioun fir den neie SFTP-Protokoll gouf net en offiziellen Standard, awer huet ugefaang aktiv fir d'Applikatiounsentwécklung benotzt ze ginn. Duerno goufen sechs Versioune vum Protokoll verëffentlecht. Wéi och ëmmer, déi graduell Erhéijung vun der Funktionalitéit an et huet zu der Tatsaach gefouert datt de 14. August 2006 decidéiert gouf op d'Entwécklung vum Protokoll ze schaffen wéinst der Fäerdegstellung vun der Haaptaufgab vum Projet (Entwécklung vun SSH) an der Mangel u genuch Expertniveau fir op d'Entwécklung vun engem vollwäertege Remote Dateisystem Protokoll weiderzekommen.

SSH ass e Netzwierkprotokoll deen d'Fernsteuerung vum Betribssystem erlaabt an d'Tunnelen vun TCP Verbindungen (zum Beispill fir Dateietransfer). Ähnlech a Funktionalitéit wéi d'Telnet- a rlogin-Protokoller, awer, am Géigesaz zu hinnen, verschlësselt et all Traffic, och iwwerdroe Passwierder. SSH erlaabt eng Auswiel vu verschiddene Verschlësselungsalgorithmen. SSH Clienten an SSH Server si fir déi meescht Netzwierkbetribssystemer verfügbar.

SSH erlaabt Iech sécher bal all aner Netzwierkprotokoll an engem ongesécherten Ëmfeld ze transferéieren. Also kënnt Dir net nëmmen op Ärem Computer op afstand duerch d'Kommando Shell schaffen, awer och en Audio Stream oder Video (zum Beispill vun enger Webcam) iwwer e verschlësselte Kanal iwwerdroen. SSH kann och Kompressioun vun iwwerdroenen Donnéeën fir spéider Verschlësselung benotzen, wat praktesch ass, zum Beispill, fir X WindowSystem Clienten op afstand ze starten.

Déi éischt Versioun vum Protokoll, SSH-1, gouf 1995 vum Fuerscher Tatu Ulönen vun der Helsinki University of Technology (Finnland) entwéckelt. SSH-1 gouf geschriwwe fir méi Privatsphär ze bidden wéi d'rlogin, telnet, an rsh Protokoller. Am Joer 1996 gouf eng méi sécher Versioun vum Protokoll, SSH-2, entwéckelt, wat mat SSH-1 inkompatibel ass. De Protokoll huet nach méi Popularitéit gewonnen, a bis 2000 hat et ongeféier zwou Millioune Benotzer. De Moment heescht de Begrëff "SSH" normalerweis SSH-2, well Déi éischt Versioun vum Protokoll gëtt elo praktesch net benotzt wéinst bedeitende Mängel. Am Joer 2006 gouf de Protokoll vum IETF Aarbechtsgrupp als Internetstandard guttgeheescht.

Et ginn zwou gemeinsam Implementatioune vu SSH: privat kommerziell a gratis Open Source. Déi gratis Implementatioun gëtt OpenSSH genannt. Bis 2006 hunn 80% vun de Computeren um Internet OpenSSH benotzt. Déi propriétaire Implementatioun ass entwéckelt vun SSH Communications Security, eng ganz Besëtz Duechtergesellschaft vun Tectia Corporation, an ass gratis fir net-kommerziell Notzung. Dës Implementatioune enthalen bal déiselwecht Set vu Kommandoen.

Den SSH-2-Protokoll, am Géigesaz zum Telnet-Protokoll, ass resistent géint Traffic Oflauschterattacken ("Sniffing"), awer ass net resistent géint Man-in-the-Mëtt Attacken. Den SSH-2 Protokoll ass och resistent géint Sessiounshaacken Attacken, well et onméiglech ass eng schonn etabléiert Sessioun matzemaachen oder ze kapen.

Fir Mann-an-der-Mëtt Attacken ze vermeiden wann Dir mat engem Host verbënnt, deem säi Schlëssel nach net dem Client bekannt ass, weist d'Client Software dem Benotzer e "Schlëssel Fangerofdrock". Et ass recommandéiert de "Schlëssel Snapshot" suergfälteg z'iwwerpréiwen vun der Client Software mat dem Server Schlëssel Snapshot, am léifsten duerch zouverlässeg Kommunikatiounskanäl oder perséinlech kritt.

SSH Support ass verfügbar op all UNIX-ähnleche Systemer, an déi meescht hunn en ssh Client a Server als Standard Utilities. Et gi vill Implementatiounen vun SSH Clienten fir Net-UNIX OSes. De Protokoll krut grouss Popularitéit no der verbreeter Entwécklung vu Verkéiersanalysatoren a Methoden fir d'Operatioun vu lokalen Netzwierker ze stéieren, als alternativ Léisung fir den onsécheren Telnet Protokoll fir d'Gestioun vu wichtege Wirbelen.

Kommunikatioun mat SSH

Fir iwwer SSH ze schaffen, braucht Dir en SSH Server an en SSH Client. De Server lauschtert no Verbindunge vu Clientmaschinnen an, wann eng Verbindung etabléiert ass, mécht d'Authentifikatioun, duerno fänkt en un de Client ze servéieren. De Client gëtt benotzt fir op eng Fernmaschinn ze loggen an Kommandoen auszeféieren.

SFTP an FTPS Protokoller

Verglach mat FTPS

D'Haapt Saach, déi SFTP vu Standard FTP an FTPS ënnerscheet, ass datt SFTP absolut all Kommandoen, Benotzernimm, Passwierder an aner vertraulech Informatioun verschlësselt.

Béid FTPS a SFTP Protokoller benotzen eng Kombinatioun vun asymmetreschen Algorithmen (RSA, DSA), symmetresche Algorithmen (DES/3DES, AES, Twhofish, etc.), souwéi e Schlësselaustauschalgorithmus. Fir Authentifikatioun benotzt FTPS (oder méi präzis, SSL / TLS iwwer FTP) X.509 Zertifikater, während SFTP (SSH Protokoll) SSH Schlësselen benotzt.

X.509 Certificaten enthalen engem ëffentleche Schlëssel an e puer Informatiounen iwwert de Besëtzer d'Zertifikat. Dës Informatioun erlaabt, op der anerer Säit, d'Integritéit vum Zertifika selwer, d'Authentizitéit an de Besëtzer vum Zertifika ze verifizéieren. X.509 Certificaten hunn en entspriechende private Schlëssel, deen normalerweis aus Sécherheetsgrënn getrennt vum Certificat gespäichert ass.

Den SSH Schlëssel enthält nëmmen den ëffentleche Schlëssel (de entspriechende private Schlëssel gëtt separat gespäichert). Et enthält keng Informatioun iwwer de Besëtzer vum Schlëssel. E puer SSH-Implementatiounen benotzen X.509 Zertifikater fir d'Authentifikatioun, awer si verifizéieren net déi ganz Zertifikakette - nëmmen den ëffentleche Schlëssel gëtt benotzt (wat esou Authentifikatioun onkomplett mécht).

Konklusioun

De FTP-Protokoll spillt ouni Zweifel nach ëmmer eng wichteg Roll bei der Späichere an der Verdeelung vun Informatioun am Netz trotz sengem éierlechen Alter. Et ass e prakteschen, multifunktionnellen a standardiséierte Protokoll. Vill Dateiarchiven sinn op der Basis gebaut ginn, ouni déi technesch Aarbecht net esou efficace wier. Zousätzlech ass et einfach ze konfiguréieren, a Server- a Clientprogrammer existéieren fir bal all aktuell an net sou aktuell Plattformen.

Am Tour, léisen seng geschützte Versiounen de Problem vun der Confidentialitéit vun gespäichert an iwwerdroen Daten an der moderner Welt. Béid nei Protokoller hunn hir Virdeeler an Nodeeler an déngen liicht ënnerschiddlech Rollen. An deene Beräicher wou e Dateiarchiv gebraucht gëtt, ass et léiwer FTPS ze benotzen, besonnesch wann klassesch FTP schonn do benotzt gouf. SFTP ass manner heefeg wéinst senger Inkompatibilitéit mam alen Protokoll, awer et ass méi sécher an huet méi Funktionalitéit, well et Deel vum Fernmanagementsystem ass.

Lëscht vun de Quellen

Source: will.com

Setzt e Commentaire