Re: OpenSSL compliance with Linux distributions

2020-08-18 Thread Matt Caswell



On 18/08/2020 05:10, Jakob Bohm via openssl-users wrote:
> The key thing to do is to make those client applications not request the
> ssl23-method from OpenSSL 0.9.x .
> ssl23 explicitly requests this backward-compatibility feature while
> OpenSSL 3.x.x apparently deleted the
> ability to respond to this "historic" TLS hello format, which is also
> sent by some not-that-old web browsers.

This capability has not been deleted from OpenSSL 3.0. It is still able
to respond to SSLv2 format ClientHellos. Although testing that does
reveal a bug (which may actually be the same one as reported by John
Baldwin in the thread "Testing TLS 1.0 with OpenSSL master").

Matt


> 
> 
> On 05/08/2020 22:19, Skip Carter wrote:
>> Patrick,
>>
>> I am also supporting servers running very old Linux systems and I can
>> tell you that YES you can upgrade from source. I have built
>>    openssl-1.1.1 from source on such systems with no problems.
>>
>> On Wed, 2020-08-05 at 21:49 +0200, Patrick Mooc wrote:
>>> Hello,
>>>
>>> I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian
>>> distribution (Lenny).
>>>
>>> Is it possible to upgrade OpenSSL version without upgrading Linux
>>> Debian
>>> distribution ?
>>> If yes, up to which version of OpenSSL ?
>>>
>>> Are all versions of OpenSSL compliant with all Linux Debian
>>> distribution ?
>>>
>>>
>>> Thank you in advance for your answer.
>>>
>>> Best Regards,
>>>
> 
> 
> Enjoy
> 
> Jakob


Re: OpenSSL compliance with Linux distributions

2020-08-17 Thread Jakob Bohm via openssl-users
The key thing to do is to make those client applications not request the 
ssl23-method from OpenSSL 0.9.x .
ssl23 explicitly requests this backward-compatibility feature while 
OpenSSL 3.x.x apparently deleted the
ability to respond to this "historic" TLS hello format, which is also 
sent by some not-that-old web browsers.



On 05/08/2020 22:19, Skip Carter wrote:

Patrick,

I am also supporting servers running very old Linux systems and I can
tell you that YES you can upgrade from source. I have built
   openssl-1.1.1 from source on such systems with no problems.

On Wed, 2020-08-05 at 21:49 +0200, Patrick Mooc wrote:

Hello,

I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian
distribution (Lenny).

Is it possible to upgrade OpenSSL version without upgrading Linux
Debian
distribution ?
If yes, up to which version of OpenSSL ?

Are all versions of OpenSSL compliant with all Linux Debian
distribution ?


Thank you in advance for your answer.

Best Regards,




Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2860 Soborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded



Re: OpenSSL compliance with Linux distributions

2020-08-10 Thread Viktor Dukhovni
On Thu, Aug 06, 2020 at 09:24:32PM +0200, Patrick Mooc wrote:
> Thank you Ben for your answer.
> 
> I had a look today for this point, but I didin't found anything about 
> extension in the OpenSSL version I use (0.9.8).

If I am mistaken, OpenSSL 0.9.8 shuld have support for the SNI
extension.  It also supports using SSL_CTX_set_options() to set the
SSL_OP_NO_SSLv2 option, which is likely the simplest way to ensure that
SSLv2 is not used.

These days one should probably also disable SSLv3 (via SSL_OP_NO_SSLv2),
but even with that, there are likely some unaddressed security defects
in OpenSSL 0.9.8 that make it unwise to continue using it in general.

-- 
VIktor.


Re: OpenSSL compliance with Linux distributions

2020-08-10 Thread Patrick Mooc

Hello,

I tried to follow your procedure but I saw that I don't have same folders.

That lets me know that I forgot to give an important point concerning my 
problem :
the Debian distribution I use, is not on a PC, but it is an embedded 
one. It is a Qt project (also an old version of course, version 4.7)


I made some new tests today and it seems that there is only one case in 
which the SSLv2 Client Hello packet is sent.

It happens on a Soap call in a php scripting file.
Thus I have to see how to constraint this Soap call not to use SSLv2 
protocol.

I guess that the php library used is also an old one, I have to check this.

When this piece of code is not called, Client Hello packet are well sent 
with TLSv10 protocol.


Best Regards,


Le 07/08/2020 à 18:33, Dan Kegel a écrit :
Suggestion: get the source for the exact same version of openssl your 
system uses, and rebuild it with sslv2 disabled.


