-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sziasztok! Elég új vagyok a zorphoz, ha túl lamerek a kérdések, akkor bocsi :-) Próbálgatom a zorp 0.8.8-at, és egy "hagyományos" nem transzparens (fõleg hálózatpolitikai okok miatt) http,ftp,pop3/plug proxyt szeretnék összehozni, semmit redirect. Linux 2.4.3, debian woody. 1. A http proxy már megy is klasszul, kivéve, hogy CONNECT metódust nem enged (kellene a https-hez). Nézegettem a referenciát, de nem találtam, hogy hogy konkrétan ezt hogyan lehetne engedélyezni. Nem kellene semmilyen különösebb URL szûrés se, ezt is kivettem, mert különben, mindig access denied by policy jött be. 2. Sajnos az ftp proxy még nem jó, mindig username/password párost akar. Ezt is auth nélkül kellene csinálni, ebbõl a szempontból "transzparensen". Ha átállítom TransparentChainerrõl Inbandra akkor ez jó lesz? 3. kellene egy olyan fwtk stílusú plug is ami egy adott ip adott portját adja a másik oldalon adott porton. Ezt el lehet érni a plugproxyban? hogyan? Ez az zorp annyira más filozófia és szemléletmódra épül, mint amit valaha is láttam, hogy kezdetben elég nehéz. A válaszokat elõre is köszönöm - ------------------------- Zákány Gergely 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 iEYEARECAAYFAjuPK9AACgkQGp+ylEhMCIXM+QCdGyvC6kUYMmOEpeQQsfymd7lg pSQAn25lEWf7mvnmqYhFDxMaa10O9v9M =ydFy -----END PGP SIGNATURE-----
On Fri, Aug 31, 2001 at 08:16:44AM +0200, Zákány Gergely wrote:
Sajnos az ftp proxy még nem jó, mindig username/password párost akar. Ezt is auth nélkül kellene csinálni, ebbol a szempontból "transzparensen". Ha átállítom TransparentChainerrol Inbandra akkor ez jó lesz?
Nalam igy mukodik: # A belso halorol az internet elerese ftp-n keresztul class BIFtp(FtpProxyAllow): def config(self): FtpProxyAllow.config(self) self.transparent_mode = 1 Service("bi_ftp", TransparentChainer(), BIFtp) Listener(SockAddrInet("192.168.100.1", 20021), "bi_ftp") Ehhez meg kellettek ipchains szabalyok: $IPC -A input -i $GOODIF -p tcp -d $GOODIFCIM 20021 -j DENY $IPC -A input -i $GOODIF -p tcp -d $GOODIFCIM 0 -j DENY $IPC -A input -i $GOODIF -p tcp -s $PROXYSERVER 1024: -d $BADNET/$BADMASK 21 -j REDIRECT 20021 $IPC -A input -i $GOODIF -p tcp -s $PROXYSERVER 1024: -d $BADNET/$BADMASK 1024: -j REDIRECT 0 $IPC -A output -i $GOODIF ! -y -p tcp -s $BADNET/$BADMASK 21 -d $PROXYSERVER 102 4: -j ACCEPT $IPC -A input -i $GOODIF ! -y -p tcp -s $PROXYSERVER 1024: -d $BADNET/$BADMASK 2 0 -j ACCEPT
kellene egy olyan fwtk stílusú plug is ami egy adott ip adott portját adja a másik oldalon adott porton. Ezt el lehet érni a plugproxyban? hogyan?
# Az internetrol a DMZ elerese http-n keresztul class IDHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = 1 Service("id_http", DirectedChainer(SockAddrInet("192.168.5.17", 80), forge_addr=1), IDHttp) Listener(SockAddrInet("kulso.lab.ip.cime", 80), "id_http") # Az internetrol a DMZ elerese pop3-mon keresztul class IDPop(PlugProxy): pass Service("id_pop", DirectedChainer(SockAddrInet("192.168.5.8", 110), forge_addr=1 ), IDPop) Listener(SockAddrInet("kulso.lab.ip.cime", 110), "id_pop") Az archivumban (igaz, hogy regebbi verzioju Zorppal kapcsolatban), de eleg sok kerdest es valaszt talalhatsz. En is nagyon sok kerdest tettem fel :) Bocs a hosszu sorokert. -- Udvozlettel Zsiga
On 2001 Aug 31 at 08:16, Zákány Gergely wrote:
1. A http proxy már megy is klasszul, kivéve, hogy CONNECT metódust nem enged (kellene a https-hez). Nézegettem a referenciát, de nem találtam, hogy hogy konkrétan ezt hogyan lehetne engedélyezni. Nem kellene semmilyen különösebb URL szűrés se, ezt is kivettem, mert különben, mindig access denied by policy jött be.
self.request["CONNECT"] = (Http.HTTP_PASS) En azert tennek ra egy url szurest, hogy a connect csak 443 portra mehessen, mert igy ott vagy ahol a part szakad... d
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, 31 Aug 2001, Hegedus Ferenc wrote:
On 2001 Aug 31 at 08:16, Zákány Gergely wrote:
1. A http proxy már megy is klasszul, kivéve, hogy CONNECT metódust nem enged (kellene a https-hez). Nézegettem a referenciát, de nem találtam, hogy hogy konkrétan ezt hogyan lehetne engedélyezni. Nem kellene semmilyen különösebb URL szűrés se, ezt is kivettem, mert különben, mindig access denied by policy jött be.
self.request["CONNECT"] = (Http.HTTP_PASS)
En azert tennek ra egy url szurest, hogy a connect csak 443 portra mehessen, mert igy ott vagy ahol a part szakad...
ja igen, most talaltam az arhivumban egy http/s beagyazott izet, majd az lesz inkabb. de koszi! ezek egyebkent hol vannak ledokumentalva? marhara nehez igy am! - ------------------------- Zákány Gergely IT Security Administrator EDS Hungarian IT Security Team "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 iEYEARECAAYFAjuPdp0ACgkQGp+ylEhMCIX82QCdHMGiJcEIJbuRIuu2JjH6E2ZI kk0AnRntlBc6VPGEgTCsihmneYxzpYgG =ZvJy -----END PGP SIGNATURE-----
On 2001 Aug 31 at 13:35, Zákány Gergely wrote:
ja igen, most talaltam az arhivumban egy http/s beagyazott izet, majd az lesz inkabb.
Ha a PsslProxy-ra gondolsz es sikerul felrakni nem transparent, csak InbandChainer-el legyszi ird meg hogyan. Koszi
de koszi!
ezek egyebkent hol vannak ledokumentalva? marhara nehez igy am!
Elso korben zorp tutorial es zorp reference, azutan a a python-doc csomag es a /usr/share/zorp/pylib/Zorp/* olvasgatasa. d -- The end is important in all thing
On Fri, Aug 31, 2001 at 02:25:52PM +0200, Hegedus Ferenc wrote:
On 2001 Aug 31 at 13:35, Zákány Gergely wrote:
ja igen, most talaltam az arhivumban egy http/s beagyazott izet, majd az lesz inkabb.
Ha a PsslProxy-ra gondolsz es sikerul felrakni nem transparent, csak InbandChainer-el legyszi ird meg hogyan. Koszi
Nem transzparens modban HTTPS-t atvinni egy kicsit maskepp kell, de ennek oka a protokoll miatt van. Ha be van allitva HTTP proxy-d, es https-t akarsz elerni, akkor a bongeszo a proxyt szolitja meg, kuld neki egy CONNECT kerest, majd a beagyazott reszben beszelget a szerverrel de mar transzparens modban. Tehat ezt valami ilyesmivel lehet leirni: class HttpProxyNT(HttpProxy): class ConnectProxy(PsslProxy): class EmbeddedHttpProxy(HttpProxy): def config(self): HttpProxy.config(self) # alapbol transzparens... pass def config(self): PsslProxy.config(self) self.server_need_ssl = TRUE self.client_need_ssl = TRUE self.client_cert = '/etc/zorp/https.crt' self.client_key = '/etc/zorp/https.key' self.stack_proxy = self.EmbeddedHttpProxy def config(self): HttpProxy.config(self) self.transparent_mode = FALSE self.request["CONNECT"] = (HTTP_POLICY, self.checkConnect) self.connect_proxy = self.ConnectProxy def checkConnect(self, method, url, version): # itt ellenorzes return Z_ACCEPT (persze a szimbolumok fuggnek attol, hogy hogyan importalsz, ha igy: from Zorp.Http import * akkor nem kell kiirni a modul nevet, ha igy: import Zorp.Http akkor ki kell) -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
On Fri, Aug 31, 2001 at 11:57:45AM +0200, Hegedus Ferenc wrote:
On 2001 Aug 31 at 08:16, Zákány Gergely wrote:
Nem kellene semmilyen különösebb URL szűrés se, ezt is kivettem, mert különben, mindig access denied by policy jött be.
self.request["CONNECT"] = (Http.HTTP_PASS)
En azert tennek ra egy url szurest, hogy a connect csak 443 portra mehessen, mert igy ott vagy ahol a part szakad...
Ezt kifejtened egy peldan keresztul? Azt is, hogy miert kell, es azt is, hogy hogyan kell. -- Udvozlettel Zsiga
On 2001 Aug 31 at 13:55, Kosa Attila wrote:
Ezt kifejtened egy peldan keresztul? Azt is, hogy miert kell, es azt is, hogy hogyan kell.
Valami ilyesmi kene, ha hujseg, a hozzaertok ugyis kijavitanak. from re import search [ nyissz ] self.request["CONNECT"] = (Http.HTTP_POLICY, self.filterURL) [ nyissz ] def filterURL(self, method, url, version): if method == "CONNECT": if search(":443$",url): log("http.info", 0, "ACCEPT %s: %s" % (method, url)) else: log("http.info", 0, "DENY %s: %s" % (method, url)) return Z_DENY return Z_ACCEPT Azert erdemes 443 portra szukiteni a connect-et, mert enelkul barmely gep barmely portjara nyithatsz tcp kapcsolatot a proxyn keresztul, egy pelda: $ telnet my.proxy.server.hu 8080 Trying 1.2.3.4... Connected to my.proxy.server.hu. Escape character is '^]'. CONNECT other.mail.server.hu:25 HTTP/1.0 HTTP/1.0 200 Connection established 220 other.mail.server.hu ESMTP [ es igy tovabb ] De ezt is biztos el tudja mondani valaki nalam jobban. :)
-- Udvozlettel Zsiga
d -- The end is important in all thing
On Fri, Aug 31, 2001 at 02:59:08PM +0200, Hegedus Ferenc wrote:
On 2001 Aug 31 at 13:55, Kosa Attila wrote:
Ezt kifejtened egy peldan keresztul? Azt is, hogy miert kell, es azt is, hogy hogyan kell.
Valami ilyesmi kene, ha hujseg, a hozzaertok ugyis kijavitanak.
from re import search
[ nyissz ]
self.request["CONNECT"] = (Http.HTTP_POLICY, self.filterURL)
[ nyissz ]
def filterURL(self, method, url, version): if method == "CONNECT": if search(":443$",url): log("http.info", 0, "ACCEPT %s: %s" % (method, url)) else: log("http.info", 0, "DENY %s: %s" % (method, url)) return Z_DENY return Z_ACCEPT
esetleg erdemes a regexpet meg inicializalaskor leforditani, ugy idot takarithatsz meg (a pythonban erdekes trukkok vannak :) connect_pattern = re.compile(":443$") def filterURL(self, method, url, version): if method == "CONNECT": if self.connect_pattern.search(url): log("http.info", 0, "ACCEPT %s: %s" % (method, url)) else: log("http.info", 0, "DENY %s: %s" % (method, url)) return Z_DENY return Z_ACCEPT (ez persze untested, de a lenyeg gondolom latszik benne) -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
On Fri, Aug 31, 2001 at 02:59:08PM +0200, Hegedus Ferenc wrote:
On 2001 Aug 31 at 13:55, Kosa Attila wrote:
Ezt kifejtened egy peldan keresztul? Azt is, hogy miert kell, es azt is, hogy hogyan kell.
Azert erdemes 443 portra szukiteni a connect-et, mert enelkul barmely gep barmely portjara nyithatsz tcp kapcsolatot a proxyn keresztul, egy pelda:
$ telnet my.proxy.server.hu 8080 Trying 1.2.3.4... Connected to my.proxy.server.hu.
Meg mindig nem igazan ertem a dolgot. A Zorp http proxy-ja a 3128-as porton figyel. A csomagszuro rakja oda neki azokat a kereseket, akik a 80-as, 8080-as es 21-es portokra szeretnenek menni. A 25-os portra iranyulo keresek nem is kerulhetnek kapcsolatba a http proxy-val. Akkor hogy mennenek at rajta? Vagy valamit nagyon felreertenek? -- Udvozlettel Zsiga
On Fri, Aug 31, 2001 at 03:40:01PM +0200, Kosa Attila wrote:
rakja oda neki azokat a kereseket, akik a 80-as, 8080-as es 21-es portokra szeretnenek menni. A
Bocsi, persze a 21-est nem :) -- Udvozlettel Zsiga
participants (4)
-
Balazs Scheidler
-
Hegedus Ferenc
-
Kosa Attila
-
Zákány Gergely