Pasivni prenos FTP - co to presne znamena?

Michal.Vymazal na deltax.cz Michal.Vymazal na deltax.cz
Čtvrtek Listopad 30 08:58:26 CET 2000



Zdravim
Narazil jsem na to pri stavbe domaciho firewallu. Pravda, do ftp bych to nerekl,
ssh je celkem jasny "zaletnik".
Vyresil jsem to tak, ze do firewall skriptu jsem pridal nasledujici radky.

# Logovat vsechny prichozi SYN pakety
# (SYN plati pouze pro TCP)
#ipchains -A input -p TCP -i $EXTERNAL_INTERFACE -s ! $LOOPBACK_INTERFACE -d
0.0.0.0/0 -y -l
# Jen pro externi rozhrani
#
ipchains -A input -p TCP -s ! $LOOPBACK_INTERFACE -d 0.0.0.0/0 -y -l
# Pro vsechna rozhrani

a jeste:
ipchains -A input -p TCP -i $EXTERNAL_INTERFACE -s ! $LOOPBACK_INTERFACE -d
0.0.0.0/0 1024:65535 -y -j DENY -l
# zakazat TCP SYN pakety na portech 1024:65535 pro ppp0

parametr EXTERNAL_INTERFACE obsahuje vyraz ppp0   (u mne tedy modem)
parametr LOOPBACK_INTERFACE obsahuje IP adresu lo, tedy 127.0.0.1
staci zakazat jen prichozi SYN pakety, muzte je samozrejme zakazat pro porty
0:65535, ale to zatim nemam odzkouseno.
Ted staci jen vzit fire-waller (hezky skriptik v Perlu, ktery vyzobe zalogovane
pakety z /var/log/messages a zanese je do html souboru)
a prohlednout si hlaseni.

Myslim, ze ted uz se to ftp prizna, kde ze to vlastne vsude skotaci.
Michal Vymazal




     Zdravim,

     do dneska jsem mel za to, ze vim, co to je pasivni mod prenosu u FTP,
lec praxe vyleci cloveka skoro ze vseho..:)

Takze (overeno na Linux RH 6.2 s tamnim FTP klientem):

ftp a.b.c provede konekteni na stroj a.b.c port 21, fine
naloguju se, jako prvni dam 'pass', cimz prepnu FTP do pasivniho rezimu.
Nyni:
ls
a co nevidim...:
ftp> ls
227 Entering Passive Mode (147,251,48,205,238,60)

Komu se to nechce pocitat jedna se o ftp.linux.cz:60988

A ja se tazi - chyba je na me strane (opet jsem neco neznal) nebo je
chyba v implementaci nebo kde? Ja mel za to, ze klient pri pasivnim modu
neotevira zadny dalsi port a komunikuje primo po std. (tedy 21) - k cemu
pak mame u aktivniho modu port 20?

Je mi jasne, ze pak takovy prenos neprojde pres striktni firewall... co
tedy s tim (nechci zbytecne otevirat nepotrebne porty)? Pro dany stroj
mam zhruba tato pravidla:
ACCEPT     *    ------  <stroj>/32           0.0.0.0/0              *
->   *
ACCEPT     tcp  ------  0.0.0.0/0            <stroj>/32             21
->   *
ACCEPT     icmp ------  0.0.0.0/0            <stroj>/32             *
->   *
ACCEPT     udp  ------  0.0.0.0/0            <stroj>/32             53
->   *
REJECT     all  ------  0.0.0.0/0            0.0.0.0/0             n/a

coz bohuzel pro FTP nestaci ani pro pasivni prenos:-(








Další informace o konferenci Linux