The new version of OpenSSH 8.8 has already been released and this new version stands out for disabling by default the ability to use digital signatures based on RSA keys with a SHA-1 hash ("ssh-rsa").
End of support for "ssh-rsa" signatures is due to an increase in the effectiveness of collision attacks with a given prefix (the cost of guessing the collision is estimated at about 50 thousand dollars). To test the use of ssh-rsa on a system, you can try connecting via ssh with the option "-oHostKeyAlgorithms = -ssh-rsa".
In addition, support for RSA signatures with SHA-256 and SHA-512 (rsa-sha2-256 / 512) hashes, which are supported since OpenSSH 7.2, has not changed. In most cases, ending support for "ssh-rsa" will require no manual action. by users, as the UpdateHostKeys setting was previously enabled by default in OpenSSH, which automatically translates clients to more reliable algorithms.
This version disables RSA signatures using the SHA-1 hashing algorithm default. This change has been made since the SHA-1 hash algorithm is cryptographically broken, and it is possible to create the chosen prefix hash collisions by
For most users, this change should be invisible and there is no need to replace ssh-rsa keys. OpenSSH is compliant with RFC8332 RSA / SHA-256/512 signatures from version 7.2 and existing ssh-rsa keys it will automatically use the strongest algorithm whenever possible.
For migration, the protocol extension "email@example.com" is used«, Which allows the server, after passing the authentication, to inform the client of all available host keys. When connecting to hosts with very old versions of OpenSSH on the client side, you can selectively reverse the ability to use "ssh-rsa" signatures by adding ~ / .ssh / config
The new version also fixes a security issue caused by sshd, since OpenSSH 6.2, incorrectly initializing the user group when executing commands specified in the AuthorizedKeysCommand and AuthorizedPrincipalsCommand directives.
These directives should ensure that the commands are run under a different user, but in fact they inherited the list of groups used when starting sshd. Potentially, this behavior, given certain system configurations, allowed the running controller to gain additional privileges on the system.
The release notes they also include a warning about intending to change the scp utility default to use SFTP instead of the legacy SCP / RCP protocol. SFTP enforces more predictable method names, and global non-processing patterns are used in file names through the shell on the other host's side, creating security concerns.
In particular, when using SCP and RCP, the server decides which files and directories to send to the client, and the client only checks the correctness of the returned object names, which, in the absence of proper checks on the client side , allows the server to transmit other file names that differ from those requested.
SFTP lacks these problems, but does not support the expansion of special routes such as "~ /". To address this difference, in the previous version of OpenSSH, a new SFTP extension was proposed in the SFTP server implementation to expose the ~ / and ~ user / paths.
Finally if you are interested in knowing more about it about this new version, you can check the details by going to the following link.
How to install OpenSSH 8.8 on Linux?
For those who are interested in being able to install this new version of OpenSSH on their systems, for now they can do it downloading the source code of this and performing the compilation on their computers.
This is because the new version has not yet been included in the repositories of the main Linux distributions. To get the source code, you can do from the following link.
Done the download, now we are going to unzip the package with the following command:
tar -xvf openssh-8.8.tar.gz
We enter the created directory:
Y we can compile with the following commands:
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install