[zorp-hu] Re: [tproxy] tproxy 2.6.10+
Pásztor Lénárd Zoltán
lenard.pasztor at wonderline.hu
Fri Jun 24 14:10:45 CEST 2005
Ha jol ertem amit irtal akkor 2 https proxyra van szuksegem.
Igy a configom erre valtozott:
# HTTP Proxy
class HTTPProxy(HttpProxy):
def config(self):
HttpProxy.config(self)
# HTTPS Proxy - Listener
class HTTPSListener(PsslProxy):
def config(self):
PsslProxy.config(self);
self.copy_to_server = TRUE;
self.copy_to_client = TRUE;
self.client_need_ssl = TRUE;
self.server_need_ssl = FALSE;
self.shutdown_soft = TRUE;
self.client_verify_type = SSL_VERIFY_NONE;
self.server_verify_type = SSL_VERIFY_NONE;
self.client_cert = "/etc/zorp/certs/test.crt";
self.client_key = "/etc/zorp/keys/test.key";
# HTTPS Proxy - Worker
class HTTPSWorker(PsslProxy):
def config(self):
PsslProxy.config(self);
self.copy_to_server = TRUE;
self.copy_to_client = TRUE;
self.client_need_ssl = FALSE;
self.server_need_ssl = TRUE;
self.shutdown_soft = TRUE;
self.client_verify_type = SSL_VERIFY_NONE;
self.server_verify_type = SSL_VERIFY_NONE;
self.client_cert = "/etc/zorp/certs/test.crt";
self.client_key = "/etc/zorp/keys/test.key";
# Instance definition
def reverse_http():
Service(
"http",
HTTPProxy,
router=InbandRouter(forge_addr=TRUE),
resolver=DNSResolver()
)
Service(
"https",
HTTPSListener,
router=InbandRouter(forge_addr=TRUE),
chainer=SideStackChainer(
HTTPProxy,
SideStackChainer(HTTPSWorker)
)
)
Listener(SockAddrInet('10.3.6.253', 1200), "http")
Listener(SockAddrInet('10.3.6.253', 1201), "https")
Igy szeretnem:
SSL Client -> HTTPSListener -> HTTPProxy -> HTTPSWorker -> SSL Server
Mostmar eljut a keres az SSL Server-hez, csak ahogy nezem a 80-as portja
jon be a 443 helyett.
Tenyleg? Honnan tudja a Zorp, hogy melyik portra csatlakozzon (ok ha az
url-ben nincs megadva akkor
default 80, 443). Meg lehet ezt kulon adni?
Gondolom itt nem az lesz a baj, hogy kulon meg kene adnom. Felek meg
mindig hibas a config.
>Melléstackelés esetén (SideStackChainer) az SSL proxy kimenete fog
>bekerűlni a mögötte lévő Proxyba. Vagyis Ha a self.server_need_ssl TRUE,
>akkor az SSL proxy titkosítja a tartlamat (legalábbis megpróbálja :) )
>és azt kapja meg a Http Proxy. Ez egyiküknek sem jó. Éppen ezért, ha a
>szerver oldalon titkosított kapcsolatot szeretnél, akkor SSL szendvicset
>kell csinálnod. Ráadásul ilyenkor nem stack-elünk az SSL-be semmit,
>tehát nem kell e self.stack_proxy, mert így szegény Http proxy kétszer
>is fog találkozni az adattal.
>
>Vagyis SSL --- Http --- SSL formában.
>
>Es az első SSL-nél a szerver oldal ne legyen titkosított, a másodiknál a
>kliens oldal.
>
>Ja és a chainer definíció:
>chainer=SideStackChainer(ReverseHostHttpProxy, SideStackChainer(RightSSLProxy))
>
>
>
More information about the zorp-hu
mailing list