#914931 pagekite: Fail to connect to pagekite.me services with openssl installed

Package:
pagekite
Source:
pagekite
Submitter:
Petter Reinholdtsen
Date:
2018-11-29 02:21:03 UTC
Severity:
important
#914931#5
Date:
2018-11-28 20:25:45 UTC
From:
To:
The upgrade from openssl version 1.1.0h-4 to 1.1.1-1 break pagekite on
the FreedomBox.  After a debug session with the pagekite author I
discovered the reason is changes in /etc/ssl/openssl.cfg, which now
block connection to the pagekite.net services.

The following change got the pagekite service working again.

The backdrop for this issue is that some of the pagekite.net servers are
running fairly old software that can not be quickly reconfigured to work
with newer versions of TLS.  This make fixing it on the server side
unlikely to happen any time soon.

CC to the openssl and freedombox teams to make them aware of the issue.

The following patch got pagekite working again:

diff --git a/ssl/openssl.cnf b/ssl/openssl.cnf
index d155d1e..309081a 100644
--- a/ssl/openssl.cnf
+++ b/ssl/openssl.cnf
@@ -351,12 +351,12 @@ ess_cert_id_chain = no    # Must the ESS cert id chain be included?
                                # (optional, default: no)
 ess_cert_id_alg                = sha1  # algorithm to compute certificate
                                # identifier (optional, default: sha1)
-[default_conf]
-ssl_conf = ssl_sect
-
-[ssl_sect]
-system_default = system_default_sect
-
-[system_default_sect]
-MinProtocol = TLSv1.2
-CipherString = DEFAULT@SECLEVEL=2
+#[default_conf]
+#ssl_conf = ssl_sect
+#
+#[ssl_sect]
+#system_default = system_default_sect
+#
+#[system_default_sect]
+#MinProtocol = TLSv1.2
+#CipherString = DEFAULT@SECLEVEL=2

#914931#10
Date:
2018-11-28 21:59:31 UTC
From:
To:
nitpick, .cnf not cfg.

The server still supports SSLv3. Even if nobody wants to touch the
server I would suggest disabling SSLv3 be a priority.

We tried to cover this in
	/usr/share/doc/libssl1.1/NEWS.Debian.gz

You might not need to get rid of everything. Judging by
https://www.ssllabs.com/ssltest/analyze.html?d=pagekite.net

it might be enough to just allow TLS1.0. You might want to add this
override only for pagekite and not system wide.

Sebastian

#914931#15
Date:
2018-11-29 02:10:34 UTC
From:
To:
Hello!

Thanks Petter, for reporting this and helping me debug it today.
I can confirm that just allowing TLSv1 would allow connections to
the existing PageKite infrastructure. Upgrading the server in
question is increasingly becoming a priority for me, I hope to
get this sorted out relatively soon. But this is certainly going
to be an issue for others as well.

The idea that any user of the next version of Debian will be
unable to connect to anything using TLSv1 or TLSv1.1, strikes me
as a bit excessive. These protocols have issues, but AFAIK they
are NOT so broken as to require blacklisting. Please correct me
if I'm wrong.

These defaults would make sense on web servers, where we know the
mainstream clients are updated and patched promptly - but Debian
is used in many other environments, for many other tasks where
that is simply not the case. Debian users are NOT always in a
position to force upgrades upon all the systems they need to
communicate with.

So I strongly urge you to reconsider this policy. Is it really
necessary? Do the security benefits justify the breakage? If
security were the only concern, we'd all just switch our
computers off and unplug them. There has to be a balance.


Responding to the comments above re SSLv3: given the choice
between supporting SSLv3 and falling back to plain-text, I'll
choose to support SSLv3 any day. Due to some legacy clients, that
was my reality. The idea that everyone should just upgrade
everything is a luxury not afforded to people who are supporting
diverse hardware in the field - and for better or worse, PageKite
was embedded in devices that could not easily be upgraded.

I am hoping there are few enough of them left in the wild that I
can drop SSLv3 entirely, and soon - because given current Debian
policies, I'm now being forced to choose between supporting them
and supporting Debian. I'll probably choose Debian, but it won't
be without a fair bit of cursing and frustration...

The need to support legacy devices was actually one of the main
reasons of why I haven't upgraded that server: at some point
Debian chose to remove SSLv3 support from OpenSSL at compile
time, thus preventing me from upgrading, and forcing me to keep a
bunch of my servers at obsolete versions of Debian. So, I don't
have support for TLSv1.2 on that machine (and a few others),
because maintainers of this package forced me to choose one or
the other (maintaining my own forked OpenSSL packages was more
work than I could reasonably handle). I do wish this had been
handled differently, and I'm very glad this time it's just a
config file!


That said.... thanks for all your hard work on this!

I know everyone's doing their best, even though I rather strongly
disagree with some of your choices. Thanks for reading! :-)

#914931#20
Date:
2018-11-29 02:16:11 UTC
From:
To:
Oh shoot, I just noticed this bug is filed against the pagekite
package, not against openssl. The pagekite maintainers obviously
cannot fix the issues I was ranting about in my previous message,
please accept my apologies for noise.