Релиз OpenSSH 10.0
Опубликован релиз OpenSSH 10.0, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. Основные изменения:
Удалена поддержка цифровых подписей на базе алгоритма DSA, уровень защиты которых не соответствует современным требованиям. Затраты на продолжение сопровождения небезопасного алгоритма DSA не оправдывают себя и его удаление позволит стимулировать прекращение поддержки DSA в других реализациях SSH и криптографических библиотеках. По умолчанию использование ключей DSA прекращено ещё в 2015 году.
Продолжено разделение sshd на несколько отдельных исполняемых файлов. В OpenSSH 9.8 из sshd был выделен процесс sshd-session, выполняющий задачи, связанные с обработкой сеансов. В OpenSSH 10.0 из sshd-session в отдельный процесс sshd-auth перенесён код, выполняющий аутентификацию. Процесс sshd-auth позволяет дополнительно изолировать связанные с аутентификацией данные в адресном пространстве отдельного процесса, что не даст получить доступ к этим данным в памяти в случае проведения атак на код, используемый для обработки стадий соединения до завершения аутентификации. Кроме того, изменение немного снизит потребление памяти, так как связанный с аутентификацией код теперь присутствует в памяти только в момент проведения аутентификации, а затем выгружается при завершении процесса sshd-auth.
В ssh по умолчанию задействован гибридный алгоритм обмена ключами «mlkem768×25519-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 на стороне клиента.
Источник: http://www.opennet.ru/opennews/art.shtml? num=63042
© OpenNet