Služby přenosu souborů

Z Maturita 2012
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(formátování)
(+upozornění)
 
(Není zobrazeno 18 mezilehlých verzí od 1 uživatele.)
Řádka 16: Řádka 16:
  
 
=== Přenos dat ===
 
=== Přenos dat ===
* přenos dat je 8-bitový
+
* přenos dat je '''8-bitový'''
* 2 režimy přenosu dat
+
* '''2 režimy''' přenosu dat
** '''textový''' - dochází ke '''konverzi konců řádků''', pokud je zdrojový a cílový systém rozdílný - Windows používá jako konce řádků posloupnost znaků <code>CR</code> <code>LF</code>, unixové systémy používají pouze znak <code>LF</code>
+
** '''textový''' - dochází ke '''konverzi konců řádků''', pokud je zdrojový a cílový systém rozdílný - DOS/Windows používá jako konce řádků posloupnost znaků <code>CR</code> <code>LF</code>, unixové systémy (Linux, nové verze MacOS) používají pouze znak <code>LF</code>
** '''binární''' - v binárním režimu není do dat nijak zasahováno
+
** '''binární''' - v binárním režimu není do dat nijak zasahováno (typicky obrázky, komprimované soubory (RAR, ZIP, ...), atp.)
  
  
 
=== Nejčastější použití ===
 
=== Nejčastější použití ===
* sdílení dat (hudba, videa, vlastní tvorba, apod.)'' - v tomto ohledu ztrácí FTP svou dřívější pozici, protože většina uživatelů (především méně technicky zdatných) používá na použití jednodušší a přístupnější sdílecí servery (ulož.to, czshare.com, ...)''
+
* '''sdílení dat''' (hudba, videa, vlastní tvorba, apod.)'' - v tomto ohledu ztrácí FTP svou dřívější pozici, protože většina uživatelů (především méně technicky zdatných) používá na použití jednodušší a přístupnější sdílecí servery (ulož.to, czshare.com, ...)''
* správa účtů internetových stránek
+
* '''správa''' účtů internetových '''stránek''' (nahrávání zdrojových souborů na server - PHP skriptů, HTML stránek, obrázků,...)
  
  
 
=== Jak protokol funguje ===
 
=== Jak protokol funguje ===
**Protokol FTP stanoví pravidla komunikace mezi klientem a serverem. Jedná se o spojovanou spolupráci. Klient naváže spojení se serverem, předá uživatelské jméno a heslo. Po navázání spojení může probíhat práce s adresáři a soubory a přenos dat mezi klientem a serverem. Spojení se obvykle ukončí z podnětu klienta. Úsek komunikace mezi otevřením a uzavřením spojení se nazývá relace.
+
* FTP server poskytuje data pro ostatní počítače. Klient se k serveru připojí a může provádět různé operace (výpis adresáře, změna adresáře, přenos dat atd.). Operace jsou řízeny sadou příkazů, které jsou definovány v rámci FTP protokolu, proto kdokoliv může vytvořit klienta pro jakékoliv prostředí nebo operační systém.
**V protokolu FTP se užívá pro server dvou standardních portů (20, 21). Server na nich očekává a vyřizuje požadavky klientů. Pakety na portu 21 slouží k řízení komunikace - řídicí kanál. Port 20 slouží k vlastnímu přenosu dat - datový kanál. Porty klienta jsou dynamické a přiděluje je OS
+
 
