FTP to przestarzała technologia
Protokół FTP jest powszechny ze względu na swoją prostotę i dostępność. Jednakże, wymaga on aktualizacji i zwiększenia bezpieczeństwa. Tutaj wyjaśniamy, dlaczego należy z niego zrezygnować.
Problemy w architekturze FTP
Ogólnie rzecz biorąc, FTP nie posiada wymaganego na dzisiejszym Internecie poziomu bezpieczeństwa, a ogólna konstrukcja protokołu jest nieodpowiednia dla współczesnego Internetu. Został opracowany w latach 70. XX wieku, kiedy wymagania wobec technologii były bardzo różne od dzisiejszych. Dowiedzmy się czegoś więcej o jego konstrukcji.
FTP działa na dwóch kanałach: kanale poleceń i kanale danych. Kanał danych posiada dwa tryby transmisji – aktywny i pasywny.
Różnica między trybem aktywnym a pasywnym polega na tym, po czyjej stronie inicjowane jest nawiązanie 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 ten tryb nie jest odpowiedni ze względu na specyfikę ustawień translacji adresów (NAT) po stronie domowych dostawców Internetu, co uniemożliwi nawiązanie przychodzącego połączenia z urządzeniem klienta.
Wady FTP
Aby przesłać jakikolwiek plik poprzez FTP, klient i serwer muszą wymyślić bardzo dużą liczbę komunikatów. Prowadzi to do straty dużej ilości czasu i zasobów.
Opóźnienia występują nie tylko na poziomie FTP, ale także na poziomie TCP, ponieważ transfer każdego poszczególnego pliku wymaga otwarcia nowego połączenia TCP. Jeśli musisz przesłać więcej niż „kilka” plików, jest to niezwykle niewygodne.
Innym problemem jest to, że nie można sprawdzić, czy transfer zakończył się pomyślnie. Serwer nie zna nawet rozmiaru pliku. Jeśli coś nie zostanie załadowane podczas transferu, ani klient, ani serwer się o tym nie dowiedzą.
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 indywidualnie, a następnie usunąć sam katalog.
Ponadto FTP nie obsługuje znaków specjalnych. Istnieje kilka sposobów, aby nadal z nich korzystać, ale te tymczasowe rozwiązania nieuchronnie spowodują problemy w pracy.
Istnieją również poważne problemy z prywatnością. W FTP dane uwierzytelniające są przesyłane w sposób niezaszyfrowany. Nazwa użytkownika i hasło są przesyłane w postaci czystego tekstu, który może być odczytany przez każdego, kto jest w stanie przechwycić ruch sieciowy.
Same dane również nie są szyfrowane. Dlatego też, nie jest zalecane przesyłanie żadnych poufnych informacji za pomocą FTP.
W przypadku, gdy nadal musisz korzystać z protokołu FTP, należy zwrócić szczególną uwagę na ochronę połączenia z Internetem. Jest to temat na osobny artykuł, ale przynajmniej lepiej unikać publicznych sieci Wi-Fi i korzystać z VPN, najlepiej na własnym serwerze.
Bezpieczna alternatywa dla FTP - SFTP
Oczywiście istnieje kilka alternatyw. Porozmawiajmy o najlepszej z nich. Jest to SFTP (SSH File Transfer Protocol). Jego najbardziej oczywistą zaletą jest bezpieczeństwo i szyfrowanie danych.
Inne zalety SFTP obejmują:
-
pauza i wznawianie transferu danych,
-
całkowite zatrzymanie transferu plików,
-
możliwość wykonywania podstawowych poleceń administracyjnych,
-
transfer metadanych.
Korzystając z SSH w ramach protokołu SFTP, uzyskujesz następujące korzyści:
-
Uwierzytelnianie klienta i serwera. SSH uwierzytelnia na podstawie pary kluczy publicznego i prywatnego. Pozwala to dokładnie określić, że klient żądający połączenia z serwerem jest legalny.
-
Szyfrowanie danych. Dostępne są RSA, DSA i inne rodzaje.
-
Transmisja danych przez pojedynczy port zmniejsza prawdopodobieństwo ataku typu MITM.
Zatem jedynym powodem, dla którego FTP jest nadal popularny i używany, jest przyzwyczajenie. Ale tego przyzwyczajenia należy się pozbyć. I przełączyć się na SFTP.