-----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. Mindenesetre a balabitrõl letölthetõ deb csomagokból hiányzott a Matcher.py, ami viszont az src-ben benne volt, uh. copy. Kár, hogy nincs egy jó policy.py howto. A pylib/* fájlokban böngészve viszont jó kommenteket találtam. - ------------ 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. - -------------------------- Más: az filter izé url loggolás nem megy, mer ha bekapcsolom, akkor mindig policyviolation.html-t kapok. class IntraHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = TRUE #self.request_headers["User-Agent"] = (HTTP_CHANGE_VALUE, "Lynx/2.8.3rel.1") # self.request["GET"] = (HTTP_POLICY, self.filterURL) # self.strict_header_checking = 0 # self.parent_proxy = "proxy.site.net" # self.parent_proxy_port = 3128 # self.timeout = 60000 # self.max_keepalive_requests = 10 # 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)) - -- Szóval ezzel mit csináljak, hogy tudam végre loggolni az url-eket? Ezzel is volt szívás, mert régen Http.HTTP_POLICY volt, most pedig ez a "Htpp." eltûnt. 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 :-) ? Köszi mindent! - ------------------------- Narancs v1 IT Security Administrator "Security of information is an illusion. What is in one's mind gets into the collective consciousness (akasha), so that can be read with meditation ;-) You don't have to hack. Just 'remember'! You're the one." -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjvqTbYACgkQGp+ylEhMCIV7XgCfdoh6y4fEeBToX9J8guwIkrd3 vz8AnivNxFxYbxOpa9OGVR/xVdoY2Z5c =hroL -----END PGP SIGNATURE-----
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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 8 Nov 2001, Balazs Scheidler wrote:
On Thu, Nov 08, 2001 at 10:17:39AM +0100, Narancs v1 wrote:
A mellélkelt sample is elég szûkszavú szerintem. raadasul hibak is voltak benne. ezt frissitettem. pl. be akarta importalni a kommersz proxykat is, asszem.
ok, attettem a .deb-be is. koszi!
hogyan importalod a modulok tartalmat? a python-ban ketfele import letezik:
from Zorp.Core import * from Zorp.Http import * from Zorp.Plug import * #from Zorp import Auth from Zorp.Ftp import * #from Zorp.Telnet import * from Zorp.Pssl import * #from Zorp.Lp import * #3from Zorp.Nntp import * #from Zorp.Imap import * lehet hogy az auth megis kellene? Láttam , hogy mindenféle TISauth-tól kezdve inbandauth-ig van benne. Ezeket hogy lehet használni? Majd pont kellene ilyesmi 1ccer
1. import <modulnev> ... köszi a leírást, pont ilyenekre lenne szükség. A jó leveleket gyûjtsd össze az archívumból és kész a howto/faq. :-)
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)
ugyis próbáltam, de nem ez volt a hiba, ezekszerint. Volt amikor azt írta, hogy nincs közös chiper, meg SSL handshake failed, volt, hogy a user megkapta a certemet, de aztán nem ment tovább, mintha a célszerver certjét meg a tf-al nem tudta volna +nyitni.
policyviolation.html-t kapok. opsz, ide kell egy return HTTP_REQ_ACCEPT
gondolom a legvégére. Ezt a konfigot a 0.8.8-as és az 1.4 sample policy alapján csináltam, abban ez benne volt? nem úgy emlékszem.
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.
aha, ez a Http.py-ben benne van kommentekkel? Gondolom igen, majd +nézem. ja és köszi a sok tippet. - ------------------------- Narancs v1 IT Security Administrator "Security of information is an illusion. What is in one's mind gets into the collective consciousness (akasha), so that can be read with meditation ;-) You don't have to hack. Just 'remember'! You're the one." -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjvqdogACgkQGp+ylEhMCIUoUgCfUB40wPq1L31jmyj5QZNEdTPO HSAAn1nQp146uiqMEQhzRciCb8ysd2bG =XUpH -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Következõ kérdéseim merültek fel: 1. érdemes minden 1es szolgáltatást külön instance-ként, külön policy-bõl futtatni? pro-kontra? 2. minden új session-nél forkol a zorp? lehet állítani hogy mikor? 3. terveztek irc proxy-t? (transzparens-et, mint a tircproxy a la freshmeat) - mondjuk én nem irczek, de a userek felvetették :-) 4. Hiába mondom azt hogy /etc/init.d/zorp stop, az összes process, de legalább 1, a Listener megmarad és csak -9-el lehet kilõni. Ez a 088-asnál is így volt. 5. az ftp-nél van protokoll loggolás, pl. GET, PUT loggolása? 6. hol van leírás, hogy melyik parancsokat hogy lehet lekorlátozni? az ftp-nél láttam, hogy vannak jó kis elõredefiniált profilok, ami nagyon tetszik, van http-re is hasonló lehetõség? a header-filter nagyon tetszik, pl. cookie-k kidobása 7. ugye nem akartok csinálni jávás, vindosos GUI config felületet a zorp-hoz? :-) 8. ha transzparens módón összefûzöm squid-del a zorp-ot http-re és a web-cache nem a neten van, hanem benn a localneten, akkor DMZbe? 9. és olyat, hogy a squid cache-elte a https-es objektumokat (embedded izé), mondjuk ez a userek szemponjából elég durva lenne :-) 10. az 1.4-esben láttam valami conection tracking-ot, ez a linux2.4-el 1ütt , vagy ez más? és mire jó és hogyan kell haszn? köszi - ------------------------- Narancs v1 IT Security Administrator "Security of information is an illusion. What is in one's mind gets into the collective consciousness (akasha), so that can be read with meditation ;-) You don't have to hack. Just 'remember'! You're the one." -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjvqewkACgkQGp+ylEhMCIVpewCfWyggidkayYG6dJGOzjAOWAcj 9yAAn3fkrbbuJFAdLiXvh5H8uDdoddx8 =G6u+ -----END PGP SIGNATURE-----
On Thu, Nov 08, 2001 at 01:31:02PM +0100, Narancs v1 wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Következő kérdéseim merültek fel:
1. érdemes minden 1es szolgáltatást külön instance-ként, külön policy-ből futtatni? pro-kontra?
altalaban zonankent csinalunk egy peldanyt, de mindegyik peldany ugyanazt a policy-t hasznalja.
2. minden új session-nél forkol a zorp? lehet állítani hogy mikor?
minden session-nel uj threadet indit.
3. terveztek irc proxy-t? (transzparens-et, mint a tircproxy a la freshmeat) - mondjuk én nem irczek, de a userek felvetették :-)
tervezunk, de van elotte mas protokoll a listaban (pl SMTP)
4. Hiába mondom azt hogy /etc/init.d/zorp stop, az összes process, de legalább 1, a Listener megmarad és csak -9-el lehet kilőni. Ez a 088-asnál is így volt.
szerintem 2.2-es libc-d van. ott mar tudunk a hibarol, bar eddig nem neztuk meg mi okozza. 2.1-es libcnel nincs ez, es mi egyenlore azon fejlesztunk.
5. az ftp-nél van protokoll loggolás, pl. GET, PUT loggolása?
van, csak be kell kapcsolnod a logolasat. javaslom a -T kapcsolot (kiirja az egyes uzenetek kategoriajat), es a --log-spec-et, amivel meg tudod adni melyik kategoriaban milyen szintu uzenetek latszodjanak.
6. hol van leírás, hogy melyik parancsokat hogy lehet lekorlátozni? az ftp-nél láttam, hogy vannak jó kis előredefiniált profilok, ami nagyon tetszik, van http-re is hasonló lehetőség? a header-filter nagyon tetszik, pl. cookie-k kidobása
http-re kevesebb elore definialt profil letezik, leven egyszerubb protokoll. minden protokoll elemre definialhatsz callbacket, ami aztan utasithatja a proxyk motorjat, hogy mit csinaljon. a protokollokrol pedig a kapcsolodo rfc-ben olvashatsz.
7. ugye nem akartok csinálni jávás, vindosos GUI config felületet a zorp-hoz? :-)
javasat nem, vindozosat igen. de jo lesz :) a terv az, hogy olyan gui-t csinaljunk, amit meg en is hasznalnek.
8. ha transzparens módón összefűzöm squid-del a zorp-ot http-re és a web-cache nem a neten van, hanem benn a localneten, akkor DMZbe?
marmint, hogy a squid dmz-ben vagy intraneten legyen? ez leginkabb izles kerdese, esetleg egy kulon zonaban, keresztkabellel osszekotve a tuzfallal.
9. és olyat, hogy a squid cache-elte a https-es objektumokat (embedded izé), mondjuk ez a userek szemponjából elég durva lenne :-)
ez tenyleg durva lenne, de nem is nagyon lehet osszehozni.
10. az 1.4-esben láttam valami conection tracking-ot, ez a linux2.4-el 1ütt , vagy ez más? és mire jó és hogyan kell haszn?
ez mas. sot stock 2.4-es kernelen nem is mukodik. ez az UDP alapu protokollok rendes proxyzasat teszi lehetove. Tehat pl. ketiranyu udp-s plugot igy tudsz csinalni: Service("dns", PlugProxy) Receiver(SockAddrInet('192.168.0.1', 53), "dns") (A Listener helyett Receiver kell) a commercialban erre alapozva mar van egy app level radius proxy. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 8 Nov 2001, Balazs Scheidler wrote:
On Thu, Nov 08, 2001 at 01:31:02PM +0100, Narancs v1 wrote:
2. minden új session-nél forkol a zorp? lehet állítani hogy mikor? minden session-nel uj threadet indit. ahogy nezegettem, a top-ot M-re rendezve, valtozott a futo zorp processek száma. Minden 1es servicenek van 1 threadje vagy processe?
3. terveztek irc proxy-t? (transzparens-et, mint a tircproxy a la tervezunk, de van elotte mas protokoll a listaban (pl SMTP)
postfix?
szerintem 2.2-es libc-d van. ott mar tudunk a hibarol, bar eddig nem neztuk meg mi okozza. 2.1-es libcnel nincs ez, es mi egyenlore azon fejlesztunk.
aha, woody, kár.
5. az ftp-nél van protokoll loggolás, pl. GET, PUT loggolása? van, csak be kell kapcsolnod a logolasat. javaslom a -T kapcsolot (kiirja az egyes uzenetek kategoriajat), es a --log-spec-et, amivel meg tudod adni melyik kategoriaban milyen szintu uzenetek latszodjanak.
hol? policy-ben?
ez mas. sot stock 2.4-es kernelen nem is mukodik. ez az UDP alapu protokollok rendes proxyzasat teszi lehetove. Tehat pl. ketiranyu udp-s plugot igy tudsz csinalni:
végülis mik azok az udp-s protkollok amit az ember átenged a tûzfalon? A radius talán jogos lehet, de pl SMB-t nem sokan csinálnának, gondolom :-)
Service("dns", PlugProxy) Receiver(SockAddrInet('192.168.0.1', 53), "dns")
(A Listener helyett Receiver kell)
djbdns, dnscache. egyébként + köszi a példát, eccer biztos jól jön majd. - ------------------------- Narancs v1 IT Security Administrator "Security of information is an illusion. What is in one's mind gets into the collective consciousness (akasha), so that can be read with meditation ;-) You don't have to hack. Just 'remember'! You're the one." -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjvqkTUACgkQGp+ylEhMCIVQmwCfZA1AGQ9v+9r3LsnUSJJX/c8t vmUAnAy0m9mrjQPuQ9QoWxb6E4hFy2EE =KyIb -----END PGP SIGNATURE-----
On Thu, Nov 08, 2001 at 01:31:02PM +0100, Narancs v1 wrote:
2. minden új session-nél forkol a zorp? lehet állítani hogy mikor? minden session-nel uj threadet indit. ahogy nezegettem, a top-ot M-re rendezve, valtozott a futo zorp processek száma. Minden 1es servicenek van 1 threadje vagy processe?
3. terveztek irc proxy-t? (transzparens-et, mint a tircproxy a la tervezunk, de van elotte mas protokoll a listaban (pl SMTP)
postfix?
egy elotet proxy a postfix ele sem arthat. (amugy jelenleg mi is postfix-et hasznalunk)
szerintem 2.2-es libc-d van. ott mar tudunk a hibarol, bar eddig nem neztuk meg mi okozza. 2.1-es libcnel nincs ez, es mi egyenlore azon fejlesztunk.
aha, woody, kár.
majd megjavitjuk az 1.5-os sorozatban, aztan backportoljuk.
5. az ftp-nél van protokoll loggolás, pl. GET, PUT loggolása? van, csak be kell kapcsolnod a logolasat. javaslom a -T kapcsolot (kiirja az egyes uzenetek kategoriajat), es a --log-spec-et, amivel meg tudod adni melyik kategoriaban milyen szintu uzenetek latszodjanak.
hol? policy-ben?
zorp --help esetleg man zorp
ez mas. sot stock 2.4-es kernelen nem is mukodik. ez az UDP alapu protokollok rendes proxyzasat teszi lehetove. Tehat pl. ketiranyu udp-s plugot igy tudsz csinalni:
végülis mik azok az udp-s protkollok amit az ember átenged a tűzfalon? A radius talán jogos lehet, de pl SMB-t nem sokan csinálnának, gondolom :-)
radius, tftp, snmp
Service("dns", PlugProxy) Receiver(SockAddrInet('192.168.0.1', 53), "dns")
(A Listener helyett Receiver kell)
djbdns, dnscache.
egyébként + köszi a példát, eccer biztos jól jön majd.
ez most csak az udp -s plugra volt pelda... -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
participants (2)
-
Balazs Scheidler
-
Narancs v1