**Řídicí kanál se po dobu relace otevře jen jednou a zůstává otevřen, zatímco datový se po přenosu dat (souboru) uzavře a pro každý datový přenos je nutné kanál znovu otevřít.
+
* Stanoví se pravidla komunikace mezi klientem a serverem. Jedná se o spojovanou spolupráci. Klient naváže spojení se serverem, předá uživatelské jméno a heslo. Po navázání spojení může probíhat práce s adresáři a soubory a přenos dat mezi klientem a serverem. Spojení se obvykle ukončí z podnětu klienta. Úsek komunikace mezi otevřením a uzavřením spojení se nazývá ''relace''.
**Podle toho, kdo otevírá datový kanál, se rozlišuje aktivní a pasivní režim spojení. Přenos souborů probíhá v textovém nebo binárním režimu v závislosti na typu souboru nebo potřebách uživatele. Chování serveru nebo klientského programu je určeno konfigurací. O komunikaci lze vést na obou stranách spojení protokol
+
* V případě protokolu FTP se užívá na straně serveru dvou standardních portů (20 a 21). Server na nich očekává a vyřizuje požadavky klientů. Pakety na portu 21 slouží k řízení komunikace - ''řídicí kanál''. Port 20 slouží k vlastnímu přenosu dat - ''datový kanál''. Porty na straně klienta jsou dynamicky přidělované a přiděluje je OS.
*Anonymní a neanonymní služba přenosu souborů
+
* Řídicí kanál se po dobu relace otevře jen jednou a zůstává otevřen, zatímco datový se po přenosu dat (souboru) uzavře a pro každý datový přenos je nutné kanál znovu otevřít.
**Anonymní servery umožňují přihlášení uživatele pomocí standardního uživatelského jména: anonymous nebo ftp. K zadání hesla obvykle stačí adresa elektronické pošty ve tvaru user@host. Umožňují prohlížení veřejných adresářů (obvykle pub a jeho podadresáře) a stahování souborů na lokální počítač. Zpravidla nepovolují zápis do struktury souborů serveru.
+
* Podle toho, kdo otevírá datový kanál, se rozlišuje aktivní a pasivní režim spojení. Přenos souborů probíhá v textovém nebo binárním režimu v závislosti na typu souboru nebo potřebách uživatele. Chování serveru nebo klientského programu je určeno konfigurací. O komunikaci lze vést na obou stranách spojení protokol.
**Neanonymní servery vyžadují účet uživatele pro daný server. Účet se skládá se z přihlašovacího jména a hesla. Určuje oprávnění uživatele k souborům a adresářům. Seznam účtů vytváří správce služby
+
 
 +
 
 +
=== Anonymní a neanonymní služba přenosu souborů ===
 +
* '''Anonymní servery''' umožňují přihlášení uživatele pomocí předem daného a pro všechny uživatele společného uživatelského jména - např. <code>anonymous</code> nebo <code>ftp</code>. K zadání hesla obvykle stačí adresa elektronické pošty. Tyto servery umožňují prohlížení veřejně přístupných adresářů a stahování souborů na lokální počítač. Zpravidla nepovolují zápis do struktury souborů serveru.
 +
 
 +
* '''Neanonymní servery''' vyžadují účet uživatele pro daný server. Účet se skládá se z přihlašovacího jména a hesla. Server určuje oprávnění uživatele k souborům a adresářům. Seznam účtů vytváří správce služby.
  
  
 
=== Aktivní a pasivní režim spojení ===
 
=== Aktivní a pasivní režim spojení ===
==== Aktivní režim ====
+
* připojení k FTP serveru je možné realizovat v aktivním nebo pasivním režimu. Pasivní režim je bezpečnější, ale ne vždy je technicky realizovatelný
==== Pasivní režim ====
+
* druh spojení je určen podle toho, kdo otevírá datový kanál (klient / server)
**Druh spojení je určen podle toho, kdo otevírá datový kanál (klient, server). Jestliže datový kanál otevírá server, jde o aktivní režim spojení; jestliže klient, jde o pasivní režim spojení (naslouchá server). V ladicím režimu klientského programu lze vidět příkazy, které nastavují aktivní nebo pasivní režim spojení. Aktivní spojení klienta lze vypsat pomocí příkazu netstat -p tcp
+
**V aktivním režimu oznámí klient serveru příkazem PORT svou IP adresu a port, kde bude očekávat příchod datových paketů serveru. Při pasivním spojení klient nejdříve požádá příkazem PASV server, aby přešel do pasivního režimu. Když server souhlasí, pošle na řídícím kanálu odpověď s uvedením své IP adresy a portu, na němž datové spojení očekává.
+
  
  
'''Charakteristické příkazy aktivního a pasivního režimu'''
+
==== Aktivní režim ====
 +