e.g.

sudo apt install build-essential devscripts
sudo apt build-dep openssl
mkdir tmp
cd tmp
apt source openssl
cd openssl-*
gedit debian/rules     # see below
debuild -b -uc -us
cd ..
sudo apt install *.deb

While editing debian/rules in gedit, change the line

CONFARGS  = --prefix=/usr --openssldir=/usr/lib/ssl 
--libdir=lib/$(DEB_HOST_MULTIARCH) no-idea no-mdc2 no-rc5 no-zlib 
no-ssl3 enable-unit-test no-ssl3-method enable-rfc3779 enable-cms


to add the no-ssl2 argument, or something like that.  See 
https://wiki.openssl.org/index.php/Compilation_and_Installation


But be careful!  You probably want to have the original system .deb 
files for its openssl in an origopenssl dir
so you can reinstall them with 'sudo dpkg -i origopenssl/*.deb' when 
this breaks.


- Dan


On Wed, Aug 5, 2020 at 1:28 PM Patrick Mooc > wrote:


Thank you very much Kyle for your quick and clear answer.

The reason why I want to upgrade OpenSSL version, is that I
encounter a problem with 1 frame exchange between client and server.

This frame is the first packet sent from client to server (Client
Hello Packet) and the protocol used for this packet is SSLv2.
I don't understand why, because I force the use of TLSv1 (in
ssl.conf file as in application software), but only for this first
exchange packet, SSLv2 is used. All other packets are well using
TLSv10 as configured.

I have also searched for forcing the use of TLSv10 ciphers in
OpenSSL configuration and in application software, but I didn't
succeed doing so.

That's why I had in idea of upgrading OpenSSL version to avoid the
use of SSLv2 protocol.


Thus, if you have any idea of how to solve my problem without
upgrading OpenSSL version or Linux distribution, It would be very
nice.


Thank you in advance for your answer.

Best Regards,


Le 05/08/2020 à 22:10, Kyle Hamilton a écrit :

It is never recommended to upgrade you distribution's version of
OpenSSL with one you compile yourself.  Doing so will often break
all software installed by the distribution that uses it.

If you need functionality from newer versions of OpenSSL, your
options are to upgrade your OS version, or to install a local
copy of OpenSSL and manually compile and link local copies of the
applications that need the newer functionality.

(Newer versions of OpenSSL do not maintain the same Application
Binary Interface (ABI), which means that binaries compiled
against older versions will not correctly operate or dynamically
link against newer libraries. Also, distributions such as Debian
can modify the ABI in such a way that nothing distributed
directly by openssl.org  can be compiled to
meet it without source code modification.)

-Kyle H

On Wed, Aug 5, 2020, 14:49 Patrick Mooc mailto:patrick.m...@gmail.com>> wrote:

Hello,

I'm using an old version of OpenSSL (0.9.8g) on an old Linux
Debian
distribution (Lenny).

Is it possible to upgrade OpenSSL version without upgrading
Linux Debian
distribution ?
If yes, up to which version of OpenSSL ?

Are all versions of OpenSSL compliant with all Linux Debian
distribution ?


Thank you in advance for your answer.

Best Regards,



Re: OpenSSL compliance with Linux distributions

2020-08-10 Thread Patrick Mooc

Hello Hubert,

Thank you for your answser.

I already did this test, but also without success.

Best Regards,


Le 07/08/2020 à 18:18, Hubert Kario a écrit :

On Thursday, 6 August 2020 21:24:32 CEST, Patrick Mooc wrote:

Thank you Ben for your answer.

I had a look today for this point, but I didin't found anything about 
extension in the OpenSSL version I use (0.9.8).


Maybe I have to modify OpenSSL configuration file (openssl.conf) and 
compile OpenSSL again. I will check this tomorrow.


changing configuration file won't affect behaviour of OpenSSL in your
situation

I don't remember if this was behaviour for 0.9.8, but IIRC 1.0.1 would 
send
SSLv2 compatible Client Hello only if there were any SSLv2 compatible 
ciphers


try explicitly disabling RC4-MD5 cipher, that may help


Best Regards,


Le 05/08/2020 à 22:46, Benjamin Kaduk a écrit :

On Wed, Aug 05, 2020 at 10:28:26PM +0200, Patrick Mooc wrote: ...








Re: OpenSSL compliance with Linux distributions

2020-08-07 Thread Dan Kegel
Suggestion: get the source for the exact same version of openssl your
system uses, and rebuild it with sslv2 disabled.

