>>there is no reason to connect to localhost with any security

Should server/interface consolidation trigger functional/technical rework prior to go live?

As per the diagram: 
   the app server node x TLS engine node interface is wrapped in SSL 
   the internal localhost x localhost interface is in the clear
   the TLS engine node x punchout-vendor node is wrapped in TLSv1.2

>> SNI flag  (RFC 3546)
Good catch. 


----------------------------------------------------------------------

Message: 1
Date: Wed, 21 Aug 2019 08:01:08 -0700
From: "Eric Eberhard" <[email protected]>
To: "'Brent Kimberley'" <[email protected]>,
    <[email protected]>

Thank you -- what I had in mind but I am not that fancy with the setups as we use one.  We go from our application in clear text to stunnel TLSv1.2 which is clearly easier.  I did make this work for a short while a long time ago and did not save the files.  Plus no may people's horror we use inetd.  Of course we only transfer 4 million XML docs per day and handle 10 million Web calls and another million connections for credit cards, etc.  I have been told that if I had serious volume inetd is slower -:) but I have not noticed enough of a slowdown to matter.  And inetd (at least on an IBM AIX server) is dead reliable and easy.

As a curiosity -- as I often see people coding unnecessarily -- there is no reason to connect to localhost with any security at all unless your app can only output SSLv3 which would imply a 3rd party vendor.  The traffic never hits the network in any way -- not even the network card -- it goes directly to/from the TCP/IP stack which is why I mentioned just making the app send clear text to one stunnel that outputs TLSv1.2 ... if possible (may not be if it is something you don't have source to).

Eric

-----Original Message-----
From: Brent Kimberley [mailto:[email protected]]
Sent: Tuesday, August 20, 2019 6:42 AM
To: [email protected]
Cc: [email protected]; [email protected]
Subject: Re: stunnel-users Digest, Vol 181, Issue 1

Your mileage may vary.

###############################################################################
# From internal application to external host ###############################################################################
# [Int_Init] -> [Int_Term] -> [Ext_Init] -> [Ext_Term] ###############################################################################
# [internal_initiator]  ---ssl--->  [Internal terminator] # [Internal terminator] ---http---> [external Initiator] # [external Initiator]  ---tls--->  [external terminator] ###############################################################################
# https://www.stunnel.org/static/stunnel.html ###############################################################################

[Internal_Terminator]
options = SSLv3
client = no
accept = host_ip:443
connect = localhost:54321
CAfile        = int_init_wallet.pem
cert          =  int_term_pub.pem
key            =  int_term_priv.pem

[External_Initiator]
options = SINGLE_ECDH_USE
options = SINGLE_DH_USE
ciphers = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
verify = 3?
client = yes
options = TLSv1.2
accept = localhost:54321
connect = externalhostname:443
verifyChain    = yes
renegotiation  = no
CAfile        =  ext_term_wallet.pem
cert          = ext_init_pub.pem
key            =  ext_init_priv.pem


----------------------------------------------------------------------

Date: Mon, 19 Aug 2019 18:21:18 +0000
From: Daniel Trickett <[email protected]>
To: "[email protected]" <[email protected]>
Subject: [stunnel-users] https to https proxy

Hi,

Our punchout vendor switched their site to only accept tls 1.2 over the weekend. Unfortunately our application will only support SSL.

We are using stunnel with other vendors but can control the inbound host name. This recent one is one we can't manage as it is the software provider.

I found a solution for doing https to https. I'm unclear how I get the first https traffic to route to stunnel as the initial call will be from the application will be to the external host..
Any thoughts on whether this would work for my situation?  Appreciate any thoughts..


[Tunnel_in]
client = yes
accept = host_ip:443
connect = localhost:54321

[Tunnel_out]
client = no
accept = localhost:54321
connect = externalhostname:443



Best regards,

Dan