Protokoły przesyłania plików

FTP (ang. File Transfer Protocol)

Protokół transferu plików, protokół komunikacyjny typu klient-serwer, wykorzystujący połączenie TCP, umożliwiający dwukierunkowy transfer plików w układzie serwer FTP–klient FTP. FTP jest zdefiniowany przez IETF w dokumencie RFC 959 . FTP jest protokołem 8-bitowym i dlatego nie wymaga kodowania danych do 7 bitów, tak jak w przypadku poczty elektronicznej.

Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem sterującym, za pomocą którego przesyłane są polecenia, a drugie służy do transmisji danych. Połączenie za pomocą protokołu FTP (krótko: połączenie FTP) może działać w dwóch trybach: aktywnym i pasywnym: jeżeli połączenie FTP działa w trybie aktywnym, używa portu 21 dla poleceń (zestawiane przez klienta) i portu 20 do przesyłu danych (zestawiane przez serwer).

Jeżeli połączenie FTP pracuje w trybie pasywnym, używa portu 21 dla poleceń i portu o numerze powyżej 1024 do transmisji danych (obydwa połączenia zestawiane są przez klienta). W sieciach chronionych zaporą sieciową komunikacja z serwerami FTP wymaga zwolnienia odpowiednich portów na tej zaporze lub routerze. Serwer FTP, zależnie od konfiguracji, może pozwalać na anonimowy (czyli bez podawania hasła uwierzytelniającego) dostęp do jego zasobów. Najczęściej jednak serwer FTP autoryzuje każde połączenie za pomocą loginu i hasła.

FTPS (FTP Secure / FTP-SSL)