e.g.

sudo apt install build-essential devscripts
sudo apt build-dep openssl
mkdir tmp
cd tmp
apt source openssl
cd openssl-*
gedit debian/rules # see below
debuild -b -uc -us
cd ..
sudo apt install *.deb

While editing debian/rules in gedit, change the line

CONFARGS  = --prefix=/usr --openssldir=/usr/lib/ssl
--libdir=lib/$(DEB_HOST_MULTIARCH) no-idea no-mdc2 no-rc5 no-zlib no-ssl3
enable-unit-test no-ssl3-method enable-rfc3779 enable-cms

to add the no-ssl2 argument, or something like that.  See
https://wiki.openssl.org/index.php/Compilation_and_Installation

But be careful!  You probably want to have the original system .deb files
for its openssl in an origopenssl dir
so you can reinstall them with 'sudo dpkg -i origopenssl/*.deb' when this
breaks.

- Dan


On Wed, Aug 5, 2020 at 1:28 PM Patrick Mooc  wrote:

> Thank you very much Kyle for your quick and clear answer.
>
> The reason why I want to upgrade OpenSSL version, is that I encounter a
> problem with 1 frame exchange between client and server.
>
> This frame is the first packet sent from client to server (Client Hello
> Packet) and the protocol used for this packet is SSLv2.
> I don't understand why, because I force the use of TLSv1 (in ssl.conf file
> as in application software), but only for this first exchange packet, SSLv2
> is used. All other packets are well using TLSv10 as configured.
>
> I have also searched for forcing the use of TLSv10 ciphers in OpenSSL
> configuration and in application software, but I didn't succeed doing so.
>
> That's why I had in idea of upgrading OpenSSL version to avoid the use of
> SSLv2 protocol.
>
>
> Thus, if you have any idea of how to solve my problem without upgrading
> OpenSSL version or Linux distribution, It would be very nice.
>
>
> Thank you in advance for your answer.
>
> Best Regards,
>
>
> Le 05/08/2020 à 22:10, Kyle Hamilton a écrit :
>
> It is never recommended to upgrade you distribution's version of OpenSSL
> with one you compile yourself.  Doing so will often break all software
> installed by the distribution that uses it.
>
> If you need functionality from newer versions of OpenSSL, your options are
> to upgrade your OS version, or to install a local copy of OpenSSL and
> manually compile and link local copies of the applications that need the
> newer functionality.
>
> (Newer versions of OpenSSL do not maintain the same Application Binary
> Interface (ABI), which means that binaries compiled against older versions
> will not correctly operate or dynamically link against newer libraries.
> Also, distributions such as Debian can modify the ABI in such a way that
> nothing distributed directly by openssl.org can be compiled to meet it
> without source code modification.)
>
> -Kyle H
>
> On Wed, Aug 5, 2020, 14:49 Patrick Mooc  wrote:
>
>> Hello,
>>
>> I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian
>> distribution (Lenny).
>>
>> Is it possible to upgrade OpenSSL version without upgrading Linux Debian
>> distribution ?
>> If yes, up to which version of OpenSSL ?
>>
>> Are all versions of OpenSSL compliant with all Linux Debian distribution ?
>>
>>
>> Thank you in advance for your answer.
>>
>> Best Regards,
>>
>>


Re: OpenSSL compliance with Linux distributions

2020-08-07 Thread Hubert Kario

On Thursday, 6 August 2020 21:24:32 CEST, Patrick Mooc wrote:

Thank you Ben for your answer.

I had a look today for this point, but I didin't found anything 
about extension in the OpenSSL version I use (0.9.8).


Maybe I have to modify OpenSSL configuration file 
(openssl.conf) and compile OpenSSL again. I will check this 
tomorrow.


changing configuration file won't affect behaviour of OpenSSL in your
situation

I don't remember if this was behaviour for 0.9.8, but IIRC 1.0.1 would send
SSLv2 compatible Client Hello only if there were any SSLv2 compatible 
ciphers


try explicitly disabling RC4-MD5 cipher, that may help


Best Regards,


Le 05/08/2020 à 22:46, Benjamin Kaduk a écrit :

On Wed, Aug 05, 2020 at 10:28:26PM +0200, Patrick Mooc wrote: ...






--
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 115, 612 00  Brno, Czech Republic



Re: OpenSSL compliance with Linux distributions

2020-08-06 Thread Patrick Mooc

Thank you Ben for your answer.

I had a look today for this point, but I didin't found anything about 
extension in the OpenSSL version I use (0.9.8).


