Hello guys,I'm new to using stunnel but I find it quite a powerful tool. I'm doing a POC on how we can bypass our firewall even with DPI, and chose to use stunnel for an extra layer of cryptography. You don't have to worry about access to any VM mentioned here. Here is my scenario:
[CLIENT BROWSER] -->[STUNNEL CLIENT]-->[FIREWALL]-->[STUNNEL SERVER]-->[REVERSE PROXY]-->[FREE INTERNET]
So far I succeeded in getting HTTP working using stunnel CONNECT protocol to the firewall and going all the way through. The problem is when I try to access HTTPS, the connection get set to the stunnel server but it keeps waiting for something. Double checked all the logs, firewall can't discern, stunnel server get the connection, reverse proxy also get the socket connection. My hypothesis is that stunnel client gets the CONNECT from the browser and discard it, it uses its own way to connect to the firewall, instead of encrypting the CONNECT all the way through. As it may seems, I need a way to send 2 CONNECT packages. Does anyone know how can I proceed?
Follow my configs:
client = yes
output = /var/log/stunnel4/stunnel.log
debug = 7
[bypassclient]
accept = 4000
connect = firewall.example:3128
protocolHost =
destination.com:443protocol = connect
requireCert = no
verifyChain = no
verifyPeer = no
--------------------------------------------------------------------------------------------------------------------
[bypassserver]
cert = /etc/ssl/cert.pem
key = /etc/ssl/key.pem
-----------------------------------------------------------------------------------------------------------------------
Thank you all in advance, already digging throw the source code (quite lost tough),
Hugo