* jestliže datový kanál '''otevírá server''', jde o aktivní režim spojení
 +
* na portu '''TCP/20''' jsou přenášena data (''data connection'')
 +
* připojení na přenos dat navazuje server a '''klient naslouchá'''
 +
* klient oznámí serveru příkazem <code>PORT</code> svou IP adresu a port, kde bude očekávat příchod datových paketů serveru
 +
* '''problém''' zpravidla nastává, když se klient připojuje z privátní sítě a jeho adresa je překládána pomocí NATu
  
Aktivní
 
 
  PORT 146,102,64,219,4,150
 
  PORT 146,102,64,219,4,150
 
  200 command successfully executed
 
  200 command successfully executed
  
Pasivní
+
[[Soubor:Ftp-aktivni-rezim.png|center]]
 +
 
 +
 
 +
==== Pasivní režim ====
 +
* připojení pro přenos dat (''data connection'') '''navazuje klient''', server naslouchá
 +
* při sestavování ''data connection'' pošle server klientovi svou IP adresu a TCP port, na kterém server naslouchá a čeká na přenesení dat
 +
* klient nejdříve požádá server příkazem <code>PASV</code>, aby přešel do pasivního režimu
 +
** pokud server souhlasí, pošle na řídícím kanálu odpověď s uvedením své IP adresy a portu, na němž datové spojení očekává
 +
 
 
  PASV
 
  PASV
 
  227 Entering Passive Mode (195,113,144,229,220,154)
 
  227 Entering Passive Mode (195,113,144,229,220,154)
*'''Klientské programy'''
 
**Rozeznáváme textové a grafické klientské programy, a to podle typu uživatelského rozhraní. Mezi textově orientované klientské programy FTP patří např.: '''MS DOS klient''' (příkazová řádka DOS), '''MS DOS Clarkson FTP klient''' (volně šiřitelný vzorový program), ale i aktuální '''MS FTP klient  Windows XP'''.
 
**V současné době převládají grafické klientské programy. K nim patří WS_FTP, FileZilla nebo interní grafický klient v programu '''WinCmd / TotalCmd'''. Prohlížeče stránek WWW bývají rovněž vybaveny interním klientským FTP programem. Data získaná z FTP serverů jsou prezentována v textové podobě doplněné o grafické prvky jako stránky HTML.
 
** Výhody neváhody graf/text klientů
 
***Grafické klientské programy FTP mají snadný způsob ovládání a podporují různé funkce. Usnadňují konfiguraci programu, umožňují vytvářet a ukládat profily relací, a obecně automatizují co nejvíce funkcí. V konečném účinku nastavení jejich chování a ovládání poněkud zakrývá základní způsob komunikace a charakter služby.
 
***Textové klientské programy se ovládají méně snadno, avšak někdy bývá jejich repertoár funkcí bohatší. Generování výstupu v textovém tvaru je rychlejší než generování např. HTML stránky s obsahem adresáře. Vyžadují lepší porozumění protokolu přenosu souborů a TCP/IP vůbec. Pro výuku jsou vhodnější.
 
  
* '''Režimy přenosu'''
+
[[Soubor:Ftp-pasivni-rezim.png|center]]
**V různých operačních systémech existují rozdíly v reprezentaci textových souborů. Textový soubor obsahuje tisknutelné znaky a některé řídicí znaky. Dělí se na řádky. Konce řádků jsou v různých OS zobrazeny odlišně. V DOS/Windows: CR+LF. UNIX: LF, MAC: CR.
+
  
