Hi Ralf,

On 22 December 2017 at 14:37, Ralf Hildebrandt
<[email protected]> wrote:
> I do know that openvpn-nl is basically a slightly changed version of
> openvpn (mbed SSL & lots of insecure crypto removed).
>
> Our server-side installation of stock-openvpn already uses:
>
> cipher AES-256-CBC
> auth SHA256
>
> so I thought, we could simply replace openvpn with openvpn-nl.
> I did that, restarted the server processes and alas, most clients could 
> reconnect without a hitch.
>
> Some clients, however couldn't connect to my server running openvpn-nl:
>
> Dec 21 16:17:58 openvpn tcp[16182]: 87.173.x.y TLS_ERROR: read 
> tls_read_plaintext error: SSL - The server has no ciphersuites in common with 
> the client
>
> I then matched those client IPs to their previous successful logins
> and extracted their client versions:
>
> % fgrep -f problemclients /var/log/daemon.log.1 |fgrep IV_VER |awk '{print 
> $NF}' | sort | uniq -c | sort -n
>
>       6 IV_VER=2.4.0
>       9 IV_VER=2.3.5
>      10 IV_VER=2.3.2
>      10 IV_VER=2.3.6
>      23 IV_VER=2.3.4
>
> So it seems 2.3.2-2.3.6 and 2.4.0 can't agree to a ciphersuites in
> the control channe..
>
> Somewhere along the development of 2.3.x the ciphersuites for the
> control channel must have changed. Where?
>
> I created some stats using the current setup:
>
> # xzfgrep "Control Channel:" /var/log/daemon.log* | awk -F"Control Channel: " 
> '{print $2}' | sort | uniq -c | sort -n
>       2 TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
>     114 TLSv1.2, cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384, 2048 bit key
>     115 TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
>    1617 TLSv1, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-SHA, 2048 bit RSA
>   17756 TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA

You are likely running into the fact that OpenVPN-NL 2.4 has stricter
--tls-cipher defaults than earlier versions.  An excerpt from the
OpenVPN-NL 2.4.4-nl1 announcement[0]:

> New ciphers:
>
> The control channel now support the following cipher suites by default:
> TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
> TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
> TLS-DHE-RSA-WITH-AES-256-CBC-SHA256
>
> The --tls-cipher option allows to also include the
> backwards-compatibility cipher suite:
> TLS-DHE-RSA-WITH-AES-256-CBC-SHA

So if you want clients that do not support TLS 1.2 to be able to
connect (could be old client, old TLS lib or restrictions such as
using --cryptoapicert), use --tls-cipher to re-enable the legacy
cipher like this: --tls-cipher
"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA"

-Steffan

[0] https://lists.fox-it.com/pipermail/list-openvpn-nl/2017/000019.html

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-users

Reply via email to