FTP, FTPs i SFTP są to trzy najpopularniejsze protokoły używane najczęściej przez twórców stron internetowych do przesyłania plików na serwery www. Pomimo że wszystkie te trzy protokoły pełnią podobną funkcję, istnieją pomiędzy nimi istotne różnice, zwłaszcza w kwestiach bezpieczeństwa. Ważne jest, aby je zrozumieć, ponieważ może to pomóc uniknąć poważnych problemów związanych z bezpieczeństwem podczas zarządzania plikami na serwerze. W artykule dokładnie opiszę każdy z tych protokołów, a także wskażę ich mocne i słabe strony 🙂
Spis treści
Protokół FTP
FTP (ang. File Transfer Protocol) jest to protokół komunikacyjny pozwalający na przesyłanie danych pomiędzy klientem a serwerem FTP za pośrednictwem połączenia TCP/IP. Protokół FTP działa dwukierunkowo, co oznacza, że pozwala na wgrywanie, a także pobieranie plików z serwera. Klientem FTP może być program taki jak:
- Total Commander,
- FileZilla,
- WinSCP.
Oczywiście nie są to jedyne programy tego typu, ale z pewnością te trzy są najbardziej popularne.
Należy wiedzieć, że korzystanie z tradycyjnego protokołu FTP może stanowić ryzyko, ponieważ pakiety przesyłane za jego pośrednictwem nie są szyfrowane. Przesyłane przez FTP dane są podatne na przechwycenie przez nieuprawnione osoby, które mogą podsłuchać transmisję, uzyskując tym samym dostęp do loginu i hasła do serwera FTP. Każdy użytkownik, który jest podłączony do tej samej sieci, może zobaczyć, co wysyłamy na serwer, a także może podejrzeć nasze dane do logowania do serwera FTP. Z tego powodu stosowanie protokołu FTP jest niezalecane.
Protokół FTPs
Protokół FTPs (ang. FTP Secure) jest rozszerzeniem protokołu FTP. Stanowi on znacznie bezpieczniejszą alternatywę dla standardowego FTP dzięki dodatkowemu zabezpieczeniu w postaci szyfrowania połączenia. Sprawia to, że podejrzenie podsłuchanej komunikacji jest bardzo utrudnione, a nawet wręcz niemożliwe.
Protokół SFTP
Kolejny protokół SFTP (ang. SSH File Transfer Protocol) działa w oparciu o protokół SSH (Secure Shell). Wykorzystuje on silne szyfrowanie, zapewniając przy tym poufność i integralność przesyłanych danych. Jego główną zaletą jest opcja uwierzytelniania poprzez klucze publiczne zamiast przy użyciu hasła. Dzięki temu istnieje możliwość korzystania z jednego klucza zamiast wielu haseł do dostępu do różnych serwerów.
UWAGA! FTPs stanowi jedynie rozszerzenie standardowego protokołu FTP. Często protokół FTPs jest mylony z SFTP, który jest zupełnie innym rodzajem komunikacji. Jedyną częścią wspólną FTPs oraz SFTP jest szyfrowanie przesyłanych pakietów.
Wykorzystywane porty
Każdy z opisanych wcześniej protokołów korzysta z innego portu:
- FTP korzysta z portu 21,
- FTPs korzysta z portu 21 lub 990,
- SFTP korzysta z portu 22.
Należy jednak pamiętać, że administrator danego serwera może zmienić numer portu ze względów bezpieczeństwa. Jednak w większości przypadków numery portów są standardowe.
Którego portu mam używać – FTP, FTPs czy SFTP
Zdecydowanie odradzam korzystanie z protokołu FTP, ponieważ w żaden sposób nie zabezpiecza on przesyłanych plików, a co najważniejsze danych dostępowych. Dla większego bezpieczeństwa lepiej wybierać protokoły takie jak FTPs lub SFTP. Oba zabezpieczają szyfrowaniem przesyłane pakiety, chroniąc je przed ewentualnym podsłuchaniem przez osoby postronne.