Dlaczego FTP jest przestarzałą technologią
Protokół FTP jest bardzo popularny ze względu na swoją prostotę i dostępność. Jest on jednak niezwykle przestarzały i niepewny. Poniżej przedstawiamy powody, dla których warto z niego zrezygnować.
Problemy w architekturze FTP
Ogólnie rzecz biorąc, FTP nie ma poziomu bezpieczeństwa wymaganego dla nowoczesnego Internetu, a ogólny projekt protokołu jest szczerze mówiąc nieodpowiedni dla nowoczesnego Internetu. Został on opracowany w latach 70-tych, kiedy wymagania technologiczne bardzo różniły się od dzisiejszych. Zrozummy trochę więcej o jego strukturze.
FTP działa na dwóch kanałach: poleceń i danych. Kanał danych ma dwa tryby transmisji - aktywny i pasywny.
Różnica między trybem aktywnym i pasywnym polega na tym, po której stronie inicjowane jest ustanowienie połączenia danych.
W trybie pasywnym serwer otwiera losowy port z zakresu dynamicznego po swojej stronie i informuje o tym klienta; klient inicjuje połączenie TCP z tym portem.
W trybie aktywnym losowy port z zakresu dynamicznego jest otwierany po stronie klienta i to serwer inicjuje połączenie TCP. W większości przypadków tryb ten nie jest odpowiedni ze względu na specyfikę ustawień translacji adresów (NAT) po stronie domowych dostawców Internetu, które nie pozwalają na nawiązanie połączenia przychodzącego z urządzeniem klienckim.
Wady FTP
Aby przesłać dowolny plik za pośrednictwem FTP, klient i serwer muszą wymienić bardzo dużą liczbę wiadomości. Prowadzi to do utraty dużej ilości czasu i zasobów.
Opóźnienia występują nie tylko na poziomie FTP, ale także na poziomie TCP, ponieważ przesyłanie każdego pojedynczego pliku wymaga otwarcia nowego połączenia TCP. Jeśli trzeba przesłać więcej niż "kilka" plików, jest to bardzo niewygodne.
Kolejnym problemem jest to, że nie można sprawdzić, czy transfer się powiódł, czy nie. Serwer nie zna nawet rozmiaru pliku. Jeśli coś nie załaduje się podczas transferu, ani klient, ani serwer nie będą o tym wiedzieć.
FTP ma inne ograniczenia, które sprawiają, że praca z nim jest niezwykle niewygodna. Na przykład, nie można usuwać katalogów. Trzeba usuwać wszystkie pliki pojedynczo, a dopiero potem sam katalog.
Ponadto FTP nie obsługuje znaków specjalnych. Istnieją pewne sposoby, aby nadal z nich korzystać, ale te tymczasowe rozwiązania nieuchronnie spowodują problemy w pracy.
Duże problemy z prywatnością. W FTP dane uwierzytelniające są przesyłane w postaci niezaszyfrowanej. Nazwa użytkownika i hasło są przesyłane w postaci zwykłego tekstu, który może zostać odczytany przez każdego, kto jest w stanie przechwycić ruch sieciowy.
Same dane również nie są szyfrowane. Dlatego też wysyłanie jakichkolwiek poufnych informacji za pośrednictwem FTP jest wysoce niepożądane.
W przypadku, gdy nadal konieczne jest korzystanie z protokołu FTP, należy zwrócić szczególną uwagę na ochronę połączenia z Internetem. To temat na osobny artykuł, ale przynajmniej lepiej nie korzystać z publicznych sieci Wi-Fi i używać VPN, najlepiej na własnym serwerze.
Bezpieczna alternatywa dla FTP - SFTP
Oczywiście istnieje kilka alternatyw. Wspomnijmy o najbardziej optymalnym wariancie z nich. Jest nim SFTP (SSH File Transfer Protocol). Jego najbardziej oczywistą zaletą jest bezpieczeństwo i szyfrowanie danych.
Inne zalety SFTP obejmują:
-
wstrzymywanie i wznawianie przesyłania danych,
-
całkowite zatrzymanie transferu plików,
-
możliwość wykonywania podstawowych poleceń administracyjnych,
-
transfer metadanych.
Korzystanie z SSH w ramach protokołu SFTP zapewnia następujące korzyści:
-
Uwierzytelnianie klienta i serwera. Uwierzytelnianie SSH opiera się na parze kluczy publicznych i prywatnych. Pozwala to dokładnie określić, czy klient żądający połączenia z serwerem jest legalny.
-
Szyfrowanie danych. Dostępne są typy RSA, DSA i inne.
-
Transmisja danych przez pojedynczy port, co zmniejsza prawdopodobieństwo ataku MITM.
Tak więc jedynym powodem, dla którego FTP jest nadal popularny i używany, jest siła przyzwyczajenia. Ale ten nawyk powinien zostać przełamany. I przejść na SFTP.