FTPS

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. srpna 2019; kontroly vyžadují 4 úpravy .

FTPS (File Transfer Protocol + SSL nebo FTP/SSL) je rozšířením široce používaného protokolu přenosu dat FTP , který přidává podporu pro šifrovací protokoly transportní bezpečnostní vrstvy a zabezpečené sokety .

FTPS by se nemělo zaměňovat s SFTP , liší se také od FTP přes SSH - přenos FTP dat a příkazů přes zabezpečené připojení SSH.

Pozadí

Protokol FTP byl sestaven v roce 1971 pro použití ve výzkumné síti ARPANET . V té době byl přístup k ARPANET omezen na malý počet vojenských zařízení a univerzit. Úzká komunita uživatelů, kteří mohli mezi sebou spolupracovat, nepotřebovala chránit informace a poskytovat důvěrnost dat.

Postupem času se ARPANET postupně vyvinul v NSFNET a později v World Wide Web . Zároveň rostl počet uživatelů, zvětšovaly se vzdálenosti mezi koncovými FTP klienty a FTP servery a zvyšovala se možnost neoprávněného přístupu třetích osob k tajným vojenským či vědeckým souborům.

V roce 1994 Netscape vyvinul a publikoval protokol SSL , obal kolem protokolů aplikační vrstvy (podle zásobníku protokolů TCP/IP ). Tento protokol umožňoval aplikacím komunikovat mezi sebou po síti bezpečným způsobem, čímž zabraňoval odposlechu, falšování a prozrazení soukromých dat. Protokol SSL přidal zabezpečení každému protokolu, který používá spolehlivá spojení (jako je TCP ) a začal se aktivně používat v prohlížeči Netscape a později k vytvoření zabezpečeného protokolu HTTPS .

Protokol SSL byl nakonec aplikován na protokol FTP v pracovním návrhu ( RFC ) v roce 1996. O něco později byl tento projekt zaregistrován správou internetového adresního prostoru . Návrhy změn však byly dokončeny až v roce 2005.

Bezpečnostní metody

Existují dva různé způsoby zabezpečení FTP klienta: explicitní a implicitní. Použití implicitní metody předpokládá, že před odesláním jakýchkoli dat bude vytvořena relace TLS nebo SSL , což zase narušuje kompatibilitu s FTP klienty a servery, které nepodporují protokol FTPS. Explicitní metoda používá standardní příkazy protokolu FTP, ale šifruje data při odpovědi, což umožňuje použití stejného řídicího portu pro FTP i FTPS. Tato metoda se používá v HTTPS , STARTTLS při implementaci TLS pro protokoly HTTP a SMTP.

Implicitní metoda

Při použití implicitní konfigurace FTPS není podporováno vyjednávání mezi klientem a serverem. Klient FTPS po připojení odešle zprávu „ClientHello“ serveru TLS . Pokud od klienta žádná taková zpráva neobdrží, FTPS server musí spojení ukončit.

Pro zpětnou kompatibilitu s klienty, kteří nepodporují FTPS, je port 990/TCP použit pro řídicí připojení a 989/TCP pro přenos dat. To vám umožní zachovat standardní port 21/TCP pro protokol FTP.

Explicitní metoda

Při použití explicitní konfigurace FTPS (známé také jako FTPES) musí klient výslovně požádat o zabezpečený přenos dat ze serveru a poté schválit metodu šifrování. Pokud klient nepožaduje zabezpečený přenos, server FTPS může nezabezpečené připojení ponechat nebo ukončit. Do RFC 2228 byl přidán mechanismus vyjednávání identity a zabezpečení dat, který obsahuje nový příkaz FTP AUTH. Ačkoli tento standard explicitně nedefinuje bezpečnostní mechanismy (TLS nebo SSL), specifikuje, že zabezpečené připojení musí být iniciováno klientem pomocí výše popsaného algoritmu. Pokud server nepodporuje zabezpečená připojení, měl by být vrácen chybový kód 504. Klienti FTPS mohou získat informace o bezpečnostních protokolech podporovaných serverem pomocí příkazu FEAT, server však nemusí sdělovat, jaké úrovně zabezpečení má. podporuje. Nejběžnější příkazy FTPS jsou AUTH TLS a AUTH SSL, které poskytují zabezpečení TLS a SSL .

