Sziasztok! A fenti felallast szerttem volna kiprobalni - Barina Tamas utan szabadon -, de elakadtam. A csomagokat feltettem, azutan en is belefutottam a python-os hibaba, amit A Kovacs Krisztian altal publikalt patch megoldott. Szoval zorp el is indul a transparent http proxy hasit, de a https-el nem boldogulok. A konfigjaim a kovetkezoek: ip + iptables: ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100 iptables -t mangle -N DIVERT iptables -t mangle -A PREROUTING -p tcp -m socket --dport 433 -j DIVERT iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 443 -j TPROXY --on-port 50443 --on-ip 172.16.16.1 --tproxy-mark 0x1/0x1 iptables -t mangle -A DIVERT -j MARK --set-xmark 0x1/0xffffffff iptables -t mangle -A DIVERT -j ACCEPT policy.py from Zorp.Core import * from Zorp.Http import * from Zorp.Pssl import * # defining the intranet zone, we only allow http connection from this zone InetZone("intranet","172.16.16.0/24", outbound_services=["intra_https"], inbound_services=[]) # the internet zone, we do not allow any connection from this zone (coming "out" from this zone, # that's why outbound_services is empty) InetZone("internet","0.0.0.0/0", inbound_services=["*"], outbound_services=[]) class MyHttpsProxy(HttpProxy): def config(self): HttpProxy.config(self) self.ssl.client_verify_type = SSL_VERIFY_NONE self.ssl.client_connection_security = SSL_FORCE_SSL self.ssl.server_connection_security = SSL_FORCE_SSL self.ssl.server_ca_directory = '/etc/zorp/ca.d/' self.ssl.server_ssl_method = SSL_METHOD_ALL self.ssl.server_verify_type = SSL_VERIFY_REQUIRED_UNTRUSTED self.ssl.server_disable_proto_sslv2 = TRUE self.ssl.server_ssl_cipher = SSL_CIPHERS_HIGH self.ssl.client_key_file = '/etc/zorp/https/server.key' self.ssl.client_cert_file = '/etc/zorp/https/server.crt' self.stack_proxy = HttpProxy def zorp_https(): Service("intra_https", proxy_class=MyHttpsProxy, router=TransparentRouter(overrideable = FALSE, forge_addr = TRUE)) Listener(bindto=SockAddrInet("172.16.16.1",50443), service="intra_https", transparent=TRUE, threaded=FALSE, backlog=255) log kimenet: Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.debug(0): (nosession): Starting up; verbose_level='5', version='3.3.6', startup_id='1299657285' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.debug(5): (nosession): Outbound service; zone='intranet', service='intra_http' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.debug(5): (nosession): Outbound service; zone='intranet', service='intra_https' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.debug(5): (nosession): Inbound service; zone='internet', service='*' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface added; if_index='1', if_name='lo', if_flags='73' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface added; if_index='2', if_name='eth0', if_flags='4098' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface added; if_index='3', if_name='eth1', if_flags='4098' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface added; if_index='4', if_name='eth2', if_flags='4098' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface added; if_index='5', if_name='eth3', if_flags='4163' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface added; if_index='6', if_name='eth4', if_flags='4163' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Address added to interface; if_name='lo', if_addr='127.0.0.1' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Address added to interface; if_name='eth3', if_addr='10.10.67.1' Mar 9 08:54:45 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Address added to interface; if_name='eth4', if_addr='172.16.16.1' Mar 9 08:55:37 firewallnew zorp/zorp_https[8165]: core.info(4): (nosession): Interface info updated; if_index='6', if_name='eth4', if_flags='0x1043', if_group='0x0' Mar 9 08:55:44 firewallnew zorp/zorp_https[8165]: core.accounting(4): (szig/conn:0/stream): accounting info; type='ZStreamFD', duration='0', sent='11', received='37' Mar 9 08:55:44 firewallnew zorp/zorp_https[8165]: core.accounting(4): (szig/conn:0/stream): accounting info; type='ZStreamBuf', duration='0', sent='0', received='0' Mar 9 08:55:44 firewallnew zorp/zorp_https[8165]: core.accounting(4): (szig/conn:0/stream): accounting info; type='ZStreamLine', duration='0', sent='11', received='36' Ha barkinek van valami tippje, megkoszonom! Koszonettel: Nyika Csaba
Hi! On Wed, 2011-03-09 at 09:24 +0100, Nyika Csaba wrote:
class MyHttpsProxy(HttpProxy): def config(self): HttpProxy.config(self)
self.ssl.client_verify_type = SSL_VERIFY_NONE self.ssl.client_connection_security = SSL_FORCE_SSL self.ssl.server_connection_security = SSL_FORCE_SSL self.ssl.server_ca_directory = '/etc/zorp/ca.d/' self.ssl.server_ssl_method = SSL_METHOD_ALL
self.ssl.server_verify_type = SSL_VERIFY_REQUIRED_UNTRUSTED self.ssl.server_disable_proto_sslv2 = TRUE self.ssl.server_ssl_cipher = SSL_CIPHERS_HIGH self.ssl.client_key_file = '/etc/zorp/https/server.key' self.ssl.client_cert_file = '/etc/zorp/https/server.crt'
self.stack_proxy = HttpProxy
Lehet, hogy mas hiba is van, de ezen gyorsan megakadt a szemem. Ez egy kisse vegyes config-nak tunik. Ez inkabb a 3.9-es zorp-hoz tartozo config, viszont van benne egy kis 3.3-as beutes is. :) self.ssl ugyanis csak a 3.9-ben van, viszont ott akkor nem kell self.stack_proxy. A logbol viszont az latszik, hogy 3.3-as zorp-ot hasznalsz, ott szerintem ez a konfig igy nem fog menni. -- SZALAY Attila Support (L3) Team Leader e-mail: attila.szalay@balabit.com BalaBit IT Security www.balabit.com H-1115 Bártfai str. 54. Budapest This Communication is Confidential. We only send and receive email on the basis of the terms set out at http://www.balabit.com/disclaimer/.
Pl igy? class Https(PsslProxy): def config(self): PsslProxy.config(self) self.stack_proxy=(Z_STACK_PROXY, Http) self.client_key_file="/etc/zorp/ssl/server/server.key" self.client_cert_file="/etc/zorp/ssl/server/server.crt" self.copy_to_server = TRUE; self.copy_to_client = TRUE; self.client_verify_type=PSSL_VERIFY_NONE self.server_verify_type=PSSL_VERIFY_REQUIRED_UNTRUSTED Es elotte a Http-t meg kell csinalni. Barina Tamás -----Original Message----- From: zorp-hu-bounces@lists.balabit.hu [mailto:zorp-hu-bounces@lists.balabit.hu] On Behalf Of SZALAY Attila Sent: Wednesday, March 09, 2011 9:33 AM To: Magyar nyelvu Zorp levelezesi lista. Subject: Re: [zorp-hu] zorp 3.3.6 + libzorpll 3.3.0.12 + Debian 6.0 ujra Hi! On Wed, 2011-03-09 at 09:24 +0100, Nyika Csaba wrote:
class MyHttpsProxy(HttpProxy): def config(self): HttpProxy.config(self)
self.ssl.client_verify_type = SSL_VERIFY_NONE self.ssl.client_connection_security = SSL_FORCE_SSL self.ssl.server_connection_security = SSL_FORCE_SSL self.ssl.server_ca_directory = '/etc/zorp/ca.d/' self.ssl.server_ssl_method = SSL_METHOD_ALL
self.ssl.server_verify_type = SSL_VERIFY_REQUIRED_UNTRUSTED self.ssl.server_disable_proto_sslv2 = TRUE self.ssl.server_ssl_cipher = SSL_CIPHERS_HIGH self.ssl.client_key_file = '/etc/zorp/https/server.key' self.ssl.client_cert_file = '/etc/zorp/https/server.crt'
self.stack_proxy = HttpProxy
Lehet, hogy mas hiba is van, de ezen gyorsan megakadt a szemem. Ez egy kisse vegyes config-nak tunik. Ez inkabb a 3.9-es zorp-hoz tartozo config, viszont van benne egy kis 3.3-as beutes is. :) self.ssl ugyanis csak a 3.9-ben van, viszont ott akkor nem kell self.stack_proxy. A logbol viszont az latszik, hogy 3.3-as zorp-ot hasznalsz, ott szerintem ez a konfig igy nem fog menni. -- SZALAY Attila Support (L3) Team Leader e-mail: attila.szalay@balabit.com BalaBit IT Security www.balabit.com H-1115 Bártfai str. 54. Budapest This Communication is Confidential. We only send and receive email on the basis of the terms set out at http://www.balabit.com/disclaimer/. _______________________________________________ zorp-hu mailing list zorp-hu@lists.balabit.hu https://lists.balabit.hu/mailman/listinfo/zorp-hu
On Wed, Mar 09, 2011 at 09:54:49AM +0100, Barina Tamas wrote:
Pl igy?
class Https(PsslProxy): def config(self): PsslProxy.config(self) self.stack_proxy=(Z_STACK_PROXY, Http) self.client_key_file="/etc/zorp/ssl/server/server.key" self.client_cert_file="/etc/zorp/ssl/server/server.crt" self.copy_to_server = TRUE; self.copy_to_client = TRUE; self.client_verify_type=PSSL_VERIFY_NONE self.server_verify_type=PSSL_VERIFY_REQUIRED_UNTRUSTED
Nekem igy mukodik (3.3.6-on): class IntraHttps(PsslProxy): class EmbeddedHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = TRUE def config(self): self.server_need_ssl = TRUE self.server_verify_type = SSL_VERIFY_REQUIRED_TRUSTED self.server_ca_directory = '/etc/zorp/ca.crt' self.client_need_ssl = TRUE self.client_cert = '/etc/ssl/certs/server.crt' self.client_key = '/etc/ssl/private/server.key' self.client_verify_type = SSL_VERIFY_NONE self.stack_proxy = self.EmbeddedHttp self.server_verify_depth = 3 -- Udvozlettel Zsiga
Sziasztok! Eloszor is koszonom a segitseget! Sajnos a helyzet valtozatlan, - mind Barina Tamás, mind Kosa Attila javaslatait kiproblatam. Jelenleg igy nez ki a conf ide vonatkozo resze: class IntraHttps(PsslProxy): class EmbeddedHttp(HttpProxy): def config(self): HttpProxy.config(self) self.transparent_mode = TRUE def config(self): self.server_need_ssl = TRUE self.server_verify_type = SSL_VERIFY_REQUIRED_TRUSTED self.server_ca_directory = '/etc/zorp/ca.d' self.client_need_ssl = TRUE self.client_cert = '/etc/zorp/https/sercer.crt' self.client_key = '/etc/zorp/https/server.key' self.client_verify_type = SSL_VERIFY_NONE self.stack_proxy = self.EmbeddedHttp self.server_verify_depth = 3 A verbose-t 10-re veve a logban (elnezest a hosszert): Mar 9 13:34:35 firewallnew zorp/zorp_http[9632]: core.debug(0): (nosession): Starting up; verbose_level='0', version='3.3.6', startup_id='1299674075' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(0): (nosession): Starting up; verbose_level='10', version='3.3.6', startup_id='1299674075' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(6): (nosession): System dependant init; sysdep_tproxy='tproxy40' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(7): (szig/listen): Start to listen; fd='10', address='AF_UNIX(/var/run/zorp/zorpctl.zorp_https)' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/thread): thread starting; Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(5): (nosession): Outbound service; zone='intranet', service='intra_http' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(5): (nosession): Outbound service; zone='intranet', service='intra_https' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(5): (nosession): Inbound service; zone='internet', service='*' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(7): (dsp/dispatch:0): Dispatcher on address; local='SA(proto=1,addr=AF_INET(172.16.16.1:50443))', prio='100' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(7): (dsp/dispatch:0): Start to listen; fd='12', address='AF_INET(172.16.16.1:50443)' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.debug(6): (stderr): thread starting; Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Interface added; if_index='1', if_name='lo', if_flags='73' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Interface added; if_index='2', if_name='eth0', if_flags='4098' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Interface added; if_index='3', if_name='eth1', if_flags='4098' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Interface added; if_index='4', if_name='eth2', if_flags='4098' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Interface added; if_index='5', if_name='eth3', if_flags='4163' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Interface added; if_index='6', if_name='eth4', if_flags='4163' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Address added to interface; if_name='lo', if_addr='127.0.0.1' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Address added to interface; if_name='eth3', if_addr='10.10.67.1' Mar 9 13:34:35 firewallnew zorp/zorp_https[9640]: core.info(4): (nosession): Address added to interface; if_name='eth4', if_addr='172.16.16.1' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.debug(7): (szig/listen): Accept count; accepts='1' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:0/stream): Reading channel; fd='15', count='37' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:0/stream): data line 0x0000: 47 45 54 56 41 4C 55 45 20 7A 6F 72 70 2E 69 6E GETVALUE zorp.in Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:0/stream): data line 0x0010: 66 6F 2E 70 6F 6C 69 63 79 2E 66 69 6C 65 5F 73 fo.policy.file_s Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:0/stream): data line 0x0020: 74 61 6D 70 0A tamp. Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(7): (szig/conn:0/stream): Writing stream; stream='ZStreamBuf', count='11' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(9): (szig/conn:0/stream): data line 0x0000: 31 32 39 39 36 37 34 30 37 30 0A 1299674070. Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:0/stream): Writing channel; fd='15', count='11' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:0/stream): data line 0x0000: 31 32 39 39 36 37 34 30 37 30 0A 1299674070. Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:0/stream): Reading EOF on channel; fd='15' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:0/stream): Closing stream; type='ZStreamBuf' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:0/stream): Closing stream; type='ZStreamLine' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:0/stream): Closing stream; type='ZStreamFD' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:0/stream): accounting info; type='ZStreamFD', duration='0', sent='11', received='37' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:0/stream): accounting info; type='ZStreamBuf', duration='0', sent='0', received='0' Mar 9 13:35:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:0/stream): accounting info; type='ZStreamLine', duration='0', sent='11', received='36' Mar 9 13:35:37 firewallnew mpt-statusd: detected non-optimal RAID status Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.debug(7): (szig/listen): Accept count; accepts='1' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:1/stream): Reading channel; fd='15', count='37' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:1/stream): data line 0x0000: 47 45 54 56 41 4C 55 45 20 7A 6F 72 70 2E 69 6E GETVALUE zorp.in Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:1/stream): data line 0x0010: 66 6F 2E 70 6F 6C 69 63 79 2E 66 69 6C 65 5F 73 fo.policy.file_s Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:1/stream): data line 0x0020: 74 61 6D 70 0A tamp. Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(7): (szig/conn:1/stream): Writing stream; stream='ZStreamBuf', count='11' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(9): (szig/conn:1/stream): data line 0x0000: 31 32 39 39 36 37 34 30 37 30 0A 1299674070. Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:1/stream): Writing channel; fd='15', count='11' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:1/stream): data line 0x0000: 31 32 39 39 36 37 34 30 37 30 0A 1299674070. Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:1/stream): Reading EOF on channel; fd='15' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:1/stream): Closing stream; type='ZStreamBuf' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:1/stream): Closing stream; type='ZStreamLine' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:1/stream): Closing stream; type='ZStreamFD' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:1/stream): accounting info; type='ZStreamFD', duration='0', sent='11', received='37' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:1/stream): accounting info; type='ZStreamBuf', duration='0', sent='0', received='0' Mar 9 13:36:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:1/stream): accounting info; type='ZStreamLine', duration='0', sent='11', received='36' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.debug(7): (szig/listen): Accept count; accepts='1' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:2/stream): Reading channel; fd='15', count='37' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:2/stream): data line 0x0000: 47 45 54 56 41 4C 55 45 20 7A 6F 72 70 2E 69 6E GETVALUE zorp.in Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:2/stream): data line 0x0010: 66 6F 2E 70 6F 6C 69 63 79 2E 66 69 6C 65 5F 73 fo.policy.file_s Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:2/stream): data line 0x0020: 74 61 6D 70 0A tamp. Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(7): (szig/conn:2/stream): Writing stream; stream='ZStreamBuf', count='11' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(9): (szig/conn:2/stream): data line 0x0000: 31 32 39 39 36 37 34 30 37 30 0A 1299674070. Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:2/stream): Writing channel; fd='15', count='11' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(10): (szig/conn:2/stream): data line 0x0000: 31 32 39 39 36 37 34 30 37 30 0A 1299674070. Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.dump(8): (szig/conn:2/stream): Reading EOF on channel; fd='15' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:2/stream): Closing stream; type='ZStreamBuf' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:2/stream): Closing stream; type='ZStreamLine' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.debug(6): (szig/conn:2/stream): Closing stream; type='ZStreamFD' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:2/stream): accounting info; type='ZStreamFD', duration='0', sent='11', received='37' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:2/stream): accounting info; type='ZStreamBuf', duration='0', sent='0', received='0' Mar 9 13:37:34 firewallnew zorp/zorp_https[9640]: core.accounting(4): (szig/conn:2/stream): accounting info; type='ZStreamLine', duration='0', sent='11', received='36' Minhta "el sem jutna hozza" semmi... Koszonettel: Nyika Csaba
On Wed, Mar 09, 2011 at 09:24:19AM +0100, Nyika Csaba wrote:
ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100
Nekem ezek forditott sorrendben vannak.
iptables -t mangle -N DIVERT iptables -t mangle -A PREROUTING -p tcp -m socket --dport 433 -j DIVERT iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 443 -j TPROXY --on-port 50443 --on-ip 172.16.16.1 --tproxy-mark 0x1/0x1 iptables -t mangle -A DIVERT -j MARK --set-xmark 0x1/0xffffffff iptables -t mangle -A DIVERT -j ACCEPT
-t mangle -A PREROUTING -p tcp -m socket -j DIVERT -t mangle -A DIVERT -j MARK --set-mark 1 -t mangle -A DIVERT -j ACCEPT -t mangle -A PREROUTING -p tcp --dport 443 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 50443 --on-ip 172.16.16.1 Ennyivel mar mukodik. -- Udvozlettel Zsiga
szerda 09 március 2011 09:24:19 dátummal Nyika Csaba az alábbiakat írta:
Sziasztok!
A fenti felallast szerttem volna kiprobalni - Barina Tamas utan szabadon -, de elakadtam. A csomagokat feltettem, azutan en is belefutottam a python-os hibaba, amit A Kovacs Krisztian altal publikalt patch megoldott. Szoval zorp el is indul a transparent http proxy hasit, de a https-el nem boldogulok. A konfigjaim a kovetkezoek:
ip + iptables:
ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100
iptables -t mangle -N DIVERT iptables -t mangle -A PREROUTING -p tcp -m socket --dport 433 -j DIVERT iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 443 -j TPROXY --on-port 50443 --on-ip 172.16.16.1 --tproxy-mark 0x1/0x1 iptables -t mangle -A DIVERT -j MARK --set-xmark 0x1/0xffffffff iptables -t mangle -A DIVERT -j ACCEPT Szia!
A DIVERT chain-ben teszed a csomagra a mark-ot, ami alapjan a policy routing (utan a 100-as tabla routingja) localra huzza a csomagot. Igy ha feltetelnek szabod a 443-as destination portot, akkor a valaszcsomagokra nem kerul mark. Tehat a DIVERT targetes sorbol vedd ki a --dport feltetelt. Gyula
Sziasztok! Koszonom a segitseget! Van abban logika, mait mondasz, es kiprobaltam amit irsz (sajnos igy se mukodik), de akkor mivel magyarazod, hogy ugyenz a felallas 80-as portra csont nelkul megy. Amugy ezt a howto-t innen: http://talien.blogs.balabit.com/2010/10/using-zorp-3-3-gpl-on-ubuntu-lucid/ vettem. Udv, Nyika Csaba ui: valahol valami azt sugja, hogy egy blod kis "hiba" miatt nem megy, ami annyira trivialis, ohgy eszembe sem jut.. Kerekes Gyula <gyula@harcinyul.hu> írta:
szerda 09 március 2011 09:24:19 dátummal Nyika Csaba az alábbiakat írta:> Sziasztok!>
A fenti felallast szerttem volna kiprobalni - Barina Tamas utan szabadon -,> de elakadtam. A csomagokat feltettem, azutan en is belefutottam a> python-os hibaba, amit A Kovacs Krisztian altal publikalt patch megoldott.> Szoval zorp el is indul a transparent http proxy hasit, de a https-el nem> boldogulok. A konfigjaim a kovetkezoek:>
ip + iptables:>
ip rule add fwmark 1 lookup 100> ip route add local 0.0.0.0/0 dev lo table 100>
iptables -t mangle -N DIVERT> iptables -t mangle -A PREROUTING -p tcp -m socket --dport 433 -j DIVERT> iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 443 -j TPROXY> --on-port 50443 --on-ip 172.16.16.1 --tproxy-mark 0x1/0x1 iptables -t> mangle -A DIVERT -j MARK --set-xmark 0x1/0xffffffff> iptables -t mangle -A DIVERT -j ACCEPT> Szia!>
A DIVERT chain-ben teszed a csomagra a mark-ot, ami alapjan a policy routing > (utan a 100-as tabla routingja) localra huzza a csomagot. Igy ha feltetelnek > szabod a 443-as destination portot, akkor a valaszcsomagokra nem kerul mark.> Tehat a DIVERT targetes sorbol vedd ki a --dport feltetelt.>
Gyula> _______________________________________________> zorp-hu mailing list> zorp-hu@lists.balabit.hu> https://lists.balabit.hu/mailman/listinfo/zorp-hu>
Sziasztok! A problema megoldodott, koszonom a segitseget mindenkinek. Par szoban: Gyula irat: >> A DIVERT chain-ben teszed a csomagra a mark-ot, ami alapjan a policy routing >> (utan a 100-as tabla routingja) localra huzza a csomagot. Igy ha feltetelnek >> szabod a 443-as destination portot, akkor a valaszcsomagokra nem kerul mark.>> Tehat a DIVERT targetes sorbol vedd ki a --dport feltetelt.>> Ez igy nem teljesen igaz ebben az esetben. A SYN-es csomagokat a --tproxy-mark 0x1/0x1 fogja megjelolni, es mivel a proxy alat kuldot valasz csomagok nem fognak a PREROUTING agba kerulni, hanem szepen az output-on kinnek, nem is lesznek megjelolve. A -m socket a kliens viszont-valaszait teszi a helyere ezert siman lehet adni neki --dport-ot, szurni egy kicsit. A tenyleges problema az volt, hogy valamiert a 50433-re porttot a TPROXY valamiert nem volt hajlando redirectalni! Ez nem tudom ,hogy bug-e? Ha portot valtok (en vegul az 555-nel alapodtam meg) gond nelkul teszi a dolgat. Megegyszer koszonom Mindenkinek! Nyika Csaba
csütörtök 10 március 2011 15:44:55 dátummal Nyika Csaba az alábbiakat írta:
Sziasztok!
A problema megoldodott, koszonom a segitseget mindenkinek. Par szoban:
Gyula irat: >> A DIVERT chain-ben teszed a csomagra a mark-ot, ami alapjan a policy routing >> (utan a 100-as tabla routingja) localra huzza a csomagot. Igy ha feltetelnek >> szabod a 443-as destination portot, akkor a valaszcsomagokra nem kerul mark.>> Tehat a DIVERT targetes sorbol vedd ki a --dport feltetelt.>>
Ez igy nem teljesen igaz ebben az esetben. A SYN-es csomagokat a --tproxy-mark 0x1/0x1 fogja megjelolni, es mivel a proxy alat kuldot valasz csomagok nem fognak a PREROUTING agba kerulni, hanem szepen az output-on kinnek, nem is lesznek megjelolve. A -m socket a kliens viszont-valaszait teszi a helyere ezert siman lehet adni neki --dport-ot, szurni egy kicsit.
Szia! Azt hiszem, nem fogalmaztam teljesen vilagosan, igy nem ertetted meg, mit is akartam irni. Tehat: Igen, kliens oldalon a valaszcsomagokat (tehat a Zorp->Kliens forgalmat) valoban nem kell megjelolni, hiszen azokat nem is kell (es nem is szabad) lokalis csomagkent kezelni. De azok - mint irtad - nem is kerulnek PREROUTING- ra. Ellenben ha transzparens proxy-t hasznalsz, es a kliens forrascimevel kapcsolodsz tovabb, akkor a szerver fele meno kapcsolat valaszcsomagjainak lokalisakka kell valni, ami a te konfigoddal nem fog bekovetkezni. Ezert irtam, hogy ki kellene venni a --dport kapcsolot. Gyula
Szia! Köszönöm a valaszt, es elsore is ertettem amit irtal, de sajnos nekem vannak gondjaim a kifejezessel (vicc nelkul). Irod: Ellenben ha transzparens proxy-t hasznalsz, es a kliens forrascimevel > kapcsolodsz tovabb, akkor a szerver fele meno kapcsolat valaszcsomagjainak > lokalisakka kell valni, ami a te konfigoddal nem fog bekovetkezni. Ezert irtam, > hogy ki kellene venni a --dport kapcsolot.> A kliens forrascimevel nem is tudnek tovabb kapcsolodni, hacsak fentebb nincs meg a visszaroute. A "traszparencia", a kliensek fele van. Ezert amikor a proxy a (TPROXY utan) megfogja a csomagot, o maga kuld ki egyet a kulso szervernek, ami ugye -mint Te is irtad- nem lesz megjelolve. A valsz csomagok, viszont mivel a keres a local-rol ment, eleve jo helyre jonnek vissza. Ha nem szurod a (--dport)-al akkor minden olyan olyan csomag is meg lesz jelolve, ami local-ra mint celallomasra iranyult (pl: ssh-vla belepsz a gepre). Mivel tisztaban vagyok a korlataimmal :), kerlek ha tudod a korabbi levelemben irt url alapjan epits fel egy teszt rendszert, hatha TE mas eredmenyre jutsz. Köszönettel: Nyika Csaba ui: mivel ugy erzem, hogy amirol beszelunk kilep ezen lista "hatokorebol", es mivel szivesen beszlgetek errol -mar csak a sajat tovabbkepzesem miatt is- kerlek ide cimezd a valszt: csabany@freemail.hu
participants (5)
-
Barina Tamas
-
Kerekes Gyula
-
Kosa Attila
-
Nyika Csaba
-
SZALAY Attila