Rozszerzenie protokołu File Transfer Protocol (FTP), umożliwiające wsparcie dla szyfrowanych protokołów Transport Layer Security (TLS) oraz Secure Sockets Layer (SSL). FTPS nie powinien być mylony z niekompatybilnym protokołem SSH File Transfer Protocol (SFTP), stanowiącym podsystem dla protokołu SSH. Różni się on też od protokołu Secure FTP, stosowanego jako tunelowanie FTP poprzez połączenie SSH (FTP over SSH'). FTPS używa portu 990 TCP dla kontroli przesyłu oraz 989 TCP dla transferu danych w trybie aktywnym.

SFTP (ang. SSH File Transfer Protocol)

Protokół komunikacyjny typu klient-serwer, który umożliwia przesyłanie plików poprzez sieć TCP/IP. przesyłając plik przy użyciu protokołu FTP uzyskujemy dobre przepływności, ale nie zyskujemy bezpieczeństwa – nasze hasła i dane nie są szyfrowane podczas przysyłania, co potencjalnie stwarza zagrożenie ich kradzieży. znaczną poprawę bezpieczeństwa przynosi protokół SFTP, który nie wymaga obecności serwera FTP, a przesyłane dane są szyfrowane z wykorzystaniem klucza szyfrującego. SFTP nie powinien być mylony z protokołem FTPS, który jest rozszerzeniem protokołu FTP.

Czym różni się FTP od FTPS i SFTP?

Używanie protokołu FTP ma jedną poważną wadę – dane wysyłane tym protokołem są niezaszyfrowane. Oznacza to, że można podejrzeć zawartość pakietów wysyłanych do serwera, w tym także pakietów zawierających nasz login i hasło do FTP. Zatem przy korzystaniu z protokołu FTP istnieje realne ryzyko wycieku naszych danych dostępowych do serwera.

Dużo bezpieczniej skorzystać z protokołu FTPS (FTP Secure i FTP-SSL) – działa on jak protokół FTP z tą różnicą, że wysyłane pakiety są szyfrowane. Dzięki temu podejrzenie danych wysyłanych w pakietach jest bardzo utrudnione lub wręcz niemożliwe.

FTPS jest z kolei często mylony z SFTP (SSH File Transfer Protocol) – tak naprawdę to dwa zupełnie różne rodzaje komunikacji, których częścią wspólną jest szyfrowanie pakietów. W protokole FTPS szyfrowaniu poddawane są tylko login i hasło.

SFTP działa tak naprawdę jak połączenie SSH z serwerem. Zaletą SFTP jest możliwość wykorzystania przy autoryzacji kluczy publicznych zamiast haseł. Dzięki temu możemy zamiast wielu haseł do różnych serwerów korzystać ze swojego klucza.W porównaniu do protokołu FTP oraz FTPS protokół SFTP zapewnia szyfrowanie zarówno przesyłanych danych, jak i samego loginu i hasła.

Wspomniane protokoły różnią się też wykorzystywanym portem:

FTP korzysta z portów 20 i 21,

FTPS korzysta z portów 989 i 990,

SFTP korzysta z portu 22.

Protokół przesyłania poczty e-mail

SMTP (ang. Simple Mail Transfer Protocol)

Protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie. Standard został zdefiniowany w dokumencie RFC 821 ↓, a następnie zaktualizowany w 2008 roku w dokumencie RFC 5321

SMTP to względnie prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Demon SMTP działa najczęściej na porcie 25. Łatwo przetestować serwer SMTP przy użyciu programu telnet.

Jednym z ograniczeń pierwotnego SMTP jest brak mechanizmu weryfikacji nadawcy, co ułatwia rozpowszechnianie niepożądanych treści poprzez pocztę elektroniczną (wirusy komputerowe, spam). Żeby temu zaradzić stworzono rozszerzenie SMTP-AUTH, które jednak jest tylko częściowym rozwiązaniem problemu - ogranicza wykorzystanie serwera wymagającego autoryzacji do zwielokrotniania poczty. Nadal nie istnieje metoda, dzięki której odbiorca uwierzytelniłby nadawcę – nadawca może "udawać" serwer i wysłać dowolny komunikat do dowolnego odbiorcy.

Protokół odbierania poczty e-mail

Post Office Protocol ( POP )

Jest standardowym protokołem internetowym warstwy aplikacji używanym przez klientów poczty e-mail do pobierania wiadomości e-mail z serwera pocztowego. Wersja POP 3 ( POP3 ) jest powszechnie używaną wersją. Post Office Protocol zapewnia dostęp za pośrednictwem sieci protokołu internetowego (IP) aplikacji klienckiej użytkownika do skrzynki pocztowej ( zrzut poczty ) utrzymywanej na serwerze pocztowym. Protokół obsługuje operacje pobierania i usuwania wiadomości. Klienci POP3 łączą się, pobierają wszystkie wiadomości, przechowują je na komputerze klienckim i ostatecznie usuwają z serwera.Ten projekt protokołu POP i jego procedur był spowodowany potrzebą użytkowników posiadających tylko tymczasowe połączenia internetowe, takie jak dostęp telefoniczny , umożliwiający tym użytkownikom pobieranie poczty e-mail po połączeniu, a następnie przeglądanie i manipulowanie pobranymi wiadomościami w trybie offline.

IMAP (ang. Internet Message Access Protocol)

Internetowy protokół pocztowy zaprojektowany jako następca POP3. W przeciwieństwie do POP3, który umożliwia jedynie pobieranie i kasowanie poczty, IMAP pozwala na zarządzanie wieloma folderami pocztowymi oraz pobieranie i operowanie na listach znajdujących się na zdalnym serwerze.

Zalety protokołu IMAP w stosunku do POP3

IMAP pozwala na dwa tryby działania: połączeniowy i bezpołączeniowy. W przypadku protokołu POP, klient zazwyczaj podłączony jest do serwera na tyle długo, na ile trwa pobieranie wiadomości. W przypadku IMAP klient często utrzymuje połączenie dopóki interfejs użytkownika jest uruchomiony, żeby móc pobierać wiadomości na żądanie. W przypadku kont pocztowych posiadających wiele bądź duże wiadomości, tego rodzaju strategia może skutkować niższym czasem reakcji.

Protokół POP wymaga, aby w tym samym czasie do danego konta pocztowego podłączony był jeden klient. IMAP pozwala równocześnie podłączać się wielu klientom. Dostarcza mechanizmy pozwalające wykryć zmiany dokonane przez inne podłączone w tym samym czasie stacje klientów.

Dzięki IMAP IDLE wiadomości mogą być przesyłane do klientów bezpośrednio po dostarczeniu na serwer, bez konieczności ręcznego odpytywania serwera (push e-mail).

W protokole IMAP fragmenty wiadomości elektronicznej są opisane za pomocą standardu MIME. IMAP umożliwia pobieranie wskazanych części wiadomości elektronicznej, niekoniecznie całej wiadomości. Tak więc można pobrać jedynie tekst bez konieczności pobierania załączników (zdjęć, dokumentów, które opisane są każde z osobna przez standard MIME, jako osobne części wiadomości). Możliwe jest też częściowe pobieranie określonych przez MIME fragmentów wiadomości.

Protokół IMAP implementuje system flag określających status wiadomości w taki sposób, że każdy z podłączonych klientów widzi zmiany statusów dokonane przez innych klientów. Flagi określają m.in.: czy wiadomość została przeczytana, skasowana, czy udzielona została na nią odpowiedź. Status flag zapisywany jest na serwerze.

Niektóre z serwerów IMAP pozwalają na przyporządkowanie do wiadomości jednego, bądź większej ilości predefiniowanych znaczników (tags), których znaczenie interpretowane jest przez klienty pocztowe. Dodawanie znaczników (tagów) wiadomościom jest wspierane przez niektórych dostawców poczty oferujących dostęp z poziomu przeglądarki, np. gmail.

IMAP pozwala na posiadanie wielu folderów na jednym koncie pocztowym. Klienty IMAP są w stanie tworzyć, zmieniać nazwę oraz kasować foldery w skrzynkach pocztowych na serwerze. Mogą też przenosić wiadomości między folderami. Możliwy jest również dostęp do folderów publicznych i współdzielonych.

IMAP pozwala wykonywać przeszukiwanie skrzynki pocztowej po stronie serwera. Zatem zadanie wyszukiwania może być przetwarzane przez serwer pocztowy, nie przez klienta. Działanie takie nie wymusza pobierania wszystkich wiadomości. Korzystając z doświadczeń wcześniej rozwijanych protokołów, IMAP jasno definiuje sposoby dzięki którym może być rozszerzany.