**Při přenosu textového souboru v režimu ASCII dochází u různých operačních systémů k převodu zobrazení. V režimu binary se libovolný soubor přenáší beze změny zobrazení a délky. Binární přenos slouží např. k přenosu obrázků (např. typu .gif, .jpeg, aj), komprimovaných souborů, atp
+
 
 +
=== Programy ===
 +
==== Serverové programy ====
 +
* existuje velké množství programů, které fungují jako '''FTP server'''
 +
* např. '''VSFTP''', '''ProFTP''' a mnoho dalších
 +
 
 +
 
 +
==== Klientské programy ====
 +
* pro práci s FTP existuje '''velké množství''' programů - jak '''textových''' (pro příkazový řádek), tak i '''grafických'''
 +
* '''textově orientované''' - např. <code>lftp</code>, '''MS FTP''' - výchozí textový klient ve Windows (příkaz <code>ftp</code>) a řada dalších
 +
* '''graficky orientované''' - v současné době nad textovými klienty převládají
 +
** čistokrevní FTP klienti - např. '''FileZilla''', gFTP (na Linuxu), apod.
 +
** FTP klienti jako součást správce souborů - např. '''Total Commander''', '''Průzkumník''' ve Windows (program <code>explorer.exe</code>), ...
 +
** FTP integrované do webového prohlížeče - Opera, Firefox, ... - většinou umožňují pouze čtení souborů z FTP serveru - ale už nikoli vytvářet, mazat, nahrávat a editovat soubory a adresáře
  
  
 
=== Výhody ===
 
=== Výhody ===
** serverová část je jednodušší, než běžný HTTP server (neplatí pro odlehčené HTTP servery)
+
* serverová část je jednodušší, než běžný HTTP server (neplatí pro odlehčené HTTP servery)
** na rozdíl od HTTP má protokol širší možnosti (nastavení práv, mazání, upload, …)
+
* na rozdíl od HTTP má protokol širší možnosti (nastavení práv, mazání, upload, …)
  
  
 
=== Nevýhody ===
 
=== Nevýhody ===
** hesla a soubory jsou ve standardním protokolu zasílána jako běžný text (nejsou šifrovaná)
+
* hesla a soubory jsou ve standardním protokolu zasílána jako běžný text (nejsou šifrovaná)
*** snižuje bezpečnost (ohrožuje jméno, heslo, ale i přenášená data)
+
** snižuje bezpečnost (ohrožuje jméno, heslo, ale i přenášená data)
*** existují rozšíření FTP protokolu, která tento nedostatek odstraňují (např. FTPS)
+
** existují rozšíření FTP protokolu, která tento nedostatek odstraňují (např. FTPS)
** FTP server má delší odezvy
+
* FTP server má delší odezvy
*** nemožnost sloučit přenos více (malých) souborů do jednoho zvyšuje časovou režii i zátěž serveru
+
** nemožnost sloučit přenos více (malých) souborů do jednoho zvyšuje časovou režii i zátěž serveru
** v některých sítích je povolen pouze protokol Hypertext Transfer Protocol|HTTP (tj. povoleno pouze prohlížení webových stránek)
+
* v některých sítích je povolen pouze protokol HTTP (tj. povoleno pouze prohlížení webových stránek) - v takových sítích není možné protokol FTP použít
  
  
Řádka 86: Řádka 107:
 
*# '''FTPS''' - obdoba HTTPS (předají si klíče, pak šifrují)
 
*# '''FTPS''' - obdoba HTTPS (předají si klíče, pak šifrují)
 
*# '''SFTP'''- postaveno nad jiným zabezpečeným protokolem (nejčastěji SSH)
 
*# '''SFTP'''- postaveno nad jiným zabezpečeným protokolem (nejčastěji SSH)
*# '''SCP''' - ''viz SFTP, ale nepoužívá pro zabezpečení SSH''
+
*# '''SCP''' - oproti SFTP má omezené možnosti (není tak komplexní)
 
