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
