[zorp-hu] Virtual HTTPS

Balazs Scheidler bazsi@balabit.hu
Wed, 21 Aug 2002 13:33:18 +0200


On Wed, Aug 14, 2002 at 10:11:03PM -0700, Ifj. Darvas Istvan wrote:
> sziasztok,
> 
> a kovetkezo dolgot szeretnem megcsinalni, de nem igazan tudom, hogy
> hogyan lehetne vagy hogy van-e ra lehetoseg:
> 
> Adott a tuzfal gep es mogotte a vedeni kivant szerver. Ezen fut egy
> apache tobb virtual host-al, amig nem tettem ele a zorp-ot, addig minden
> site-hoz kulon csinltam egy cert-et es igy a kliensnel, ha egyszer
> elfogadta az en CERT-em, akkor utana mar nem irt ki semmit a bongeszo
> emberke explorere - a site neve nem stimmel - hanem siman rament a
> site-ra. De most, hogy a ZORP az apache elott van igy kicsit bonyolodott
> a helyzet.
> 
> kicsit melle beszeltem az elejen, mert van egy mod, amire magamtol is
> rajotteml, de esetleg letezik egy hatekonyabb....en arra jottem ra, ha
> minden Site-hoz csinalok egy HTTPS Proxy-t amiben a megfelelo kulcsokat
> beallitom, akkor mukodik megint. de nekem kicsit tobb mint 30 Virtual
> Host-om van es igy a konfig file merete - szerintem feleslegesen -
> nagyra not plusz gondolom - ehhez mar vegkep nem ertek - memoria is
> feleslegesen van pocsekolva.
> 
> Szoval a kerdesem az lenne, hogy tudnam GPL-es eszkozokkel feloldani ezt
> a problemat?

ha tudod a kapcsolat indulasakor, hogy melyik kulcsot szeretned mutatni,
akkor egyszeruen a PsslProxy config eventjeben a megfelelo cert-kulcs part
allitod be.

Pl:

class MySSL(PsslProxy):
	def config(self):
		if self.session.server_address.ip_s == 'xxx.xxx.xxx.xxx':
			self.client_key_file = '/etc/zorp/key1.pem'
			self.client_cert_file = '/etc/zorp/cert1.pem'
		elif self.session.server_address.ip_s = 'yyy.yyy.yyy.yyy':
			self.client_key_file = '/etc/zorp/key2.pem'
			self.client_cert_file = '/etc/zorp/cert2.pem'
		...

Nyilvan az egyeb beallitasaidon felul. ha nagyon sok kulcs-vhost parod van,
akkor az ip-kulcs osszerendelest teheted tombbe is, akkor nyilvan a fenti
reszlet egy ciklusra egyszerusodik.

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