[BSD] ftp kliens PF mogott
Zahemszky Gábor
Gabor at Zahemszky.HU
2010. Sze. 23., Cs, 20:39:07 CEST
Szia!
> Úgy néz ki, találtam a probléma elfedése helyett egy jobb megoldást:
>
> pfctl -s all | more
> FILTER RULES:
> scrub in all fragment reassemble
> block return in all
> pass out all flags S/SA keep state
Hát persze - az előző szabályrendszeredben alig pár portra engedtél
kifele forgalmat, ebben viszont kapcsolatfelépítést ( flags
S/SA ) bárhova, majd ezek után a keep state miatt már bejöhet a
válaszcsomag is (és ugyanezen kapcsolatkövetés miatt normálisan minde,
ami ehhez a session-höz tartozik.
> Ezt csak azért idéztem be, lássátok, tényleg működik egy PF tűzfal.
> Tehát működik a data csatorna is. Rövid a pf.conf, de elsőre csak az
> ftp-re vonatkozó sorokat illesztem be:
>
> pass in quick on $ext_if proto tcp from any to ($ext_if) port 21
> pass in quick on $ext_if proto tcp from any to ($ext_if) port > 49151
> pass in quick on $ext_if proto tcp from any port > 10000 to ($ext_if)
Ennek semmi köze a dologhoz, lévén ezekre a szabályokra már nincs is
szükség a fenti pass out ... sor miatt. Az már csak hab a tortán, hogy
nem látom, hogy miért is engedsz be a saját ftp-szerver portodra -
remélem nem azért, mert azt hiszed, annak van köze az ftp-kliens
(nem-)működéséhez.
Zahy < Gabor at Zahemszky dot HU >
Ui: némi értelmezési zűröket érzek, javaslom elolvasni a zsniális
IPFilter Howto-t ( http://www.obfuscation.org/ipf/ ) - ne zavarjon,
hogy az még az eredeti IPFilter-hez készült. Mivel a PF ennek (azaz a
Darren Reed-féle IPFilternek) eredendően azonos szabályhalmazt
értelmező klónjaként jött létre, amit abban leírnak, az 99%-ban
teljesen hasznos lesz PF-hez is. Ráadásul eléggé szájbarágósan írja le
a dolgokat.
--
#!/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