[zorp-hu] 1.4rc11 config / pssl szivas
Balazs Scheidler
bazsi@balabit.hu
Thu, 8 Nov 2001 12:41:29 +0100
On Thu, Nov 08, 2001 at 10:17:39AM +0100, Narancs v1 wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> Szóval upgradeltem 0.8.8-as zorpomat a fenti verzióra és több órás szívás
> után (ugye végig kellet böngészni a .py fájlokat a szintaktika kedvéért)
> nagyjából rájöttem az új policy.py formátumára.
>
> A mellélkelt sample is elég szűkszavú szerintem.
raadasul hibak is voltak benne. ezt frissitettem.
>
> Mindenesetre a balabitről letölthető deb csomagokból hiányzott a
> Matcher.py, ami viszont az src-ben benne volt, uh. copy.
ok, attettem a .deb-be is.
> Az SSL még most se jött össze, tudna valaki egy működő http/ssl konfigot
> küldeni 1.4rc11-hez?
>
> Tegyük fel, hogy van 1 rakás user a localnet-en, akiknek minden CA és
> trusted cert korlátozás nélkül internet https-t akarok proxyzni.
>
> Megcsináltam a tf kliensek felé mutatott certjeit,
>
> class IntraHttps(PsslProxy):
>
> class EmbeddedHttp(HttpProxy):
> def config(self):
> HttpProxy.config(self)
> # self.strict_header_checking = 0
> self.request_headers["User-Agent"] = [HTTP_CHANGE_VALUE, "Lynx/2.8.3rel.1"]
>
> def config(self):
> self.server_need_ssl = TRUE
> self.server_verify_type = SSL_VERIFY_REQUIRED_UNTRUSTED
> # self.server_ca_directory = '/etc/zorp/cas.certs'
> self.server_ca_directory = '/etc/zorp/ca.crt'
> self.server_cert = '/etc/zorp/server.crt'
>
> self.client_need_ssl = TRUE
> self.client_cert = '/etc/zorp/server.crt'
> self.client_key = '/etc/zorp/server.key'
> self.client_verify_type = SSL_VERIFY_NONE
> self.stack_proxy = self.EmbeddedHttp
>
> Most ebben a felállásban a *_NONE-ra azt modja hogy hülyeség ilyen attr
> nincs, persze a pssl.py-ben + van.
> Érdekes módon a server_verify_type-ra nem rinyál. A client-re írhatok
> akármit, nem teccik neki.
>
> Szóval megköszönnék 1 kis segítséget ez ügyben.
hogyan importalod a modulok tartalmat? a python-ban ketfele import letezik:
1. import <modulnev>
ilyenkor a <modulnev> mint azonosito letrejon, es ezek utan tudsz a modul
valotozira hivatkozni <modulnev>.<valtozonev> neven. tehat ha ezt latod:
import Http
akkor mukodni fog a Http.HTTP_REQ_ACCEPT mint hivatkozas.
2. from <modulnev> import <azonosito> vagy from modulnev import *
ilyenkor az <azonosito> bekerul a lokalis namespace-be, es kozvetlenul
hivatkozhatsz ra:
from Http import *
eseten a HTTP_REQ_ACCEPT hivatkozas mukodik a modul specko nelkul is.
Az 'uj' policy.py-ban annyi tortent, hogy az egyszerusites kedveert a
a 2. format preferaljuk az 1. helyett. Ha megnezed az 1.4-es policy.py
elejet:
from Zorp.Core import *
from Zorp.Http import *
from Zorp.Plug import *
from Zorp.Ftp import *
mig regebben itt egy tizegynehany soros import resz volt. Ezert tunt el a
modulnev az azonositokbol.
Tehat nezd meg, hogy milyen modon importalod a Pssl-t, es igy kiderul, hogy
Pssl.SSL_VERIFY_NONE kell neked, vagy csak egyszeruen SSL_VERIFY_NONE
A konfigodra visszaterve:
> def config(self):
> self.server_need_ssl = TRUE
> self.server_verify_type = SSL_VERIFY_REQUIRED_UNTRUSTED
> # self.server_ca_directory = '/etc/zorp/cas.certs'
> self.server_ca_directory = '/etc/zorp/ca.crt'
> self.server_cert = '/etc/zorp/server.crt'
>
> self.client_need_ssl = TRUE
> self.client_cert = '/etc/zorp/server.crt'
> self.client_key = '/etc/zorp/server.key'
> self.client_verify_type = SSL_VERIFY_NONE
> self.stack_proxy = self.EmbeddedHttp
a kliens oldali beallitasok teljesen jok (felteve ha a modul hivatkozasok
jok) a szerver oldalra nem kell a server_cert (hiszen nem csinalsz kliens
cert authot a szerver oldalon)
> Más: az filter izé url loggolás nem megy, mer ha bekapcsolom, akkor mindig
> policyviolation.html-t kapok.
> # def filterURL(self, method, url, version):
> # return Z_REJECT here to reject this request
> # change self.request_url to redirect to another url
> # change connection_mode to HTTP_CONNECTION_CLOSE to force kept-alive connections to close
> # log("http.info", 3, "%s: GET: %s" % (self.session.session_id, url))
opsz, ide kell egy
return HTTP_REQ_ACCEPT
sor
>
> Ezzel is volt szívás, mert régen Http.HTTP_POLICY volt, most pedig ez a
> "Htpp." eltűnt.
sot a HTTP_POLICY az deprecated, most mar a HTTP_REQ_POLICY a divatos.
> Ja és a user agent felülbírálást ki kellett kapcsolnom, mert a usereket
> kidobálta a hotmail és 1éb ms site, hogy az ő böngészőjük nem jó.
> Van 1éb ötlet, hogy mire írjam át, modjuk mozilla/linux :-) ?
;) szerintem vagj ki egy exploder version stringet es etesd meg vele jol.
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1