Jeśli przesyłasz pliki przez FTP, jest coś, o czym powinieneś wiedzieć: standardowy FTP wysyła nazwę użytkownika, hasło i każdy plik w postaci całkowicie niezaszyfrowanej. Każdy w tej samej sieci może zobaczyć wszystko za pomocą podstawowych narzędzi do przechwytywania pakietów. To nie jest ryzyko teoretyczne. Podatności w transferach plików doprowadziły do niektórych z największych naruszeń danych w ostatnich latach.

Dobra wiadomość: zabezpieczenie transferów nie jest skomplikowane. Wystarczy używać właściwego protokołu i przestrzegać kilku zasad.

Dlaczego zwykły FTP stanowi problem

FTP został zaprojektowany w 1971 roku, na długo przed tym, gdy bezpieczeństwo internetu stało się kwestią wartą uwagi. Przesyła wszystko w postaci jawnej, łącznie z danymi logowania. W kawiarni z Wi-Fi, przy skompromitowanym routerze lub nawet w korporacyjnej sieci z nieuczciwym aktorem, Twoje pliki i hasła są w pełni narażone.

Nie chodzi tylko o prywatne pliki. W 2023 roku podatność w platformie MOVEit dotknęła ponad 3000 organizacji i szacunkowo 100 milionów użytkowników. W 2024 roku platforma SFTP firmy Finastra została skompromitowana, potencjalnie narażając dane banków na całym świecie. W 2025 roku krytyczne podatności w Wing FTP Server i CrushFTP były aktywnie wykorzystywane w praktyce.

Wzorzec jest wyraźny: transfer plików to wartościowy cel ataku, a używanie niezaszyfrowanych protokołów czyni go trywialnie łatwym do wykorzystania.

SFTP vs FTPS vs FTP: którego używać

SFTP (SSH File Transfer Protocol) to najlepszy wybór dla większości użytkowników. Szyfruje wszystko przez jedno połączenie SSH na porcie 22. Obsługuje uwierzytelnianie kluczem (bez haseł przesyłanych przez sieć), a jego architektura jednokanałowa upraszcza konfigurację zapory sieciowej. Jeśli masz wybór, używaj SFTP.

FTPS (FTP przez TLS) dodaje szyfrowanie SSL/TLS do oryginalnego protokołu FTP. Jest bezpieczny przy prawidłowej konfiguracji, ale dziedziczy dwukanałową architekturę FTP (oddzielne połączenia sterowania i danych), co komplikuje reguły zapory sieciowej i translację adresów NAT. Wymaga też zarządzania certyfikatami SSL. Używaj FTPS, gdy serwer nie oferuje SFTP.

Zwykły FTP powinien być używany tylko w izolowanych sieciach wewnętrznych, gdzie ruch nigdy nie trafia do internetu. Nawet wtedy zastanów się, czy SFTP nie byłby równie łatwy do skonfigurowania.

Używaj uwierzytelniania kluczem SSH

Hasła można odgadnąć, wyłudzić lub przechwycić. Klucze SSH są kryptograficznie silne i praktycznie niemożliwe do złamania metodą brute-force. Klucz RSA 4096-bitowy lub klucz Ed25519 zapewnia bezpieczeństwo, z którym żadne hasło nie może się równać.

Aby wygenerować klucz na Macu, otwórz Terminal i uruchom:

ssh-keygen -t ed25519 -C "twoj-email@przyklad.pl"

To tworzy parę kluczy w ~/.ssh/. Dodaj klucz publiczny do autoryzowanych kluczy serwera. Następnie skonfiguruj klienta FTP (lub FTPull/FTPush), aby używał klucza prywatnego zamiast hasła.

Aby zachować hasło klucza w Pęku kluczy macOS (bez konieczności wpisywania go za każdym razem):

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Przechowywanie danych uwierzytelniających na Mac

Ważne jest, gdzie przechowujesz dane uwierzytelniające FTP. Niektóre aplikacje przechowują hasła w plikach konfiguracyjnych lub plikach preferencji jako zwykły tekst. Jeśli złośliwe oprogramowanie lub nieupoważniony użytkownik uzyska dostęp do Twojego Maca, te dane są natychmiast skompromitowane.

Bezpiecznym podejściem jest używanie Pęku kluczy macOS, który szyfruje dane uwierzytelniające i chroni je hasłem logowania do Maca. FTPSuite przechowuje wszystkie dane uwierzytelniające połączeń w Pęku kluczy, a nie w plikach aplikacji. Korzysta to z wbudowanego szyfrowania i kontroli dostępu Apple.

Pamiętaj, że infostealer'y dla Mac (jak Atomic Stealer i Banshee) celowo atakują dane Pęku kluczy. Żeby się chronić: aktualizuj macOS, włącz szyfrowanie dysku FileVault, używaj silnego hasła logowania i zachowaj ostrożność przy pobieraniu z nieznanych źródeł.

Lista kontrolna najlepszych praktyk

Jak FTPSuite podchodzi do bezpieczeństwa

FTPSuite (FTPull i FTPush) jest zaprojektowany z myślą o tych praktykach:

Bezpieczeństwo Twoich transferów plików zależy od protokołu, który wybierasz, i od tego, jak zarządzasz danymi uwierzytelniającymi. Narzędzia istnieją. Korzystaj z nich.