Maybe I have to modify OpenSSL configuration file (openssl.conf) and 
compile OpenSSL again. I will check this tomorrow.



Best Regards,


Le 05/08/2020 à 22:46, Benjamin Kaduk a écrit :

On Wed, Aug 05, 2020 at 10:28:26PM +0200, Patrick Mooc wrote:

Thank you very much Kyle for your quick and clear answer.

The reason why I want to upgrade OpenSSL version, is that I encounter a
problem with 1 frame exchange between client and server.

This frame is the first packet sent from client to server (Client Hello
Packet) and the protocol used for this packet is SSLv2.
I don't understand why, because I force the use of TLSv1 (in ssl.conf file
as in application software), but only for this first exchange packet, SSLv2
is used. All other packets are well using TLSv10 as configured.

I have also searched for forcing the use of TLSv10 ciphers in OpenSSL
configuration and in application software, but I didn't succeed doing so.

That's why I had in idea of upgrading OpenSSL version to avoid the use of
SSLv2 protocol.


Thus, if you have any idea of how to solve my problem without upgrading
OpenSSL version or Linux distribution, It would be very nice.

Using an "SSLv2-compatible" ClientHello is rather distinct from actually using
the SSLv2 protocol; I believe that the former is what is happening for you.

IIRC sending any TLS extension with the ClientHello suppresses the use of the
v2-compatible format, so you might be able to do that.  (I don't remember 
offhand
which extensions are implemented in that old of an OpenSSL version, and
whether they're enabled in the default build, though.)

-Ben


Re: OpenSSL compliance with Linux distributions

2020-08-05 Thread Benjamin Kaduk via openssl-users
On Wed, Aug 05, 2020 at 10:28:26PM +0200, Patrick Mooc wrote:
> Thank you very much Kyle for your quick and clear answer.
> 
> The reason why I want to upgrade OpenSSL version, is that I encounter a
> problem with 1 frame exchange between client and server.
> 
> This frame is the first packet sent from client to server (Client Hello
> Packet) and the protocol used for this packet is SSLv2.
> I don't understand why, because I force the use of TLSv1 (in ssl.conf file
> as in application software), but only for this first exchange packet, SSLv2
> is used. All other packets are well using TLSv10 as configured.
> 
> I have also searched for forcing the use of TLSv10 ciphers in OpenSSL
> configuration and in application software, but I didn't succeed doing so.
> 
> That's why I had in idea of upgrading OpenSSL version to avoid the use of
> SSLv2 protocol.
> 
> 
> Thus, if you have any idea of how to solve my problem without upgrading
> OpenSSL version or Linux distribution, It would be very nice.

Using an "SSLv2-compatible" ClientHello is rather distinct from actually using
the SSLv2 protocol; I believe that the former is what is happening for you.

IIRC sending any TLS extension with the ClientHello suppresses the use of the
v2-compatible format, so you might be able to do that.  (I don't remember 
offhand
which extensions are implemented in that old of an OpenSSL version, and
whether they're enabled in the default build, though.)

-Ben


Re: OpenSSL compliance with Linux distributions

2020-08-05 Thread Patrick Mooc

Dear Skip,

Thank you also very much for your quick answer.

Ok, it could then be interesting to test an upgrade of openSSL on my system.
My project is running on a Compact Flash card, so I think that I can 
test the upgrade directly on a device.



Do you have some advices, some steps to follow (in order to limit risks 
as much as possible) ?



Thank you in advance.

Best Regards,


Le 05/08/2020 à 22:19, Skip Carter a écrit :

Patrick,

I am also supporting servers running very old Linux systems and I can
tell you that YES you can upgrade from source. I have built
   openssl-1.1.1 from source on such systems with no problems.

On Wed, 2020-08-05 at 21:49 +0200, Patrick Mooc wrote:

Hello,

I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian
distribution (Lenny).

Is it possible to upgrade OpenSSL version without upgrading Linux
Debian
distribution ?
If yes, up to which version of OpenSSL ?

Are all versions of OpenSSL compliant with all Linux Debian
distribution ?


Thank you in advance for your answer.

Best Regards,



Re: OpenSSL compliance with Linux distributions

2020-08-05 Thread Patrick Mooc

Thank you very much Kyle for your quick and clear answer.

The reason why I want to upgrade OpenSSL version, is that I encounter a 
problem with 1 frame exchange between client and server.


This frame is the first packet sent from client to server (Client Hello 
Packet) and the protocol used for this packet is SSLv2.
I don't understand why, because I force the use of TLSv1 (in ssl.conf 
file as in application software), but only for this first exchange 
packet, SSLv2 is used. All other packets are well using TLSv10 as 
configured.


