FTP, co oznacza Protokół Przesyłania Plików, to standardowy protokół sieciowy używany do przesyłania plików komputerowych między klientem a serwerem w sieci opartej na protokole TCP/IP, takiej jak Internet.
Na końcu artykułu znajdziesz mały test to ci pozwoli oceniać wiedzę zdobytą w tej lekturze
FTP umożliwia bezpieczne przesyłanie plików z jednej lokalizacji do drugiej, a także umożliwia zarządzanie plikami na serwerze.
W FTP dostępne są dwa tryby połączenia: Aktywny FTP i Pasywny FTP.
Aktywny FTP
W aktywnym FTP połączenie jest inicjowane od klienta do portu poleceń na serwerze. Gdy klient żąda przesłania pliku, serwer inicjuje połączenie danych z powrotem do klienta.
Przepływ informacji w Aktywnym FTP odbywa się w następujący sposób:
- Klient łączy się z losowego portu (N) z portem 21 na serwerze (port dla FTP) i wysyła polecenie PORT do serwera. To polecenie informuje serwer, z którym portem się połączyć (port N+1).
- Gdy serwer otrzyma to polecenie, łączy się ze swojego portu danych (zwykle portu 20) z portem określonym przez klienta (N+1) i rozpoczyna przesyłanie danych.
Zalety aktywnego FTP
- Ułatwia konfigurację serwera: Aktywny FTP jest łatwiejszy do skonfigurowania po stronie serwera, ponieważ wystarczy otworzyć i nasłuchiwać tylko jednego portu (port 21).
Wady aktywnego FTP
- Problemy z zaporą sieciową: Klienci za zaporą często napotykają problemy z aktywnym FTP. Dzieje się tak dlatego, że zapora uznaje połączenie danych inicjowane przez serwer jako niechciane i blokuje je.
- Wymagania bezpieczeństwa: Może to stanowić zagrożenie bezpieczeństwa, ponieważ serwer inicjuje połączenie danych z klientem, co może zostać wykorzystane przez osobę atakującą.
Krótko mówiąc, aktywny FTP jest przydatny i łatwy w konfiguracji od strony serwera. Może jednak powodować problemy z zaporami sieciowymi klientów i stwarzać pewne zagrożenia bezpieczeństwa.
Z tych powodów wiele organizacji decyduje się na korzystanie z pasywnego FTP, który choć może być trudniejszy do skonfigurowania na serwerze, ma mniej problemów z zaporami ogniowymi i zapewnia lepszą kontrolę nad połączeniami danych.
Aktywny protokół FTP jest zwykle używany w następujących scenariuszach
Serwery z rygorystycznymi ograniczeniami zapory sieciowej: Jeśli serwer FTP znajduje się za zaporą sieciową ze ścisłymi zasadami bezpieczeństwa, które ograniczają porty, których można używać dla połączeń przychodzących, aktywny FTP może być realną opcją, ponieważ wystarczy otworzyć i nasłuchiwać na porcie 21.
Ograniczenia zasobów serwera: W trybie Active FTP serwer musi tylko otworzyć i nasłuchiwać jednego portu dla wszystkich połączeń danych. Może to być korzystne, jeśli serwer ma ograniczone zasoby i nie może obsłużyć otwierania wielu portów zgodnie z wymaganiami pasywnego FTP.
Kontrola sieci: Niektórzy administratorzy sieci mogą preferować aktywny FTP, ponieważ pozwala na większą kontrolę nad połączeniami danych. W trybie Active FTP serwer inicjuje połączenie danych, co oznacza, że administratorzy mogą mieć większą kontrolę nad przesyłaniem danych.
Pasywne FTP
Pasywny FTP został zaprojektowany, aby przezwyciężyć problemy zapór sieciowych i routerów w aktywnym połączeniu danych FTP. W przeciwieństwie do aktywnego FTP, w pasywnym FTP to klient inicjuje oba połączenia (połączenie poleceń i połączenie danych) z serwerem.
Przepływ informacji w pasywnym FTP wygląda następująco:
- Klient łączy się z losowego portu (N) z portem 21 na serwerze (port FTP) i wysyła Komenda PASV do serwera. To polecenie informuje serwer, że znajduje się w trybie pasywnym i oczekuje na odpowiedź od serwera z portem połączenia danych.
- Serwer odpowiada z portu 21 na port N klienta, udostępniając port nieuprzywilejowany (większy niż 1023) do odbioru połączenia danych.
- Następnie klient inicjuje drugie połączenie z innego losowego portu (N+1) do nieuprzywilejowanego portu określonego przez serwer. Po nawiązaniu połączenia rozpoczyna się przesyłanie danych.
Zalety pasywnego FTP
- Pokonywanie problemów z zaporami sieciowymi i routerami: Zapory sieciowe i routery zazwyczaj umożliwiają połączenia inicjowane przez klienta, zatem w przypadku pasywnego protokołu FTP zazwyczaj nie występują problemy z zaporą sieciową, które występują w przypadku aktywnego protokołu FTP.
- Rozszerzona ochrona: Ponieważ klient inicjuje wszystkie połączenia, ryzyko ataków z serwera jest mniejsze.
Wady pasywnego FTP
- Bardziej złożona konfiguracja serwera: W przypadku pasywnego FTP serwer musi być w stanie zapewnić i otworzyć wiele nieuprzywilejowanych portów dla połączeń danych, co może być trudniejsze w konfiguracji i zarządzaniu niż w przypadku aktywnego FTP.
- Zwiększone obciążenie serwera: Ponieważ serwer musi obsługiwać wiele połączeń inicjowanych przez klienta, może wymagać większej ilości zasobów serwera.
Podsumowując, pasywny FTP zapewnia rozwiązanie problemów z zaporą ogniową, które często występują w przypadku aktywnego FTP, a także może zapewnić większe bezpieczeństwo. Jednakże konfiguracja na serwerze może być trudniejsza i może wymagać większych zasobów serwera.
Pasywny FTP jest zwykle używany w następujących scenariuszach
Klienci za zaporą sieciową: Pasywny FTP jest przydatny, gdy klient znajduje się za zaporą sieciową, która nie pozwala na połączenia przychodzące. W trybie pasywnego FTP to klient inicjuje wszystkie połączenia, dlatego zapory zwykle zezwalają na te połączenia.
NAT (tłumaczenie adresów sieciowych): Jeśli klient znajduje się za NAT, może mieć problemy z aktywnym FTP, ponieważ NAT może nie wiedzieć, jak obsłużyć połączenie danych inicjowane przez serwer. Pasywny FTP pozwala uniknąć tego problemu, ponieważ wszystkie połączenia są inicjowane przez klienta.
bezpieczeństwo: Niektóre organizacje mogą preferować pasywny FTP ze względów bezpieczeństwa. Ponieważ wszystkie połączenia są inicjowane przez klienta, ryzyko ataków z serwera jest mniejsze.
Transmisja danych na dużą skalę: Pasywny FTP może obsłużyć dużą liczbę jednoczesnych transferów danych, ponieważ każdy transfer ma własne połączenie danych. Może to być korzystne w scenariuszach, w których potrzebnych jest wiele jednoczesnych transferów danych.
Przykłady konfiguracji na urządzeniu Cisco
Konfiguracja aktywnego FTP
W tym przypadku zdefiniowałeś interfejs, z którego router inicjuje połączenia FTP, a także podałeś nazwę użytkownika i hasło używane do połączeń FTP.
Router(config)# ip ftp source-interface FastEthernet 0/0
Router(config)# ip ftp username myusername
Router(config)# ip ftp password 0 mypassword
Pasywna konfiguracja FTP
Polecenie „ip ftp Passive” konfiguruje router tak, aby korzystał z pasywnego FTP zamiast aktywnego FTP. Nazwę użytkownika i hasło do połączeń FTP można skonfigurować w taki sam sposób, jak w przypadku aktywnego FTP.
Router(config)# ip ftp passive
Przykłady konfiguracji na urządzeniu MikroTik
Konfiguracja aktywnego FTP
To polecenie „fetch” inicjuje transfer pliku z routera MikroTik (klienta) na serwer FTP. Tryb domyślny to Aktywny FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
Pasywna konfiguracja FTP
Po dodaniu opcji „pasywne: tak” polecenie „fetch” będzie używać pasywnego FTP zamiast aktywnego FTP.
[admin@MikroTik] /tool fetch> print
mode: ftp
address: 192.168.88.1
src-path: myfile.txt
user: myusername
password: mypassword
port: 21
passive: yes
Tabela porównawcza trybów połączenia aktywnego i pasywnego FTP
Aktywny FTP | Pasywne FTP | |
---|---|---|
Zaleta | 1. Łatwiejsza konfiguracja na serwerze: wystarczy otworzyć i nasłuchiwać tylko jeden port. | 1. Mniej problemów z zaporami sieciowymi i NAT, ponieważ klient inicjuje wszystkie połączenia. |
2. Mniejsze zapotrzebowanie na zasoby serwera: Serwer musi otworzyć i nasłuchiwać tylko jednego portu. | 2. Poprawia bezpieczeństwo, ponieważ wszystkie połączenia są inicjowane przez klienta. | |
3. Większa kontrola sieci: Serwer inicjuje połączenia danych. | 3. Może obsłużyć dużą liczbę jednoczesnych transferów danych, ponieważ każdy transfer ma własne połączenie danych. | |
Wady | 1. Problemy z zaporami sieciowymi i NAT po stronie klienta: mogą blokować połączenie danych inicjowane przez serwer. | 1. Bardziej złożona konfiguracja na serwerze: należy zapewnić i otworzyć wiele portów. |
2. Możliwe zagrożenia bezpieczeństwa: Serwer inicjuje połączenie danych z klientem. | 2. Zwiększone zapotrzebowanie na zasoby serwera: Serwer musi obsłużyć wiele połączeń inicjowanych przez klienta. |