*#* programy - např. WinSCP, Putty (terminál),...
 
*#* programy - např. WinSCP, Putty (terminál),...
  
<pre>
 
FTPS:
 
Client ------------------------------> Server
 
      <------------------------------
 
              veřejný klíč
 
  
KS - Š --------------------------------- Š -> KS
+
==== FTPS (FTP s podporou SSL/TLS) ====
    |                                 |
+
* klient se připojuje na port 21, zahajuje nešifrovanou komunikaci a žádá o aktivaci TLS (SSL) před tím, než budou poslána citlivá data
    Kvs
+
* protokol TLS umožňuje aplikacím komunikovat po síti způsobem, který zabraňuje odposlouchávání či falšování zpráv
</pre>
+
* pomocí kryptografie poskytuje TLS svým koncovým bodům autentizaci a soukromí při komunikaci Internetem
 +
* typicky je autentizován pouze server (tedy jeho totožnost je zaručena), zatímco klient zůstává neautentizován
 +
* to znamená, že koncový uživatel (ať člověk či aplikace - např. webový prohlížeč) si může být jist s kým komunikuje
 +
* Další úroveň zabezpečení, při níž oba konce „konverzace“ mají jistotu s kým komunikují, je označována jako vzájemná autentizace
 +
* Vzájemná autentizace vyžaduje nasazení infrastruktury veřejných klíčů (PKI) pro klienty
 +
 
 +
* TLS zahrnuje '''3 základní fáze'''
 +
** dohodu účastníků na podporovaných algoritmech
 +
** výměnu klíčů založenou na šifrování s veřejným klíčem a autentizaci vycházející z certifikátů
 +
** šifrování provozu symetrickou šifrou
 +
 
 +
 
 +
==== SFTP (Secure FTP) a SCP (Secure Copy) ====
 +
* '''SFTP'''
 +
** pro přenos dat obvykle využívá protokol '''SSH-2'''
 +
** je ale navržen tak, aby ho bylo možné používat i nad jiným protokolem
 +
** narozdíl od SCP má široké možnosti pro doplňující operace se soubory - umožňuje pokračovat v přerušených přenosech, vypisovat adresáře i odstraňovat soubory na vzdáleném počítači
 +
 
 +
* '''SCP'''
 +
** jednoduchý protokol
 +
** pro šifrování a autentizaci využívá protokol SSH
 +
 
 +
* v praxi je rozšířena aplikace '''WinSCP''' - jedná se o souborový manažer, který je založený na knihovnách Putty (SSH klient) a umožňuje práci v režimu SFTP a SCP.
 +
 
 +
 
 +
'''''Pozor! Následující část nesouvisí s protokolem FTP.'''''
  
 
== SSH ==
 
== SSH ==
SSH (Secure Shell) je zabezpečený komunikační protokol v počítačových sítích, které používají TCP/IP (port 22). SSH byl navržen jako náhrada za telnet a další nezabezpečené vzdálené shelly (rlogin, rsh apod.), které posílají heslo v nezabezpečené formě a umožňují tak jeho odposlechnutí při přenosu pomocí počítačové sítě. Šifrování přenášených dat, které SSH poskytuje, slouží k zabezpečení dat při přenosu přes nedůvěryhodnou síť.
+
* SSH (Secure Shell) je zabezpečený komunikační protokol
* Výhody
+
* používají TCP/IP (port 22)
** SSH používá zabezpečený protokol čímž se liší od předchůdců.
+
* byl navržen jako náhrada za telnet a další nezabezpečené vzdálené shelly (rlogin, rsh apod.), které posílají heslo v nezabezpečené formě a umožňují tak jeho odposlechnutí při přenosu pomocí počítačové sítě
 +
* šifrování přenášených dat, které SSH poskytuje, slouží k zabezpečení dat při přenosu přes nedůvěryhodnou síť.
 +
