Публикувано е изданието OpenSSH 10.0, отворена реализация за клиент и сървър, работещи по протоколите SSH 2.0 и SFTP. Основни изменения:
- Премахната е поддръжката на цифрови подписи, базирани на алгоритъм DSA, чийто защитен ниво не отговаря на съвременните изисквания. Разходите за продължаване на поддръжката на несигурния алгоритъм DSA не оправдават себе си и неговото премахване ще стимулира прекратяване на поддръжката на DSA в други реализации на SSH и криптографски библиотеки. По подразбиране използването на DSA ключове беше спряно още през 2015 г.
- Продължава разделянето на sshd на няколко отделни изпълнявани файла. В OpenSSH 9.8 от sshd бе изведен процесът sshd-session, който изпълнява задачи, свързани със обработката на сесии. В OpenSSH 10.0 кодът, извършващ автентикация, беше преместен в отделен процес sshd-auth от sshd-session. Процесът sshd-auth позволява допълнителна изолация на данните, свързани с автентикацията, в адресното пространство на отделен процес, което предотвратява достъпа до тези данни в паметта при атаки срещу кода, използван за обработка на етапите на свързване до завършване на автентикацията. Освен това, промените малко намаляват потреблението на памет, тъй като свързаният с автентикацията код сега присъства в паметта само по време на автентикацията, а след това се освобождава при завършване на процеса sshd-auth.
- В ssh по умолчанию задействован гибридный алгоритм обмена ключами «mlkem768x25519-sha256», стойкий к подбору на квантовом компьютере и представляющий собой комбинацию из X25519 ECDH и алгоритма ML-KEM (CRYSTALS-Kyber), стандартизированных Национальным институтом стандартов и технологий США (NIST). ML-KEM использует методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
- В ssh_config в директивы SetEnv и User добавлена поддержка подстановки «%-token» и раскрытия переменных окружения.
- В ssh_config и sshd_config добавлена поддержка выражения «Match version», позволяющего применять настройки в зависимости от имеющейся версии OpenSSH, например, для привязки к OpenSSH 10 можно указать «Match version OpenSSH_10.*».
- В ssh_config е добавена поддръжка на изрази:
- «Match sessiontype», позволяющего применять настройки в зависимости от типа запрошенного сеанса: «shell» для интерактивных сеансов, «exec» для запуска команд, subsystem для sftp и «none» для туннелей и перенаправления трафика.
- «Match command» для привязки действий к командам, указанным в командной строке для запуска через ssh.
- ‘Match tagged «»‘ и ‘Match command «»‘ для привязки к пустым тегам и запуску ssh без указания выполняемой команды.
- В sshd_config е разрешено използването на маски в файловите пътища, указани в директивите AuthorizedKeysFile и AuthorizedPrincipalsFile.
- В клиент ssh добавлена поддержка опции «VersionAddendum» для добавления произвольного текста к строке с номером версии (ранее данная опция была доступна только для сървър sshd).
- В утилитах scp и sftp обеспечена передача настройки «ControlMaster no» для запрета использования существующих соединений, при повторном подключении к хосту.
- В sshd по умолчанию отключена поддержка реализации алгоритма Диффи — Хеллмана в конечном поле, что привело к удалению из списка KEXAlgorithms методов «diffie-hellman-group*» и «diffie-hellman-group-exchange-*». По сравнению с алгоритмом Диффи — Хеллмана на базе эллиптических кривых удалённая реализация медленнее и требует дополнительных вычислительных ресурсов при идентичном уровне безопасности.
- В ssh при избора на шифър за връзка режимът AES-GCM вече е по-предпочитан от AES-CTR. По подразбиране е зададен списък с приоритети при избора на шифри: Chacha20/Poly1305, AES-GCM (128/256) и AES-CTR (128/192/256).
- В ssh-agent е реализирано премахване на всички заредени ключове при получаване на сигнала SIGUSR1.
- В ssh-keygen е добавена поддръжка на FIDO токени, които не връщат данни за удостоверение, като WinHello.
- В ssh-agent добавлена опция «-Owebsafe-allow=…» для переопределения белого списка FIDO-приложений.
- Добавена е експериментална утилита regress/misc/ssh-verify-attestation за верификация на данни за удостоверение FIDO, опционално генерирани от ssh-keygen при регистрация на FIDO ключове.
- В ssh-keygen разрешено использовать «-» вместо имени файла.
- В ssh-agent и преносимата версия на OpenSSH е добавена поддръжка за активиране по сокет в стил systemd, реализирана с механизма LISTEN_PID/LISTEN_FDS.
- В преносимата версия:
- Реализирана е поддръжка на криптографската библиотека AWS-LC (AWS libcrypto).
- В sshd е добавена поддръжка на wtmpdb, аналог на wtmp, който не е податлив на проблема от 2038 г.
- В sshd добавлена опция «—with-linux-memlock-onfault» для закрепления sshd в памяти (запрета вытеснения в раздел подкачки).
- Добавлена опция «—with-security-key-standalone» для сборки обособленной библиотеки sk-libfido2.
- От спецификацията на RPM пакета са премахнати настройките за компилация за RHEL 6.
- Промяна в sshd, свързана с безопасността: директивата DisableForwarding не забраняваше правилно пренасочването на протокола X11 и поискането от ssh-agent. Пренасочването на X11 е деактивирано по подразбиране на страната на сървъра, а пренасочването на ssh-agent на страната на клиента.
Източник: opennet.ru
