[zorp-hu] Inbandrouter nyug ;)
Ifj. Darvas Istvan
zorp-hu@lists.balabit.hu
Fri, 27 Feb 2004 11:48:15 +0100
Sziasztok,
> hat a setServerAddress override-olasa elegge belepiszkit a Zorp altal
> elkepzelt dolgokba (mondhatni a setServerAddress egy 'internal'
> interface), amit lehet ugyan modositani, de ott kell lebegjen egy "Don't
> mess with this unless you know what you are doing"
Igazabol azt szeretnem csinalni, hogy van nekm 2 gepem is, es az egyik gep
a domain1.hu-t szolgalja ki, a masik gep meg a domain2.hu-t es ezek tuzfal
mogott vannak. Ha jon a keres https-en, akkor belenezve itt is a forgalomba
el tudjam donteni egy inband routerrel, hogy hova kuldjem a csomagokat.
HTTP mar megy, de a HTTPS-es nem ;( , mert nem igazan ertem, hogy hogyan
tudnek requestet ellnorzni a HTTPS-nek a pssl proxy-jaba agyazott http
proxy-ban ;)
Ezzel probalkoztam, de ez nem jo ;)
class TESTHTTPS(PsslProxy):
class EmbeddedHttp(HttpProxy):
def config(self):
HttpProxy.config(self)
self.request["GET"] =
(HTTP_REQ_POLICY,self.filterURL)
self.request["POST"] =
(HTTP_REQ_POLICY,self.filterURL)
domain2_url = re.compile('domain1.hu')
def filterURL(self, method, url, version):
if (self.domain2_url.search(url)):
self.session.server_address =
SockAddrInet("192.168.2.101", 443)
return HTTP_REQ_ACCEPT
return HTTP_REQ_ACCEPT
def config(self):
PsslProxy.config(self)
self.client_need_ssl = TRUE
self.client_cert = "/etc/zorp/cert/zorp.crt"
self.client_key = "/etc/zorp/cert/zorp.key"
self.client_verify_type = SSL_VERIFY_NONE
self.server_need_ssl = TRUE
self.server_key = "/etc/zorp/cert/https/serv.key"
self.server_cert = "/etc/zorp/cert/https/serv.crt"
self.server_verify_type = SSL_VERIFY_NONE
self.stack_proxy = self.EmbeddedHttp
self.session.server_address = SockAddrInet("192.168.1.101",
443)
def setServerAddress(self, host, port):
return TRUE
En ugy gondolkodta, de buiztosan rosszul ;( hogy ha default erteknek a
pssl-ben megadom az 1.101-et es belenezve a http proxyval a forgalomba,
megtalaom a domain2-t, akkor a cimet kicserelve a proxy-ban mar
megisoldottam az iranyitast ;)
Szoval a kerdesem az lenne, hogy ezt hogyan kell megcsinalni?
Udv,
Istvan