* SSH umožňuje bezpečnou komunikaci mezi dvěma počítači, která se využívá
 +
pro zprostředkování přístupu k příkazovému řádku, kopírování souborů, ale také k jakémukoliv
 +
obecnému přenosu dat
 +
* také zabezpečuje autentizaci obou účastníků komunikace, transparentní šifrování
 +
přenášených dat, zajištění jejich integrity a volitelnou bezeztrátovou kompresi
 +
 
 +
* '''Výhody'''
 +
** narozdíl od svých předchůdců používá SSH zabezpečený (šifrovaný) komunikační kanál

Aktuální verze z 4. 5. 2012, 23:19

http://www.explorer.cz/cz/publish/43/Ftp-prenos-souboru.html
http://4iz110.vse.cz:41004/4iz110/cv4/cv4.html

Obsah

FTP

  • protokol, ale i název služby
  • určen pro předávání souborů ze serveru a na server
  • pracuje na aplikační vrstvě
  • jedná se o jeden z nejstarších protokolů a zároveň nejčastěji používanou službu pro předávání dat na Internetu
  • funguje na principu klient - server
  • používá interaktivní styl komunikace, umožňuje řízení přístupu (přihlašování login/heslo)
  • porty
    • TCP/21 - slouží k řízení, jsou jím přenášeny příkazy
    • TCP/20 - slouží k vlastnímu přenostu dat


Přenos dat

  • přenos dat je 8-bitový
  • 2 režimy přenosu dat
    • textový - dochází ke konverzi konců řádků, pokud je zdrojový a cílový systém rozdílný - DOS/Windows používá jako konce řádků posloupnost znaků CR LF, unixové systémy (Linux, nové verze MacOS) používají pouze znak LF
    • binární - v binárním režimu není do dat nijak zasahováno (typicky obrázky, komprimované soubory (RAR, ZIP, ...), atp.)


Nejčastější použití

  • sdílení dat (hudba, videa, vlastní tvorba, apod.) - v tomto ohledu ztrácí FTP svou dřívější pozici, protože většina uživatelů (především méně technicky zdatných) používá na použití jednodušší a přístupnější sdílecí servery (ulož.to, czshare.com, ...)
  • správa účtů internetových stránek (nahrávání zdrojových souborů na server - PHP skriptů, HTML stránek, obrázků,...)


Jak protokol funguje

  • FTP server poskytuje data pro ostatní počítače. Klient se k serveru připojí a může provádět různé operace (výpis adresáře, změna adresáře, přenos dat atd.). Operace jsou řízeny sadou příkazů, které jsou definovány v rámci FTP protokolu, proto kdokoliv může vytvořit klienta pro jakékoliv prostředí nebo operační systém.
  • Stanoví se pravidla komunikace mezi klientem a serverem. Jedná se o spojovanou spolupráci. Klient naváže spojení se serverem, předá uživatelské jméno a heslo. Po navázání spojení může probíhat práce s adresáři a soubory a přenos dat mezi klientem a serverem. Spojení se obvykle ukončí z podnětu klienta. Úsek komunikace mezi otevřením a uzavřením spojení se nazývá relace.
  • V případě protokolu FTP se užívá na straně serveru dvou standardních portů (20 a 21). Server na nich očekává a vyřizuje požadavky klientů. Pakety na portu 21 slouží k řízení komunikace - řídicí kanál. Port 20 slouží k vlastnímu přenosu dat - datový kanál. Porty na straně klienta jsou dynamicky přidělované a přiděluje je OS.
  • Řídicí kanál se po dobu relace otevře jen jednou a zůstává otevřen, zatímco datový se po přenosu dat (souboru) uzavře a pro každý datový přenos je nutné kanál znovu otevřít.
  • Podle toho, kdo otevírá datový kanál, se rozlišuje aktivní a pasivní režim spojení. Přenos souborů probíhá v textovém nebo binárním režimu v závislosti na typu souboru nebo potřebách uživatele. Chování serveru nebo klientského programu je určeno konfigurací. O komunikaci lze vést na obou stranách spojení protokol.


