====== Serwer FTP ====== **Serwer FTP** (ang. //File Transfer Protocol//) to oprogramowanie umożliwiające przesyłanie plików między komputerami przez sieć komputerową, najczęściej przez [[Sieć lokalna|sieć lokalną]] lub Internet. FTP jest jednym z najstarszych protokołów komunikacyjnych, działającym w modelu klient-serwer i opartym na architekturze TCP/IP. {{page>:szablon:gfx:serwer}} ===== Jak działa serwer FTP? ===== Serwer FTP nasłuchuje na porcie TCP **21** (domyślnie) i oczekuje na połączenia przychodzące od klientów FTP. * **Klient FTP** – aplikacja służąca do nawiązywania połączenia z serwerem FTP. Może działać w trybie tekstowym (CLI – np. ''ftp'', ''lftp'') lub graficznym (GUI – np. FileZilla, WinSCP). * **Serwer FTP** – oprogramowanie działające na maszynie serwera (hosta), które umożliwia dostęp do wskazanych zasobów plikowych. * **Uwierzytelnienie** – klient może łączyć się jako użytkownik anonimowy (''anonymous'') lub podać nazwę użytkownika i hasło. * **Transmisja danych** – dane są przesyłane w oddzielnym kanale (dane – port 20 lub dynamiczne) poza kanałem sterującym (komendy – port 21). ===== Tryby połączenia ===== FTP obsługuje dwa tryby połączeń: * **Tryb pasywny (PASV)** – klient inicjuje oba kanały (sterujący i danych); popularniejszy w sieciach z NAT. * **Tryb aktywny (PORT)** – klient otwiera kanał sterujący, a serwer nawiązuje połączenie danych z klientem. ===== Bezpieczeństwo ===== Protokół FTP nie szyfruje danych, dlatego nie zaleca się jego stosowania bez warstwy zabezpieczeń. Alternatywy: * **FTPS (FTP Secure)** – FTP z użyciem SSL/TLS * **SFTP (SSH File Transfer Protocol)** – całkowicie inny protokół działający w ramach SSH, bezpieczniejszy i nowocześniejszy * **WebDAV** – HTTP/HTTPS z obsługą plików Aby zwiększyć bezpieczeństwo: * Ogranicz dostęp za pomocą firewalla * Korzystaj z szyfrowanych alternatyw (SFTP, FTPS) * Używaj logowania tylko dla znanych użytkowników * Monitoruj logi serwera FTP ===== Popularne implementacje serwerów FTP ===== ^ Nazwa ^ Tryb pracy ^ Obsługa FTPS/SFTP ^ Komentarz ^ | vsftpd | systemowy | FTPS | Bardzo bezpieczny, minimalistyczny, szybki | | ProFTPD | systemowy | FTPS/SFTP (z modami) | Wysoka konfigurowalność, modularność | | Pure-FTPd | systemowy | FTPS | Bezpieczny, prosty w konfiguracji | | ftpd | klasyczny | nie | Historyczna implementacja BSD/Linux | ===== Zastosowania domowe i biurowe ===== * Serwer plików dla starszych urządzeń i oprogramowania * Udostępnianie backupów (automatyczne przesyłanie) * Praca z urządzeniami IoT lub systemami NAS * Przesyłanie plików z/do [[hardware:raspberry_pi|Raspberry Pi]] w sieci lokalnej * Interoperacyjność z systemami wbudowanymi i routerami ===== Przykład połączenia w CLI ===== ftp 192.168.1.10 Name: użytkownik Password: ******** ftp> ls ftp> get plik.txt ftp> put lokalny_plik.txt ftp> bye ===== Uwagi końcowe ===== FTP pozostaje użyteczny w niektórych zastosowaniach, ale ze względu na brak szyfrowania i podatność na sniffing/tracking, w nowoczesnych instalacjach powinien być zastępowany przez SFTP lub inne bezpieczne protokoły. {{indexmenu>:serwery#1}} {{indexmenu>:kategoria:serwer#1}} {{page>:szablony:more}} {{indexmenu>kategoria:serwery}} {{pagebox>:pagebox:kategorie}}