I have also searched for forcing the use of TLSv10 ciphers in OpenSSL 
configuration and in application software, but I didn't succeed doing so.


That's why I had in idea of upgrading OpenSSL version to avoid the use 
of SSLv2 protocol.



Thus, if you have any idea of how to solve my problem without upgrading 
OpenSSL version or Linux distribution, It would be very nice.



Thank you in advance for your answer.

Best Regards,


Le 05/08/2020 à 22:10, Kyle Hamilton a écrit :
It is never recommended to upgrade you distribution's version of 
OpenSSL with one you compile yourself.  Doing so will often break all 
software installed by the distribution that uses it.


If you need functionality from newer versions of OpenSSL, your options 
are to upgrade your OS version, or to install a local copy of OpenSSL 
and manually compile and link local copies of the applications that 
need the newer functionality.


(Newer versions of OpenSSL do not maintain the same Application Binary 
Interface (ABI), which means that binaries compiled against older 
versions will not correctly operate or dynamically link against newer 
libraries. Also, distributions such as Debian can modify the ABI in 
such a way that nothing distributed directly by openssl.org 
 can be compiled to meet it without source code 
modification.)


-Kyle H

On Wed, Aug 5, 2020, 14:49 Patrick Mooc > wrote:


Hello,

I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian
distribution (Lenny).

Is it possible to upgrade OpenSSL version without upgrading Linux
Debian
distribution ?
If yes, up to which version of OpenSSL ?

Are all versions of OpenSSL compliant with all Linux Debian
distribution ?


Thank you in advance for your answer.

Best Regards,



Re: OpenSSL compliance with Linux distributions

2020-08-05 Thread Skip Carter
Patrick,

I am also supporting servers running very old Linux systems and I can
tell you that YES you can upgrade from source. I have built
  openssl-1.1.1 from source on such systems with no problems.

On Wed, 2020-08-05 at 21:49 +0200, Patrick Mooc wrote:
> Hello,
> 
> I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian 
> distribution (Lenny).
> 
> Is it possible to upgrade OpenSSL version without upgrading Linux
> Debian 
> distribution ?
> If yes, up to which version of OpenSSL ?
> 
> Are all versions of OpenSSL compliant with all Linux Debian
> distribution ?
> 
> 
> Thank you in advance for your answer.
> 
> Best Regards,
> 
-- 
Dr Everett (Skip) Carter  0xF29BF36844FB7922
s...@taygeta.com

Taygeta Scientific Inc
607 Charles Ave
Seaside CA 93955
831-641-0645 x103



signature.asc
Description: This is a digitally signed message part


Re: OpenSSL compliance with Linux distributions

2020-08-05 Thread Kyle Hamilton
It is never recommended to upgrade you distribution's version of OpenSSL
with one you compile yourself.  Doing so will often break all software
installed by the distribution that uses it.

If you need functionality from newer versions of OpenSSL, your options are
to upgrade your OS version, or to install a local copy of OpenSSL and
manually compile and link local copies of the applications that need the
newer functionality.

(Newer versions of OpenSSL do not maintain the same Application Binary
Interface (ABI), which means that binaries compiled against older versions
will not correctly operate or dynamically link against newer libraries.
Also, distributions such as Debian can modify the ABI in such a way that
nothing distributed directly by openssl.org can be compiled to meet it
without source code modification.)

-Kyle H

On Wed, Aug 5, 2020, 14:49 Patrick Mooc  wrote:

> Hello,
>
> I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian
> distribution (Lenny).
>
> Is it possible to upgrade OpenSSL version without upgrading Linux Debian
> distribution ?
> If yes, up to which version of OpenSSL ?
>
> Are all versions of OpenSSL compliant with all Linux Debian distribution ?
>
>
> Thank you in advance for your answer.
>
> Best Regards,
>
>


OpenSSL compliance with Linux distributions

2020-08-05 Thread Patrick Mooc

Hello,

I'm using an old version of OpenSSL (0.9.8g) on an old Linux Debian 
distribution (Lenny).


Is it possible to upgrade OpenSSL version without upgrading Linux Debian 
distribution ?

If yes, up to which version of OpenSSL ?

Are all versions of OpenSSL compliant with all Linux Debian distribution ?


Thank you in advance for your answer.

Best Regards,