[BSD] ftp kliens PF mogott

Zahemszky Gábor Gabor at Zahemszky.HU
2010. Sze. 21., K, 23:05:45 CEST


Tue, 21 Sep 2010 22:41:51 +0200 -n
Gabor HALASZ <halasz.g at freemail.hu> írta:

> 2010.09.21. 22:10 keltezéssel, Zahemszky Gábor írta:
> >> Az ls parancsnál hasal el, a cd, pwd működik.
> >
> > K rég volt, de az ftp bizony két csatornát használ, és ha jól tudom,
> 
> Nem a ket csatornanak van jelentossege, a csatornak iranyanak,

Teljesen igazad van, sajnos nem sikerült ilyen értelmesen leírnom.

> passive modban csak egy  ujabb kapcsolatot nyit a kliens a szerver
> altal ajanlott high portra. Jelen esetben a mar emlegetett problema

Szerintem itt a lényeg: a kliens akar egy második kapcsolatot nyitni,
ellenben a tűzfalszabályok miatt nem mehet tetszőleges portra.

> > Aki használ pf-et, az majd elárulja, hogy hogyan kell az ftp-data
> > csatornát is kiengedni, de bizony a túlságosan szigorú szabályodhoz
> > az ftp csodálatosan tervezett) protokolja sajnos nem illeszkedk.
> 
> Passive mode-ban sehogyan, leven a pf statefull. Active modeban pedig 

???

> tcp_services = "{ssh, sftp, smtp, pop3, ftp, domain, ntp, www, https}"
> pass out on $ext_if proto tcp to any port $tcp_services

csak bizonyos portokra enged kifelé a tűzfal. Én arról beszélek, hogy
mi módon tudom megmondani a pf-nek, hogy ha már az ftp-portra egy
konkrét géphez kiengedett, akkor onnantól kezdve figyelje a forgalmat
és utána a "related" (vagy hogy mondják netfilterül) kapcsolathoz
nyissa meg ideiglenesen a tűzfalat.

Sztem azért nem nagyon talált a kérdező értelmes (és működő) választ a
neten, mert többségében azért kifelé mindent szoktak ezekben a gyári
tűzfalszabályokban engedélyezni, így a passzív ftp-hez tartozó
kifelekapcsolódással nincs gond.

Zahy < Gabor at Zahemszky dot HU >

-- 
#!/bin/ksh
#
# See my GPG key at http://www.Zahemszky.HU
#
Z='21N16I25C25E30, 40M30E33E25T15U!';
IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ ';
set -- $Z;for i;{ [[ $i = ? ]]&&print $i&&break;
[[ $i = ??? ]]&&j=$i&&i=${i%?};
typeset -i40 i=8#$i;print -n ${i#???};
[[ "$j" = ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};
IFS=' 0123456789 ';set -- $Z;for i;{ [[ $i = , ]]&&i=2;
[[ $i = ?? ]]||typeset -l i;j="$j $i";typeset +l i;};print "$j"



További információk a(z) BSD levelezőlistáról