Erinevus lehekülje "FTP kasutamine OpenBSD paketifiltriga" redaktsioonide vahel
Allikas: Kuutõrvaja
(→Passiivne ftp) |
(→Sissejuhatus) |
||
1. rida: | 1. rida: | ||
===Sissejuhatus=== | ===Sissejuhatus=== | ||
− | + | FTP protokoll on leivinud andmevahetuse protokoll, mille üheks iseärasuseks on kahe töörežiimi kasutamine | |
+ | |||
+ | * passiivne - tundub, et 2009 aastal kasutatakse reegline passiivset režiimi, nt brauserid kasutavad seda vaikimisi | ||
+ | * aktiivne - nn legacy režiim, mida brauseritega ei saagi kasutada, kuid ftp kliendid saab lülitada käima ka aktiivses režiimis | ||
===Tööpõhimõte=== | ===Tööpõhimõte=== |
Redaktsioon: 19. detsember 2009, kell 15:02
Sisukord
Sissejuhatus
FTP protokoll on leivinud andmevahetuse protokoll, mille üheks iseärasuseks on kahe töörežiimi kasutamine
- passiivne - tundub, et 2009 aastal kasutatakse reegline passiivset režiimi, nt brauserid kasutavad seda vaikimisi
- aktiivne - nn legacy režiim, mida brauseritega ei saagi kasutada, kuid ftp kliendid saab lülitada käima ka aktiivses režiimis
Tööpõhimõte
Passiivne ftp
klient server ___ ___ | |-------- internet ----------| | |___| |___| 41999/tcp (suvaline) -----> 21/tcp 42999/tcp (suvaline) -----> 21000/tcp (kokkulepitud)
- esmalt algatab klienti kontrollkanali ühenduse serveri 21/tcp porti, seda ühendust mööda liiguvad ftp käsud, ls, cd, pwd jt ning lepitakse kokku andmevahetuse kanali port
- seejärel algatab klient andmevahtuse pidamiseks ühenduse serveri 21000/tcp porti, mille kasutamine lepiti kontrollkanalil kokku
Aktiivne ftp
klient server ___ ___ | |-------- internet ----------| | |___| |___| 41999/tcp (suvaline) -----> 21/tcp 21000/tcp (kokkulepitud) <----- 42999/tcp (suvaline)
- esmalt algatab klienti kontrollkanali ühenduse serveri 21/tcp porti, seda ühendust mööda liiguvad ftp käsud, ls, cd, pwd jt ning lepitakse kokku andmevahetuse kanali port
- seejärel algatab server andmevahtuse pidamiseks ühenduse kliendi 21000/tcp porti, mille kasutamine lepiti kontrollkanalil kokku
ftp kliendi tulemüür
Tulemüüri tagant privaatset aadressi kasutava ftp kliendi vahendamine avalikus võrgus töötavale ftp serverile
Passiivne režiim
___ ftp klient | | 10.0.22.254 |___| | --|-- ... -----|-- | _|_ 10.0.22.190 ftp-proxy | | tulemüür |___| | 10.0.21.190 | --|---- .. .... internet .. --|-- _|_ | | ftp server |___| 192.168.109.132:21
Aktiivne režiim
ftp serveri tulemüür
Avalikust võrgust ftp kliendi vahendamine tulemüüri taga privaatset aadressi kasutavale ftp serverile
Passive režiim
Avalikust võrgust ftp kliendi vahendamist tulemüüri taga privaatset aadresse kasutavale ftp serverile kujutab selline skeem
___ ftp klient | | |___| | --|------------|-- | _|_ | | |___| | | --|---------------|-- _|_ | | ftp server |___|
Aktiive režiim
Aktiivse andmevahetuse režiimi puhul toimuvad ftp protokolli seisukohalt põhimõtteliselt sellised sündmused
- ftp klient loob oma suvaliselt pordilt ühenduse serveri 21/tcp pordile ja ütleb muu seas serverile, millisel pordil ta ootab serveri poolt pöördumist
- serveri pöördub andmevahetuseks kokkulepitud kliendi pordile
Tulemüüri kasutamisel lisandub kliendi ja serveri vahele rakenduskihi vahendaja (ingl. k. proxy)
___ ftp klient | | 192.168.51.222 |___| | --|-- ... -----|-- | _|_ 192.168.109.132:21 | | ftp-proxy, tulemüür |___| | 10.0.6.1 | --|---------------|-- _|_ | | ftp server |___| 10.0.6.9
ftp liikluse vahendamisel toimuvad sellised sündmused
- ftp-proxy on käivitatud kuulama avalikul ip aadressil 192.168.109.132 ja 21/tcp pordil näidates lisaks reaalse ftp serveri ip aadressi 10.0.6.9
/usr/sbin/ftp-proxy -R 10.0.6.9 -p 21 -b 192.168.109.132
- kliendi pöördumisel tekitatase sellise sisuga ankur
# pfctl -a ftp-proxy/4741.110 -vvvsr @0 pass in inet proto tcp from 10.0.6.9 to 192.168.51.222 port = 57908 flags S/SA keep state (max 1) rtable 0 @1 pass out inet proto tcp from 192.168.109.132 to 192.168.51.222 port = 57908 flags S/SA keep state (max 1) rtable 0 # pfctl -a ftp-proxy/4741.110 -vvvsn @0 nat inet proto tcp from 10.0.6.9 to 192.168.51.222 port = 57908 rtable 0 -> 192.168.109.132 [ Evaluations: 4212 Packets: 470896 Bytes: 444415756 States: 1 ] [ Inserted: uid 71 pid 4741 State Creations: 1 ] @0 rdr inet proto tcp from 10.0.6.9 to 10.0.6.1 port = 65269 rtable 0 -> 192.168.51.222 port 57908 [ Evaluations: 7267 Packets: 470896 Bytes: 444415756 States: 1 ] [ Inserted: uid 71 pid 4741 State Creations: 1 ]
Liikluse prioritiseerimine
TODO