Transport Layer Security (TLS)/Secure Sockets Layer (SSL)

Obecná podpora

FTPS zahrnuje plnou podporu pro kryptografické protokoly TLS a SSL, včetně použití certifikátů veřejného klíče na straně serveru a autorizačních certifikátů na straně klienta. Podporuje také standardní šifrovací algoritmy - AES , RC4 , RC2 , Triple DES a DES a hashovací funkce SHA , MD5 , MD4 a MD2 .

Rozsah použití

V implicitním režimu je celá relace FTPS šifrována. Explicitní režim se liší tím, že klient má plnou kontrolu nad provozem, který vyžaduje šifrování.
Povolení a zakázání režimu šifrování pro řídicí i datové připojení lze provést kdykoli. Jediným omezením je, že server může odmítat příkazy na základě své vlastní bezpečnostní politiky.

Zabezpečené ovládací připojení

Do režimu zabezpečeného řídicího připojení se můžete přepnout pomocí obou příkazů – AUTH TLS a AUTH SSL. V tomto režimu budou všechny příkazy mezi serverem a klientem šifrovány. Obecně se doporučuje zadat tento stav před autentizací a autorizací uživatele, aby se zabránilo zachycení uživatelského jména nebo hesla třetími stranami.

Zabezpečené datové připojení

Do režimu zabezpečeného datového připojení můžete přepnout pomocí příkazu PROT. Při použití příkazu udělení AUTH TLS není ve výchozím nastavení povoleno. V tomto režimu budou všechna spojení pro výměnu dat mezi klientem a serverem šifrována. Klient může kdykoli změnit režim přenosu dat pomocí příkazu CDC.

Důvody pro zakázání šifrování

V následujících případech nemusí být šifrování datového spojení výhodné:

  • Přenášené soubory jsou již zašifrovány aplikací nebo přenos probíhá přes šifrované připojení VPN
  • Dostupné protokoly TLS nebo SSL neposkytují požadovanou úroveň zabezpečení.

V následujících případech nemusí být výhodné šifrovat příkazový kanál:

  • Použití protokolu FTPS, když klient a/nebo server běží přes bránu firewall nebo zařízení NAT
  • Vícenásobné použití příkazů AUTH a CCC/CDC anonymním FTP klientem během jedné relace. Toto chování lze zaměnit za útok odmítnutí služby, protože relace TSL/SSL se musí pokaždé znovu vygenerovat.

SSL certifikáty

Stejně jako protokol HTTPS musí servery FTPS poskytovat certifikát veřejného klíče. Tyto certifikáty lze vyžádat a vytvořit pomocí OpenSSL nebo jiných programů.

Certifikáty musí být podepsány důvěryhodnou certifikační autoritou [1] , tím je zajištěno, že se klient připojí k požadovanému serveru, čímž se zabrání útoku typu man-in-the-middle . Pokud certifikát není podepsán, klient FTPS vygeneruje varování o neplatnosti certifikátu. Klient má právo buď přijmout certifikát, nebo odmítnout připojení.

Podpora certifikátů odlišuje FTPS od SFTP , které neposkytuje podepsané certifikáty, ale místo toho se spoléhá na klíče páru veřejných klíčů.

Problémy s firewallem

Jak víte, protokol FTP používá ke své práci dvě připojení: jedno pro přenos dat a druhé pro výměnu příkazů. Mnoho firewallů je navrženo tak, aby určovalo port, na kterém jsou data přenášena, a zajišťovala jeho provoz. Pokud je však řídicí připojení šifrováno pomocí TLS nebo SSL , informace o čísle portu datového připojení jsou zašifrovány a brána firewall je nedokáže dešifrovat. V tomto případě je přenos dat a provoz přes protokol FTPS buď zcela nemožný, nebo omezený na pasivní režim. Tento problém lze vyřešit následujícím způsobem: nastavit omezený rozsah portů pro přenos dat a nakonfigurovat firewall tak, aby tyto porty zůstaly otevřené.

Viz také

Poznámky

  1. Co je kořenový certifikát SSL a proč je potřeba? . Získáno 18. února 2016. Archivováno z originálu 25. února 2016.

Odkazy