From: "David Nikoghosyan" <nikd...@gmail.com>
To: "e2guardian" <e2gua...@googlegroups.com>
Sent: Friday, 9 September, 2016 10:35:48 PM
Subject: Transparent e2guardian with sslmitm
Hi,I am David from LibreRouter project. (Please check https://github.com/Librerouter/Librekernel)In our project we are in need to check http/https traffic content by calmav and some filtering tool like e2guardian. Our platform is Debian 8.We already have squid 3.4.13 running will ssl-bump; and am using c-icap from within squid for AV scanning (with clamav) and simple banned site url scanning with squidguardian. This part of configuration works perfectly for both http and https traffic.Now its time for e2guardian implementation, and I faced some problems.For http.For http we have this scenarionClient → iptables → e2guardian → squid → internete2guardian(in transparent mode) in front of squid works fine. There is no problem with http.For httpsI know that e2guardian does not support transparency for https, So at first I tried to set proxy explicity in browser, but anyway it didn't work.I have been trying unsuccessfully to get e2guardian running with sslmitm.InstallationI downloaded e2guardian from https://github.com/androda/ecapguardian, then builded it.
.....
It appears the e2guardian is just passing the https connection through to squid without decrypting/re-encrypting, despite "sslmitm = on" being set.When I open https pages I got just 1 or 2 lines logged in my /var/log/e2guardian/access.log2016.9.8 20:10:13 - 10.0.0.101 https://shavar.services.mozilla.com:443 CONNECT 0 0 1 200 - - -2016.9.8 20:10:13 - 10.0.0.101 https://shavar.services.mozilla.com:443 CONNECT 0 0 1 200 - - -I have been trying to figure this out for several days without success. Am I missing something obvious?
1. If we managed to run e2guardian with sslmitm (in explicit mode), can I run e2guardian with 2 squids to get transparency ?client → iptables → squid(ssl_bumping?) → e2guardian → squid(ssl_bumping?) - Internet
2. When will we have new release of e2guardian with enabled transparency mode for sslmitm ?
3. What kind of help/support e2guardian needs for point 2 ?
I am the maintainer of ecapguardian.
The purposes of ecapguardian are primarily to stop using ecapguardian as a proxy, and effectively convert it into a filtering-only service that can be accessed via the ECAP interface.
Many good proxy servers already exist, so from my perspective it makes little sense to me to continue using e2guardian as proxy when the maintainers of the various other proxies already do well (see Squid).
You say that ecapguardian has removed HTTPS MITM, and that is true from a purely code perspective. I no longer use the paths which allow for HTTPS MITM _using e2guardian_. This is the whole point of using ECAP. Squid (or other compatible proxy) performs all the HTTPS MITM magic, and then forwards simply the request and response contents on to ecapguardian via whatever ecap adapter is specified in the configuration. Getting Squid to do SSL MITM is not hard.
Using Squid3, I have a prototype transparent SSL MITM filtering system that works. It runs pretty slow on the dev boards I have (Raspberry Pi 2B, Odroid boards, etc), but it works.
Not everyone will agree with my push to make e2guardian into a simple filter service, but that's why forks exist. :)
--
You received this message because you are subscribed to the Google Groups "e2guardian" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e2guardian+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You can configure Squid to send along the client's IP address in the ECAP calls, and I'd love to add MAC address pass-along (looking at the Squid code it seems to be partially implemented). Nothing in the ECAP code path is implemented to catch that IP pass-along.
Honestly, I'm not at all familiar with how e2guardian manages filtering groups or how group users are identified. Mostly I've been focusing on getting ECAP working with what little time I have to contribute.
And yes, I am the user Androda. I'm going to push a commit to ecapguardian's 'MITM-Defense' branch in a few minutes which fixes a typo and adds a header position map to the HTTPHeader.cpp/hpp file.
The MITM-Defense branch is my first stab at blocking anti-MITM tools like HPKP. Need to rewrite HPKP response headers or your MITM will fail.