[zorp-hu] red hat

Balazs Scheidler bazsi@balabit.hu
Mon, 28 May 2001 14:12:33 +0200


> mas
> Ha mar irtam akkor nekem is lenne kerdesem.
> Elore elnezest a Balabit-es csapattol, de nehez szovegunek tartom a PDF
> file-t amit program hasznalatahoz adnak.
> Tudna valaki -akar privatba is- egy gyors osszefoglalast adni a hasznalatrol
> es fokent a konfiguralasrol.

a dokumentacio olvasmanyossagan mar dolgozunk. a gyors osszefoglalo pedig:

1. legyen egy mukodokepes linuxod, legalabb ket (v. tobb) halokartyaval
2. a kernelben szukseges dolgok: csomagszuro (ipchains v. netfilter,
   egyenlore az elso az ajanlottabb), transparent proxy support
   * a transparens proxy-hoz kell be kell kapcsolni az ip_forward nevu
     sysctl valtozot a /proc/sys/net/ipv4 konyvtarban.
3. szukseges az ipchains beallitasa a kovetkezok figyelemben tartasaval:
   * minden defaultbol -j DENY -l (= logolja az eldobott csomagot)
   * csomagokat semmikeppen se tovabbitson a gep (forward default policy
     DENY, esetleg meg egy rule ami logolja a forwardolando csomagokat)
   * a transzparens szolgaltatasoknak szukseges egy port a tuzfalon,
     amire az atmeno forgalmat REDIRECT-tel kell ravinni, ezt a portot
     kozvetlenul nem szabad elerni, mert akkor vegtelen ciklusba kerulhet
     a Zorp.

Ha a fentiek megvannak, akkor kezdodhet a Zorp konfiguralasa. Itt a lenyeg
az, hogy

1. Meg kell csinalni a tuzfal kornyezetet leiro zonadefiniciokat.
2. Ha ez megvan, definialni kell a Zorp peldanyokat. Barmelyik peldany
   barmilyen szolgaltatasokat atvihet, akar egy peldany is csinalhat
   mindent. Az ok, amiert szet lehet/erdemes szabdalni az az, hogy ha
   valamelyiket ujra kell inditani (konfig valtas miatt pl.), akkor az nem
   erinti a teljes tuzfalat.
3. Peldanyonkent definialni kell az egyes szolgaltatasokat (Service), es a
   hozza tartozo/ot indito listenereket.

Az importalas reszt a policy tetejen egyenlore legegyszerubb atmasolni
valamelyik peldabol. (a 0.9-es faban ez a resz egyszerusodott). Egy
minimalis Zorp policy:

InetZone('intranet', '192.168.0.0/24',
	 inbound_services=[],
	 outbound_services=['http'])
InetZone('internet', '0.0.0.0/0',
	 inbound_services=['http'],
	 outbound_services=[])

def intra():
	Service('http', TransparentChainer(), HttpProxy)
	Listener(SockAddrInet('192.168.0.1', 50080), 'http')

ehhez kell meg a file elejen egy import resz, illetve egy olyan csomagszuro,
ami a tuzfalon az athaladni kivano HTTP forgalmat a helyi 50080 portra
tovabbitja, valahogy igy:

ipchains -A input -p tcp -d 0/0 80 -j REDIRECT 50080

persze figyelni kell arra, hogy a tuzfalnak szolo ill a kozvetlenul a tuzfal
50080 portjanak szolo forgalmat letiltsuk.

ha valamelyik lepessel gond van, kerdezzetek nyugodtan.

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1