Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added OpenSSH 8.5/8.5p1 KexAlgorithms Support #192

Merged
merged 8 commits into from
Mar 23, 2021
Merged

Added OpenSSH 8.5/8.5p1 KexAlgorithms Support #192

merged 8 commits into from
Mar 23, 2021

Conversation

lonkey
Copy link
Contributor

@lonkey lonkey commented Mar 4, 2021

OpenSSH 8.5 was released on 2021-03-03 and was officially made available for Arch Linux on 2021-03-04 17:09 UTC. The previous key exchange method sntrup4591761x25519-sha512@tinyssh.org is replaced with sntrup761x25519-sha512@openssh.com in this release. Consequently, the ssh_crypto.rb library has to be updated.

@micheelengronne
Copy link
Member

Ok, but what is the state of usage on that ? I mean, if the majority of Arch users still use a version previous to this one (and according to the date I think so), we should ensure compatibility with them for a certain amount of time.

Copy link
Member

@micheelengronne micheelengronne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a release check to ensure compatibility with previous Arch versions ?

@lonkey
Copy link
Contributor Author

lonkey commented Mar 5, 2021

Can you add a release check to ensure compatibility with previous Arch versions ?

As proposed, compatibility with older OpenSSH versions on Arch Linux is now ensured.

Ok, but what is the state of usage on that ? I mean, if the majority of Arch users still use a version previous to this one (and according to the date I think so), we should ensure compatibility with them for a certain amount of time.

Since Arch Linux is not the only supported rolling release system, compatibility should also be ensured on the other platforms as a precautionary measure, shouldn't it?
So far, openSUSE Tumbleweed and Alpine have not released an update to OpenSSH 8.5, but this is probably only a matter of a few weeks/days. Should I include an OpenSSH version match for these platforms as well?

@micheelengronne
Copy link
Member

Ok, but what is the state of usage on that ? I mean, if the majority of Arch users still use a version previous to this one (and according to the date I think so), we should ensure compatibility with them for a certain amount of time.

Since Arch Linux is not the only supported rolling release system, compatibility should also be ensured on the other platforms as a precautionary measure, shouldn't it?
So far, openSUSE Tumbleweed and Alpine have not released an update to OpenSSH 8.5, but this is probably only a matter of a few weeks/days. Should I include an OpenSSH version match for these platforms as well?

Indeed, it would be very great ! Thank you.

@lonkey lonkey changed the title Added OpenSSH 8.5/8.5p1 KexAlgorithms Support WIP: Added OpenSSH 8.5/8.5p1 KexAlgorithms Support Mar 5, 2021
@lonkey
Copy link
Contributor Author

lonkey commented Mar 5, 2021

Done TBD
Arch Alpine
Fedora openSUSE

For most platforms (including Alpine and openSUSE), the operating system version is used to derive the OpenSSH version. Why is the OpenSSH version itself not primarily used for this?

kex = inspec.os[:release].split('.')[1] >= '10' ? kex80 : kex66

I'm asking because the current master already uses a subversion to determine the correct key exchange algorithms for Alpine and openSUSE. I want to avoid making the change unnecessarily complicated, confusing or not being in line with best practice.

@schurzi
Copy link
Contributor

schurzi commented Mar 7, 2021

Why is the OpenSSH version itself not primarily used for this?

That may be because of RedHat, they like to backport stuff without changing the version number of packages.

see

# RedHat Enterprise Linux (and family) backported SHA2 support to their fork of OpenSSH 5.3 in RHEL 6.5.
# See BZ#969565 at:
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html-single/6.5_technical_notes/index#openssh
# Because extended support (EUS) updates for 6.x minor releases is no longer available,
# only the settings available for the supported (latest) 6.x release are recommended.

and https://www.redhat.com/en/blog/what-backporting-and-how-does-it-apply-rhel-and-other-red-hat-products

@lonkey lonkey changed the title WIP: Added OpenSSH 8.5/8.5p1 KexAlgorithms Support Added OpenSSH 8.5/8.5p1 KexAlgorithms Support Mar 11, 2021
@lonkey
Copy link
Contributor Author

lonkey commented Mar 11, 2021

That may be because of RedHat, they like to backport stuff without changing the version number of packages.

I have now grouped the validation of the key exchange algorithms for Alpine, Arch, Fedora and openSUSE, as no difference seems to exist there due to the lack of backports. Finally, I tested my changes using Vagrant for all 4 operating systems on different versions and could not find any error. So everything should be fine now.

However, all CI/CD verifications fail. According to the details, this does not seem to be due to my code changes.

@schurzi
Copy link
Contributor

schurzi commented Mar 11, 2021

However, all CI/CD verifications fail. According to the details, this does not seem to be due to my code changes.

No, the failures are not because of you. I'm trying to find out, why tihs happens. It started a few days ago and I cannot pinpoint any change or problem with our repo or workflow. My guess would be something with the Gem source (packagecloud.io). I will need to do some further investigation.

@schurzi
Copy link
Contributor

schurzi commented Mar 22, 2021

I found a fix for the Ci issue. #194

If you do a merge or rebase things will be working.

Lukas Zorn added 8 commits March 23, 2021 13:33
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
Signed-off-by: Lukas Zorn <github@lukaszorn.de>
@lonkey
Copy link
Contributor Author

lonkey commented Mar 23, 2021

If you do a merge or rebase things will be working.

Done.

@micheelengronne
Copy link
Member

Let's go !!

@micheelengronne micheelengronne merged commit 88b3c46 into dev-sec:master Mar 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants