Do przesyłania plików na stronę wybierz przede wszystkim protokół z szyfrowaniem: SFTP albo FTPS. FTP przesyła pliki między klientem a serwerem, ale nie korzysta z warstwy TLS ani SSL. SFTP szyfruje dane za pomocą klucza szyfrującego, a FTPS korzysta z TLS lub SSL i wymaga certyfikatu.
Spis treści
Najważniejsze różnice między FTP, FTPS i SFTP
| Protokół | Szyfrowanie | Porty i połączenia | Kiedy go wybrać |
|---|---|---|---|
| FTP | Brak wskazanej warstwy TLS lub SSL | Domyślnie port 20 służy do przesyłania danych, a port 21 do połączenia kontrolnego | Gdy środowisko obsługuje wyłącznie FTP i nie przesyłasz danych wymagających ochrony |
| FTPS | Szyfrowanie TLS lub SSL | Połączenie kontrolne oraz dodatkowe szyfrowane połączenie do przesyłania danych | Gdy klient lub hosting wymaga FTP z certyfikatem i obsługą TLS albo SSL |
| SFTP | Dane są szyfrowane za pomocą klucza szyfrującego | Nie korzysta z serwera FTP | Gdy dostępna jest obsługa SFTP i chcesz przesyłać pliki przez szyfrowane połączenie |
Opis działania FTP, w tym portów 20 i 21, znajduje się w artykule Protokoły – FTP. Informacje o szyfrowaniu FTPS zawiera artykuł Protokoły – FTPS, a opis SFTP znajduje się na stronie Protokoły – SFTP.
Kiedy wybrać SFTP?
SFTP jest właściwym wyborem, gdy aplikacja do obsługi plików i serwer udostępniają ten protokół. SFTP oznacza SSH File Transfer Protocol. Służy do przesyłania plików przez sieć, a dane są chronione kluczem szyfrującym. Ochrona obejmuje hasła i dane przesyłane podczas połączenia.
Ważną cechą SFTP jest to, że nie wymaga serwera FTP. Dlatego w ustawieniach klienta wybierz pozycję SFTP, a nie FTP z dodatkowym szyfrowaniem. Te protokoły działają w odmienny sposób i nie są zamiennymi nazwami tej samej usługi.
Kiedy wybrać FTPS?
Wybierz FTPS, jeśli konfiguracja serwera lub aplikacji wskazuje na FTP Secure, TLS albo SSL. FTPS jest rozszerzeniem FTP. Używa kanału kontrolnego, a następnie otwiera nowe szyfrowane połączenie do przesyłania danych. Do działania wymaga certyfikatu.
Jeśli aplikacja pokazuje osobno tryb explicit i implicit, nie należy wybierać ich przypadkowo. Oba określenia dotyczą sposobu uruchomienia szyfrowania w ramach FTPS, ale poprawna opcja musi odpowiadać ustawieniom serwera. Gdy dostawca podaje konkretny tryb, port lub wymagany certyfikat, użyj dokładnie tych wartości.
Kiedy FTP może być właściwy?
FTP jest podstawowym protokołem przesyłania plików między klientem a serwerem. Obsługuje przesyłanie w obu kierunkach: z serwera do klienta oraz z klienta do serwera. Domyślnie wykorzystuje port 20 do przesyłania danych i port 21 do połączenia kontrolnego.
Wybór FTP ma sens tylko wtedy, gdy jest to jedyna opcja udostępniona dla danego połączenia i charakter przesyłanych danych pozwala na użycie tego protokołu. Jeśli klient pokazuje SFTP lub FTPS, wybierz protokół szyfrowany.
Jak wybrać protokół w aplikacji do plików?
- Sprawdź listę protokołów dostępnych w aplikacji oraz wymagania serwera.
- Wybierz
SFTP, jeśli serwer udostępnia SFTP. - Wybierz
FTPS, jeśli konfiguracja wymaga TLS lub SSL. Jeżeli aplikacja pyta o tryb explicit albo implicit, zastosuj tryb wskazany przez serwer. - Wybierz
FTPtylko wtedy, gdy serwer nie udostępnia szyfrowanego wariantu i ten sposób połączenia jest wymagany. - Sprawdź port podany dla wybranego protokołu. Porty 20 i 21 opisane dla FTP nie oznaczają automatycznie poprawnej konfiguracji SFTP lub FTPS.
Nie zamieniaj nazw protokołów w polu konfiguracji. SFTP nie wymaga serwera FTP, natomiast FTPS jest rozszerzeniem FTP i korzysta z certyfikatu. Z tego powodu ustawienia, które działają dla FTP, nie muszą działać dla SFTP ani FTPS.
Rekomendacje dla typowych scenariuszy
- Przesyłanie plików strony przez szyfrowane połączenie: wybierz SFTP, jeśli jest dostępne.
- Serwer wymaga TLS, SSL lub certyfikatu: wybierz FTPS i ustaw wskazany tryb połączenia.
- Klient pokazuje wyłącznie FTP: użyj FTP z portem 20 dla danych i 21 dla połączenia kontrolnego, zgodnie z konfiguracją tego protokołu.
- Nie wiesz, czy wybrać FTP czy SFTP: wybierz SFTP, jeśli jest dostępne, ponieważ szyfruje dane i nie wymaga serwera FTP.
Podsumowanie
Do nowych konfiguracji wybierz SFTP, gdy hosting i aplikacja je obsługują. FTPS będzie odpowiedni, gdy wymagane są FTP oraz szyfrowanie TLS lub SSL. FTP pozostaw dla połączeń, w których nie ma dostępnego wariantu szyfrowanego i konfiguracja serwera wymaga właśnie tego protokołu.
