Un VPN protejează un drum, iar fiecare drum are un sfârșit. Când tunelul se termină la o poartă de companie, transferul de fișiere continuă de acolo sub protecția oferită de propriul său protocol. Această distincție decide dacă un transfer este protejat de la un capăt la altul sau doar până la poartă. Indicatorul Connected nu spune nimic despre niciuna dintre ele.

Două plasări, două drumuri rămase

Luați un laptop care se alătură VPN-ului companiei și apoi deschide o sesiune FTP către un server intern separat. Tunelul se oprește la poartă, iar segmentul de la poartă până la acel server rămâne în afara ei.

FTP simplu nu capătă criptare doar pentru că pachetele sale au ajuns printr-un tunel. Pe acel segment rămas, comenzile, datele de autentificare și conținutul fișierelor circulă exact așa cum definește protocolul, adică în clar. Dacă acest lucru contează depinde de topologie și de ce altceva protejează segmentul, iar a numi adresa privată nu răspunde la întrebare. Același raționament se aplică invers când serverul se află într-o rețea de cloud la care poarta ajunge printr-un alt salt.

Puneți punctul final al VPN-ului și serviciul FTP pe o singură mașină și nu mai există niciun segment următor de care să vă preocupați. Aceasta este o altă plasare, nu o dovadă că procesele, fișierele și datele de autentificare ale gazdei sunt în siguranță.

FTP simplu, FTPS și SFTP sunt trei decizii

FTP simplu nu criptează nimic, nici măcar parola. FTPS adaugă TLS la FTP, astfel încât canalul de control și, când se negociază, canalul de date sunt protejate. SFTP este un protocol diferit transportat în interiorul SSH și nu este o altă scriere a FTPS.

Serverul trebuie să accepte această alegere, pentru că un client nu poate inventa un ascultător care nu există. Alegerea SFTP nu transformă un serviciu doar FTP într-un punct final SSH, iar redenumirea unui semn de carte sau schimbarea unui port nu dovedește nimic despre ce s-a negociat. Confirmați protocolul atât din partea serverului, cât și din partea clientului. Un lacăt dintr-un manager de fișiere este o afirmație despre sesiune, nu despre ascultătorul din spatele ei.

ProtocolUsual portWhat it protectsIdentity check
FTP21Nothing on the wireNone beyond the login
FTPS21 or 990Control channel, data channel when requiredTLS server certificate
SFTP22The whole session inside SSHSSH host key

Citiți ultima coloană când transferul contează, pentru că acolo apare o schimbare neașteptată de identitate.

Conexiunea de date este o a doua conexiune

FTP deschide o conexiune de control și apoi conexiuni de date separate pentru liste și transferuri. O autentificare protejată nu spune nimic despre acele conexiuni ulterioare, dacă implementarea nu cere protecție și pentru ele.

La FTPS, clientul cere un canal de date protejat printr-o comandă specifică, iar o politică a serverului poate refuza alternativa în clar. Verificați că politica o cere, în loc să presupuneți că valoarea implicită a clientului este suficientă. Modul pasiv adaugă o a doua complicație, pentru că serverul anunță o adresă și un port pentru conexiunea de date. Un firewall sau un dispozitiv NAT care rescrie sau blochează acel anunț produce o sesiune care se autentifică și apoi se blochează la prima listă.

curl -vk ftps://files.corp.example/ --user alice --ftp-ssl-control
openssl s_client -connect files.corp.example:21 -starttls ftp
ss -tnp | grep -E ':21|:990'

A doua comandă arată ce prezintă serverul pe canalul de control înainte de a atinge vreun fișier. A treia arată dacă s-a stabilit vreodată o conexiune de date, ceea ce este diferența dintre o eroare de autentificare și o eroare a modului pasiv.

Verificările de identitate supraviețuiesc tunelului

Un client FTPS validează identitatea unui server TLS, iar un client SFTP validează o cheie de gazdă SSH. Ambele verificări aparțin protocolului de transfer de fișiere și niciuna nu este efectuată de VPN.

Această separare contează când ceva din mijloc vrea să inspecteze sesiunea. Dezactivarea TLS pentru ca un echipament de rețea să poată citi comenzile schimbă modelul de protecție în loc să îl completeze, iar același lucru este valabil pentru acceptarea unei chei de gazdă neexplicate pentru că tunelul a pornit. Păstrați configurația de încredere prevăzută și obțineți materialul corect de la operator. Un tunel care se autentifică nu spune nimic despre serverul de la capătul său îndepărtat.

Materialul de cheie privată și certificat pentru aceste protocoale este încă un al treilea secret, separat de acreditările VPN.

Notați ce ați verificat cu adevărat

Alegeți un fișier inofensiv pe care aveți autorizarea să îl mutați și notați patru fapte despre încercare: ce protocol a rulat, ce identitate a celeilalte părți a fost verificată, ce drum era intenționat și dacă transferul s-a terminat.

lftp -u alice -e "set ftp:ssl-protect-data true; ls; bye" ftps://files.corp.example
sftp -v [email protected]

O listă de director, o autentificare în tunel și un transfer finalizat sunt trei observații separate, iar doar ultima spune că drumul funcționează pentru fișiere. Dacă proiectul se bazează doar pe VPN pentru confidențialitate pe saltul rămas, scrieți asta ca decizia care este. O notă de acceptare care numește saltul și ipoteza sa de încredere valorează mai mult decât o captură de ecran a unui client conectat.

Articole similare