SSH File Transfer Protocol (SFTP) to protokół służący do bezpiecznego przesyłania plików. W odróżnieniu od tradycyjnego FTP, SFTP opiera się na protokole SSH (Secure Shell), co zapewnia pełne szyfrowanie transmisji danych. Dzięki temu możliwe jest bezpieczne przesyłanie danych nawet przez niezaufane sieci. Ponadto, SFTP pozwala na autoryzację użytkowników za pomocą kluczy SSH (np. ED25519, RSA), co dodatkowo zwiększa poziom bezpieczeństwa. W artykule omówimy podstawowe koncepcje, aktualne zastosowania oraz zasady działania protokołu SFTP.

 

Jak działa SFTP?

SFTP to bezpieczny protokół do przesyłania plików, który działa w oparciu o SSH – nie należy go mylić z FTPS, który korzysta z SSL/TLS. Po stronie klienta nawiązywane jest szyfrowane połączenie z serwerem, które może być uwierzytelnione za pomocą loginu i hasła, ale znacznie bezpieczniejsze jest wykorzystanie pary kluczy SSH.

Po zestawieniu połączenia możliwe są operacje takie jak:

  • przesyłanie i pobieranie plików,
  • usuwanie i zmiana nazw plików,
  • listowanie katalogów,
  • zmiana uprawnień dostępu.

 

Wszystkie te operacje są szyfrowane w locie. Dzięki temu minimalizowane jest ryzyko przechwycenia danych przez osoby trzecie. SFTP jest obecnie powszechnie wykorzystywany w administracji systemami, backupach, transferach danych między aplikacjami i integracjach CI/CD.

 

Czy szukasz wykonawcy projektów IT ?
logo

Bezpieczeństwo w SSH File Transfer Protocol

SFTP zapewnia integralność, poufność i uwierzytelnienie, wykorzystując mechanizmy SSH. Dzięki pełnemu szyfrowaniu zarówno danych, jak i kanału sterującego, jest znacznie bezpieczniejszy od klasycznego FTP.

Obecnie zalecane są następujące mechanizmy bezpieczeństwa:

  • klucze ED25519 lub RSA 3072+/4096-bit (DSA nie jest już bezpieczny),
  • silne algorytmy szyfrowania, np. AES-GCM, ChaCha20-Poly1305,
  • wyłączenie starszych protokołów i algorytmów (np. SHA-1).

 

Korzystanie z SSH File Transfer Protocol do przesyłania plików

SFTP wykorzystuje port 22, co ułatwia jego obsługę w zaporach sieciowych i politykach bezpieczeństwa. Jest wspierany praktycznie przez wszystkie systemy operacyjne i dostępny w narzędziach takich jak WinSCP, FileZilla, Cyberduck, OpenSSH czy Rclone.

SFTP jest szczególnie przydatny w:

  • zautomatyzowanych systemach backupu,
  • transmisji danych między środowiskami produkcyjnymi a deweloperskimi,
  • przesyłaniu plików wsadowych w systemach bankowych, logistycznych i ERP.

SSH File Transfer Protocol

SSH File Transfer Protocol vs FTP

FTP to przestarzały protokół, który nie oferuje natywnego szyfrowania i działa na wielu portach. To sprawia, że jest podatny na:

 

SFTP z kolei:

  • korzysta z pojedynczego portu (22),
  • zapewnia pełne szyfrowanie transmisji,
  • obsługuje zarządzanie plikami i uprawnieniami,
  • umożliwia uwierzytelnienie za pomocą kluczy.

 

W środowiskach, gdzie bezpieczeństwo danych ma kluczowe znaczenie, SFTP jest zdecydowanie preferowaną technologią.

 

 

Konfiguracja SSH File Transfer Protocol

Aby skonfigurować SFTP, należy:

  1. Wygenerować parę kluczy SSH (ssh-keygen),
  2. Dodać klucz publiczny do pliku ~/.ssh/authorized_keys na serwerze,
  3. Ustawić odpowiednie uprawnienia do katalogów i plików,
  4. (Opcjonalnie) wyłączyć logowanie hasłami dla zwiększenia bezpieczeństwa.

 

Dobrą praktyką jest także:

  • stosowanie oddzielnych kont systemowych dla użytkowników SFTP,
  • ograniczanie dostępu do katalogów (chroot, internal-sftp),
  • logowanie operacji plikowych.

 

Alternatywy dla SSH File Transfer Protocol w przesyłaniu plików

Choć SFTP jest jedną z najlepszych opcji, w niektórych przypadkach można rozważyć alternatywy:

  • FTPS (FTP over SSL/TLS) – obsługuje szyfrowanie, ale wymaga skomplikowanej konfiguracji portów i certyfikatów.
  • WebDAV – protokół HTTP/HTTPS do zdalnego zarządzania plikami; często wykorzystywany w aplikacjach chmurowych.
  • SCP (Secure Copy Protocol) – prosty i szybki, ale nie wspiera zaawansowanego zarządzania plikami.
  • Rclone – narzędzie do synchronizacji danych z systemami chmurowymi, obsługuje SFTP, WebDAV, Google Drive, S3 i inne.
  • SFTP Gateway – rozwiązanie, które pozwala użytkownikom przesyłać pliki przez SFTP do zasobów chmurowych (np. AWS S3) bez potrzeby korzystania z lokalnych serwerów.

Nasza oferta

Powiązane artykuły

Zobacz wszystkie artykuły powiązane z #Security