[zorp-hu] http hiba?

Balazs Scheidler bazsi@balabit.hu
Wed, 4 Apr 2001 09:57:29 +0200


On Wed, Apr 04, 2001 at 09:34:34AM +0200, Kosa Attila wrote:
> Hello!
> A kovetkezo uzenetet talaltam a logban:
> 
> Traceback (innermost last):
> File "/usr/share/zorp/pylib/Zorp/Plug.py", line in 107, in requestStack
> if self.stack_proxy != None:
> AttributeError: stack_proxy
> 
> A verzio 0.7.15-1.
> Szukseg van meg valamire?

igen. egy upgrade-re :) mar egy ideje kint van a 0.8.1-es, azt tedd fel
szerintem.

> Lenne egy kerdesem is: azt meg lehet csinalni, hogy akit
> nem enged ki a Zorp (http es ftp protokollon), annak
> adjon egy weblapot? Ezen fel lehetne tuntetni, hogy
> (peldaul) tiltott szamara a webezes.

http-nel termeszetesen igen, hiszen kaphat egy weblapot, csak ehhez a
szolgaltatast engedelyezned kell neki (tehat outband_services-ben
szerepelnie kell a HTTP szolgaltatasnak), majd a HTTP proxy policy-jeben
kell letiltanod pl igy:

#lehetoseg 1

class MyHttp(HttpProxy):
	def config(self):
		HttpProxy.config(self)
		self.request["GET"]  = (Http.HTTP_POLICY, self.checkClient)
		self.request["POST"] = (Http.HTTP_POLICY, self.checkClient)
		self.request["HEAD"] = (Http.HTTP_POLICY, self.checkClient)

	def checkClient(self, method, url, version):
		# ha le tudod fedni a klienseket cimtartomannyal
		if self.session.client_address < InetDomain('192.168.1.0/25'):
			# nem engedett IP
			return Z_DENY

#lehetoseg 2

class MyHttp(HttpProxy):
	def config(self):
		HttpProxy.config(self)
		self.request["GET"]  = (Http.HTTP_POLICY, self.checkClient)
		self.request["POST"] = (Http.HTTP_POLICY, self.checkClient)
		self.request["HEAD"] = (Http.HTTP_POLICY, self.checkClient)
		self.allowed_clients = { "192.168.1.5":1, "192.168.1.7":1 }

	def checkClient(self, method, url, version):
		# csinalsz egy hash-t, ami azokat az ip-ket tartalmazza,
		# akinek engedelyezett
		try:
			if self.allowed_clients[self.session.client_address.ip_s]:
				return Z_ACCEPT
		except KeyError:
			pass
		return Z_DENY


ftp-nel kicsit nehezkesebb weblapot visszaadni, hiszen az nem http. Itt
hasonlokeppen meg lehet oldani, hogy magat a szolgaltatast engeded, de
bizonyos cimeket rogton letiltasz mondjuk a USER parancsnal, vagy rogton a
config esemenyben.

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