FTP, FTPS a SFTP — v čom je rozdiel a čo použiť

Obyčajné FTP posiela heslo aj súbory otvorene, FTPS je FTP zabalené do TLS a SFTP beží cez SSH na jednom porte — preto odporúčame SFTP.

Po ľudsky

Všetky tri spôsoby slúžia na to isté: presunúť súbory medzi vaším počítačom a serverom, napríklad pri správe webu. Líšia sa v tom, či je cesta chránená. Obyčajné FTP je ako poslať pohľadnicu — ktokoľvek po ceste (v kaviarenskej wifi, u poskytovateľa pripojenia) si môže prečítať heslo aj obsah súborov. FTPS je tá istá pohľadnica vložená do zapečatenej obálky. SFTP je úplne iný, modernejší kuriér, ktorý od začiatku nosí všetko v trezore a používa na to jeden vchod. Ak váš server SFTP vie, použite ho; ak nie, aspoň FTPS; obyčajné FTP len vtedy, keď nič iné nejde.

Technicky

FTP FTPS SFTP
Protokol FTP (RFC 959) FTP + TLS (RFC 4217) SSH File Transfer Protocol nad SSH (RFC 4251–4254)
Porty 21 (riadenie) + samostatné dátové spojenia explicitné: 21 s príkazom AUTH TLS; implicitné: 990 22, jedno spojenie
Šifrovanie hesla nie, USER/PASS idú otvorene áno (TLS) áno (SSH)
Šifrovanie súborov nie áno, ak klient požiada o chránený dátový kanál (PROT P) áno
Overenie servera žiadne certifikát X.509 (ako pri HTTPS) kľúč hostiteľa SSH (odtlačok)
Firewall/NAT ťažkopádne (aktívny/pasívny režim, rozsahy portov) rovnako ťažkopádne, navyše šifrované riadenie sťažuje prácu firewallom jednoduché — jeden port
  • FTP je protokol zo 70. rokov. Riadiace spojenie (príkazy vrátane hesla) aj dátové spojenia (výpisy priečinkov a súbory) idú ako čistý text. Kto odpočúva sieť, získa prihlasovacie údaje a môže súbory aj podvrhnúť.
  • FTPS pridáva TLS. Explicitný režim (odporúčaný) začína na porte 21 a príkazom AUTH TLS sa prepne na šifrované spojenie. Implicitný režim (port 990) je starší a začína TLS hneď. Výmenu kľúčov a šifry rieši TLS knižnica systému.
  • SFTP nie je „FTP so šifrovaním“, ale samostatný protokol, ktorý beží vnútri SSH spojenia. Výmena kľúčov prebieha podľa RFC 4253: klient pošle zoznam algoritmov v poradí, v akom ich preferuje, a použije sa prvý, ktorý pozná aj server. Moderné servery (OpenSSH 10) ponúkajú post-kvantovú hybridnú výmenu mlkem768x25519-sha256 = ML-KEM-768 (NIST FIPS 203) + X25519.

Kedy čo

  • SFTP — predvolená voľba, kedykoľvek máte SSH prístup. Jeden port, šifrované všetko, pri moderných serveroch aj post-kvantová výmena kľúčov.
  • FTPS (explicitné) — keď hosting SFTP neponúka, ale FTP cez TLS áno.
  • FTP — len ak server nič iné nevie, a ideálne nie cez verejnú sieť. Heslo k takému účtu berte ako potenciálne prezradené.

Ako to máme my

Veredaria (správca FTP/SFTP) podporuje SFTP, FTPS (explicitný režim cez AUTH TLS) aj obyčajné FTP.

  • SFTP s post-kvantovou výmenou kľúčov: Veredaria ponúka serveru ako prvú hybridnú výmenu mlkem768x25519-sha256 (tú istú ako OpenSSH 10). Ak ju server pozná, použije sa. Ak nie, Veredaria sa pripojí klasickou výmenou (napr. curve25519) — vynútiť ju nemôžeme, lebo server patrí vám alebo hostingu a inak by ste sa k staršiemu serveru nepripojili.
  • Štítok zabezpečenia (od najbližšej verzie): po pripojení Veredaria ukáže, čo sa so serverom naozaj dohodlo — nie čo sme si želali:
    • Post-kvantové (zelený) — SFTP s výmenou ML-KEM,
    • Šifrované klasicky (žltý) — SFTP bez ML-KEM, alebo FTPS,
    • Nešifrované (červený) — obyčajné FTP; heslo aj súbory idú otvorene. Po najazdení myšou uvidíte detail (napr. dohodnutú výmenu kľúčov a šifru). Záznam sa zapíše aj do denníka pripojenia.
  • Čo so štítkom robiť:
    • červený → skúste v nastavení pripojenia prepnúť na SFTP (port 22) alebo FTPS; ak hosting nevie ani jedno, požiadajte ho o to,
    • žltý pri SFTP → server je starší; post-kvantovú výmenu pridajú novšie verzie OpenSSH (od verzie 10 je predvolená) — stojí za otázku správcovi servera,
    • žltý pri FTPS → spojenie je šifrované; ak server vie aj SFTP, prejdite naň.
  • Overenie servera pri SFTP (od najbližšej verzie): pri prvom pripojení si Veredaria zapamätá odtlačok kľúča servera (SHA-256), rovnako ako OpenSSH v súbore known_hosts. Ak sa pri ďalšom pripojení kľúč zmení, spojenie zastaví ešte pred odoslaním hesla a opýta sa, či novému kľúču dôverujete — chráni to pred podvrhnutým serverom po ceste.
  • Heslá pripojení Veredaria ukladá do systémového trezoru (Kľúčenka na Macu, Správca poverení vo Windows), nie do obyčajného súboru. Pripojenia môže preberať aj z Modula — vtedy sú v Module uložené zašifrované (pozri článok o šifrovaní uložených dát) a do aplikácie idú výhradne post-kvantovo šifrovaným spojením (od najbližšej verzie).

Časté otázky

Server mi ponúka „FTP s TLS“ a „SFTP“. Čo zvoliť?

SFTP. Je jednoduchší na siete (jeden port) a pri modernom serveri sa dohodne aj post-kvantová výmena kľúčov. FTPS je v poriadku, ak SFTP nemáte.

Prečo mi Veredaria ukazuje „Šifrované klasicky“, keď som zvolil SFTP?

Server nepozná post-kvantovú výmenu kľúčov, tak sa použila klasická. Spojenie je šifrované a dnes bezpečné; ochranu voči budúcim kvantovým počítačom pridá aktualizácia SSH servera.

Je obyčajné FTP naozaj také zlé?

Áno, ak ide cez sieť, ktorú nemáte pod kontrolou. Heslo sa prenáša ako čitateľný text a kto ho zachytí, dostane plný prístup k súborom na serveri.

Používa FTPS vo Veredarii post-kvantové šifrovanie?

Nie. FTPS ide cez TLS knižnicu operačného systému a o výmene kľúčov rozhoduje systém a server. Post-kvantovú ochranu pri FTPS netvrdíme.

Všetky články školenia