The release of OpenSSH 9.7 has been published, which is an open implementation of a client and server for working with SSH 2.0 and SFTP protocols. In this version, changes have begun to be made in anticipation of the future discontinuation of support for keys based on the DSA algorithm. OpenSSH 9.7 provides an option to disable DSA at the compilation stage, but the default build still retains DSA support for now. In the next release slated for June, the build mode will change to disable DSA by default, and in early 2025, DSA implementation will be removed from the codebase.
By default, the use of DSA keys was discontinued back in 2015, but the code to support DSA was compiled by default, allowing DSA to be re-enabled through settings. Notably, the DSA algorithm is the only one that is mandatory to implement in the SSHv2 protocol. This requirement was added because at the time of creation and approval of the SSHv2 protocol, all alternative algorithms were subject to patents. Since then, the situation has changed, patents related to RSA have expired, the ECDSA algorithm has been introduced, which significantly outperforms DSA in terms of performance and security, and EdDSA, which is safer and faster than ECDSA.
The only factor for continuing DSA support was maintaining compatibility with legacy devices. In the current reality, the costs of continuing to support the insecure DSA algorithm are not justified, and its removal will encourage the discontinuation of DSA support in other SSH implementations and cryptographic libraries.
In addition to the changes related to DSA, the new release introduces a new type of timeout in ssh and sshd, which is activated by specifying the value "global" in the ChannelTimeout directive. In the new mode, OpenSSH monitors all open channels and closes them simultaneously if there has been no traffic in any of them for the specified period of time. For example, when channels for an SSH session and X11 forwarding are open to a host simultaneously, the new mode allows both channels to be closed at once if they are inactive, instead of tracking timeouts separately for each channel. Significant improvements in compatibility testing with the PuTTY project are also noted among the changes.
Source: opennet.ru