Anonymní a neanonymní služba přenosu souborů

  • Anonymní servery umožňují přihlášení uživatele pomocí předem daného a pro všechny uživatele společného uživatelského jména - např. anonymous nebo ftp. K zadání hesla obvykle stačí adresa elektronické pošty. Tyto servery umožňují prohlížení veřejně přístupných adresářů a stahování souborů na lokální počítač. Zpravidla nepovolují zápis do struktury souborů serveru.
  • Neanonymní servery vyžadují účet uživatele pro daný server. Účet se skládá se z přihlašovacího jména a hesla. Server určuje oprávnění uživatele k souborům a adresářům. Seznam účtů vytváří správce služby.


Aktivní a pasivní režim spojení

  • připojení k FTP serveru je možné realizovat v aktivním nebo pasivním režimu. Pasivní režim je bezpečnější, ale ne vždy je technicky realizovatelný
  • druh spojení je určen podle toho, kdo otevírá datový kanál (klient / server)


Aktivní režim

  • jestliže datový kanál otevírá server, jde o aktivní režim spojení
  • na portu TCP/20 jsou přenášena data (data connection)
  • připojení na přenos dat navazuje server a klient naslouchá
  • klient oznámí serveru příkazem PORT svou IP adresu a port, kde bude očekávat příchod datových paketů serveru
  • problém zpravidla nastává, když se klient připojuje z privátní sítě a jeho adresa je překládána pomocí NATu
PORT 146,102,64,219,4,150
200 command successfully executed
Ftp-aktivni-rezim.png


Pasivní režim

  • připojení pro přenos dat (data connection) navazuje klient, server naslouchá
  • při sestavování data connection pošle server klientovi svou IP adresu a TCP port, na kterém server naslouchá a čeká na přenesení dat
  • klient nejdříve požádá server příkazem PASV, aby přešel do pasivního režimu
    • pokud server souhlasí, pošle na řídícím kanálu odpověď s uvedením své IP adresy a portu, na němž datové spojení očekává
PASV
227 Entering Passive Mode (195,113,144,229,220,154)
Ftp-pasivni-rezim.png


Programy

Serverové programy

  • existuje velké množství programů, které fungují jako FTP server
  • např. VSFTP, ProFTP a mnoho dalších


Klientské programy

  • pro práci s FTP existuje velké množství programů - jak textových (pro příkazový řádek), tak i grafických
  • textově orientované - např. lftp, MS FTP - výchozí textový klient ve Windows (příkaz ftp) a řada dalších
  • graficky orientované - v současné době nad textovými klienty převládají
    • čistokrevní FTP klienti - např. FileZilla, gFTP (na Linuxu), apod.
    • FTP klienti jako součást správce souborů - např. Total Commander, Průzkumník ve Windows (program explorer.exe), ...
    • FTP integrované do webového prohlížeče - Opera, Firefox, ... - většinou umožňují pouze čtení souborů z FTP serveru - ale už nikoli vytvářet, mazat, nahrávat a editovat soubory a adresáře


Výhody

  • serverová část je jednodušší, než běžný HTTP server (neplatí pro odlehčené HTTP servery)
  • na rozdíl od HTTP má protokol širší možnosti (nastavení práv, mazání, upload, …)


Nevýhody

  • hesla a soubory jsou ve standardním protokolu zasílána jako běžný text (nejsou šifrovaná)
    • snižuje bezpečnost (ohrožuje jméno, heslo, ale i přenášená data)
    • existují rozšíření FTP protokolu, která tento nedostatek odstraňují (např. FTPS)
  • FTP server má delší odezvy
    • nemožnost sloučit přenos více (malých) souborů do jednoho zvyšuje časovou režii i zátěž serveru
  • v některých sítích je povolen pouze protokol HTTP (tj. povoleno pouze prohlížení webových stránek) - v takových sítích není možné protokol FTP použít


Zabezpečení

  • FTP protokol v současné době už není považován za bezpečný → byla pro něj definována některá rozšíření
  • možnosti zabezpečení komunikace:
    1. VPN - privátní tunel, jedná se o zabezpečenou komunikaci i když FTP zabezpečeno není (šifrován je vlastní tunel, nikoli samotná FTP komunikace)
    2. FTPS - obdoba HTTPS (předají si klíče, pak šifrují)
    3. SFTP- postaveno nad jiným zabezpečeným protokolem (nejčastěji SSH)
    4. SCP - oproti SFTP má omezené možnosti (není tak komplexní)
      • programy - např. WinSCP, Putty (terminál),...


FTPS (FTP s podporou SSL/TLS)

  • klient se připojuje na port 21, zahajuje nešifrovanou komunikaci a žádá o aktivaci TLS (SSL) před tím, než budou poslána citlivá data
  • protokol TLS umožňuje aplikacím komunikovat po síti způsobem, který zabraňuje odposlouchávání či falšování zpráv
  • pomocí kryptografie poskytuje TLS svým koncovým bodům autentizaci a soukromí při komunikaci Internetem
  • typicky je autentizován pouze server (tedy jeho totožnost je zaručena), zatímco klient zůstává neautentizován
  • to znamená, že koncový uživatel (ať člověk či aplikace - např. webový prohlížeč) si může být jist s kým komunikuje
  • Další úroveň zabezpečení, při níž oba konce „konverzace“ mají jistotu s kým komunikují, je označována jako vzájemná autentizace
  • Vzájemná autentizace vyžaduje nasazení infrastruktury veřejných klíčů (PKI) pro klienty
  • TLS zahrnuje 3 základní fáze
    • dohodu účastníků na podporovaných algoritmech
    • výměnu klíčů založenou na šifrování s veřejným klíčem a autentizaci vycházející z certifikátů
    • šifrování provozu symetrickou šifrou


SFTP (Secure FTP) a SCP (Secure Copy)

  • SFTP
    • pro přenos dat obvykle využívá protokol SSH-2
    • je ale navržen tak, aby ho bylo možné používat i nad jiným protokolem
    • narozdíl od SCP má široké možnosti pro doplňující operace se soubory - umožňuje pokračovat v přerušených přenosech, vypisovat adresáře i odstraňovat soubory na vzdáleném počítači
  • SCP
    • jednoduchý protokol
    • pro šifrování a autentizaci využívá protokol SSH
  • v praxi je rozšířena aplikace WinSCP - jedná se o souborový manažer, který je založený na knihovnách Putty (SSH klient) a umožňuje práci v režimu SFTP a SCP.


Pozor! Následující část nesouvisí s protokolem FTP.

SSH

  • SSH (Secure Shell) je zabezpečený komunikační protokol
  • používají TCP/IP (port 22)
  • byl navržen jako náhrada za telnet a další nezabezpečené vzdálené shelly (rlogin, rsh apod.), které posílají heslo v nezabezpečené formě a umožňují tak jeho odposlechnutí při přenosu pomocí počítačové sítě
  • šifrování přenášených dat, které SSH poskytuje, slouží k zabezpečení dat při přenosu přes nedůvěryhodnou síť.
  • SSH umožňuje bezpečnou komunikaci mezi dvěma počítači, která se využívá

pro zprostředkování přístupu k příkazovému řádku, kopírování souborů, ale také k jakémukoliv obecnému přenosu dat

  • také zabezpečuje autentizaci obou účastníků komunikace, transparentní šifrování

přenášených dat, zajištění jejich integrity a volitelnou bezeztrátovou kompresi

  • Výhody
    • narozdíl od svých předchůdců používá SSH zabezpečený (šifrovaný) komunikační kanál
Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje