Релиз OpenSSH 10.0

9 апреля 2025 года состоялся релиз открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP — инструмента OpenSSH 10.0. В новой версии проекта полностью удалена поддержка алгоритма подписи DSA, добавлена возможность использование постквантового алгоритма mlkem768×25 519-sha256 для согласования ключей по умолчанию, появилась поддержка активации systemd‑style socket в Portable OpenSSH.

Также в новом выпуске проекта предложено несколько существенных изменений, нацеленных на повышение безопасности, устранены ранее обнаруженные ошибки и внесены небольшие улучшения для удобства использования. Предыдущая стабильная версия OpenSSH 9.9 вышла в сентябре 2024 года.

В примечаниях к выпуску OpenSSH 10.0 предупреждается, что «программное обеспечение, которое по наитию сопоставляет (naively matches) версии с использованием шаблонов вроде „OpenSSH_1*“», может быть сбито с толку новым номером версии.

Согласно данным OpenNET, основные изменения и дополнения в OpenSSH 10.0:

удалена поддержка цифровых подписей на базе алгоритма 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×25 519-sha256», стойкий к подбору на квантовом компьютере и представляющий собой комбинацию из X25 519 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.*»;

в 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;

изменение в sshd, связанное с безопасностью: директива DisableForwarding не запрещала должным образом перенаправление протокола X11 и обращений к ssh‑agent. Перенаправление X11 отключено по умолчанию на стороне сервера, а перенаправление ssh‑agent на стороне клиента.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии