Înțelegerea SFTP vs. FTPS vs. FTP

FTP sau File Transfer Protocol este una dintre cele mai populare metode de transfer de date disponibile pentru diferite cazuri de utilizare.

FTP are disponibile diferite variante sigure, cunoscute sub numele de FTPS și SFTP, care încorporează unele diferențe subtile și unele nu atât de subtile în modul în care funcționează. Aceste diferențe se referă la modul în care sunt schimbate datele, nivelul și tipul de securitate în comunicare și considerente de firewall.

Cunoașterea modului în care funcționează aceste protocoale și a diferențelor dintre aceste mecanisme de transfer populare vă poate ajuta să alegeți care dintre ele funcționează cel mai bine pentru nevoile dvs.

FTP

FTP este protocolul de transfer de fișiere vechi de zeci de ani, propus inițial sub RFC 114. Acesta a evoluat ulterior ca RFC 959, care este standardul utilizat astăzi.

FTP funcționează pe două canale pentru a face schimb de informații: unul pentru comenzi și celălalt pentru date. Acest lucru necesită două porturi pentru ca FTP să funcționeze – canalul de comandă și canalul de date.

Canalul de comandă funcționează pe portul 21, care acceptă conexiuni de la clienți și se ocupă de transmiterea comenzilor. Canalul de comandă rămâne deschis pe toată durata sesiunii FTP până când clientul trimite comanda QUIT sau serverul se deconectează forțat din cauza inactivității sau a oricărui alt motiv posibil.

Canalul de date folosește un port temporar de ascultare la cerere pe server (mod pasiv) sau pe client (mod activ). Acest canal este responsabil pentru partajarea datelor reale între server și client sub formă de liste de directoare și transferuri de fișiere.

Spre deosebire de canalul de comandă, canalul de date rămâne deschis doar pe durata transferului de fișiere și, de îndată ce se termină, canalul de date este închis. Pentru transferul simultan al mai multor fișiere sau liste de directoare, sunt necesare mai multe porturi de canal de date.

FTP este un protocol inerent nesigur, deoarece atât canalele de comandă, cât și canalele de date transferă informații într-o formă necriptată, care este ușor susceptibilă de a fi interceptată de oricine folosește atacuri de tip man-in-the-middle.

  SSD NVMe de 10 m.2 pe care ar trebui să-l verificați pentru o performanță foarte rapidă

După cum sa discutat mai devreme, FTP necesită o conexiune de intrare pe portul 21/tcp de pe partea serverului pentru canalul de comandă. Un interval de porturi pasive este definit pentru transferurile de fișiere și listele de directoare și permite conexiuni de intrare. Acest proces de definire poate varia în funcție de serverul FTP utilizat. Consultați documentația sa pentru detalii suplimentare. Pe partea clientului, conexiunea de ieșire pe portul 21/tcp ar trebui să fie permisă împreună cu intervalul de porturi pasive definit pe server.

Autentificare în FTP

Informațiile de autentificare FTP sunt transmise prin canalul de comandă în timpul stabilirii inițiale a conexiunii. FTP poate folosi un nume de utilizator și o parolă pentru autentificare sau poate fi anonim pentru a permite oricui să se conecteze și să acceseze serverul.

Moduri FTP active și pasive

FTP folosește fie modul activ, fie modul pasiv pentru configurarea conexiunilor.

În modul activ, un utilizator se conectează de la un port aleatoriu al clientului FTP la portul FTP 21/tcp de pe server și trimite comanda PORT, specificând portul client la care trebuie să se conecteze. Acest port va fi folosit pentru canalul de date.

Serverul se conectează apoi de la portul 20/tcp la portul client specificat anterior cu comanda PORT de către client. Acest canal de date este apoi utilizat pentru transferurile de fișiere între server și client.

În modul pasiv, clientul se conectează dintr-un port aleatoriu de la clientul FTP la portul 21/tcp de pe server și trimite comanda PASV. Serverul răspunde apoi cu un port aleatoriu care ar trebui folosit pentru canalul de date. Clientul folosește apoi un alt port aleatoriu pentru a se conecta la portul la care a răspuns un server în pasul anterior. Această conexiune a canalului de date este apoi utilizată pentru transferul de fișiere între server și client.

Deci, în modul activ, cererea inițială de conectare este inițiată de client în timp ce cererea de conectare a canalului de date este inițiată de server.

  Cum să ștergeți contul Adobe

Pe de altă parte, în modul pasiv, atât cererile inițiale de conectare, cât și cererile ulterioare ale canalului de date sunt inițiate de către client către server. Această diferență subtilă afectează uneori modul în care un firewall permite/blochează cererile tradiționale FTP din cauza direcției tipului de conexiune de intrare/ieșire.

FTPS

Chiar dacă sunteți dispus să vă asumați riscurile asociate cu FTP cu transmiterea necriptată a datelor și atacurile main-in-the-middle, cerințele industriei vă obligă să utilizați o alternativă mai sigură, cum ar fi FTPS și SFTP, care sunt comparativ mult mai sigure.

În 1990, odată cu schimbarea peisajului de securitate, Netscape a creat protocolul SSL sau Secure Sockets Layer (SSL, cunoscut acum sub numele de TLS) pentru a proteja comunicația printr-o rețea. SSL a fost aplicat la FTP care a devenit FTPS sau File Transfer Protocol Secure. FTPS sau FTP/S rulează de obicei pe portul 990/tcp, dar poate fi văzut și pe portul 21/tcp. În mod similar, pentru canalul de date portul 989/tcp este portul comun utilizat pentru FTPS. Dacă portul de comandă este 21/tcp, portul său de date este de așteptat să fie 20/tcp.

Ca și FTP, FTPS utilizează două canale pentru comunicare: canal de comandă și canal de date. Fie canalul de date poate fi criptat cu FTPS, fie ambele canale de comandă și de date pot fi criptate pentru mai multă securitate.

FTPS, ca și FTP, utilizează, de asemenea, mai multe porturi pentru canalele de comandă și date. Deci, portul 21/tcp este utilizat pentru conexiunea inițială și transmiterea informațiilor de autentificare. Mai târziu, vor fi necesare porturi diferite pentru a configura canale de date pentru fiecare transfer de fișiere sau cerere de listare a directorului de la client. Astfel, ca și FTP, are nevoie de o serie de porturi pentru a fi permise în firewall.

Autentificare în FTPS

Autentificarea pentru FTPS funcționează folosind un nume de utilizator și o parolă împreună cu un certificat de server pentru criptare. Când clientul FTPS se conectează la un server, verifică dacă certificatul serverului este de încredere pentru a continua conexiunea. Acest certificat poate fi solicitat de la client și server.

  Cum să economisiți bani pe stocarea iCloud

SFTP

Spre deosebire de FTP și FTPS, SFTP (SSH File Transfer Protocol) este un protocol complet diferit construit pe SSH (sau Secure Shell). SFTP, în mod implicit, funcționează pe portul 22/tcp, la fel ca SSH, deși poate fi configurat pentru a utiliza un port liber personalizat pe server.

SFTP este un protocol FTP securizat care utilizează SSH dedesubt pentru a trimite și a primi fișiere. SSH fiind complet criptat, SFTP este o metodă robustă și sigură de a transfera fișiere într-o rețea.

SFTP, spre deosebire de FTP și FTPS, utilizează un singur canal de comunicație pentru a transfera comenzi și trafic de date, toate acestea fiind transmise în formă criptată împreună cu autentificarea inițială.

Autentificare în SFTP

Autentificarea în SFTP se poate face printr-un simplu nume de utilizator și o parolă, dar spre deosebire de FTP, toate informațiile, inclusiv detaliile de autentificare, sunt transmise criptate prin rețea.

SFTP acceptă, de asemenea, autentificarea folosind perechea de chei SSH, combinația de chei private și publice, unde clientul furnizează cheia privată pentru utilizatorul specificat, iar serverul ar trebui să aibă cheia publică corespunzătoare pentru ca autentificarea să reușească. Este mai sigur decât utilizarea unei combinații nume de utilizator/parolă. Este posibil să se autentifice același utilizator folosind parola și cheile SSH dacă ambele metode sunt configurate pe serverul SFTP.

rezumat

Acest articol rezumă caracteristicile de bază ale diferitelor protocoale populare de transfer de fișiere, și anume FTP, FTPS și SFTP și evidențiază diferențele subtile și majore dintre aceste protocoale. Acesta acoperă porturile pe care trebuie să le permiteți într-un firewall pentru a configura un server FTP/FTPS/SFTP funcțional, subliniind și nevoia de a trece la protocoale mai sigure, cum ar fi FTPS și SFTP.

Când spun FTP aici, mă refer la orice protocoale discutate în acest articol. Motivul pentru care FTP este vechi de zeci de ani și chiar și versiunile securizate mai noi sunt uneori denumite FTP în loc de numele lor desemnat pentru utilizarea de zi cu zi.

Ați putea fi, de asemenea, interesat să cunoașteți cel mai bun software de server FTP și clienți FTP/SFTP.