19 сентября 2024 года состоялся релиз открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP — инструмента OpenSSH 9.9. В новой версии проекта появилась поддержка нового постквантового стандарта криптографии от NIST, а ключи DSA отключены по умолчанию во время компиляции и, как ожидается, будут полностью удалены в начале 2025 года. В новом выпуске проекта также предложено несколько существенных изменений, нацеленных на повышение безопасности, устранены ранее обнаруженные ошибки и внесены небольшие улучшения для удобства использования. Предыдущая стабильная версия OpenSSH 9.8 вышла в июле этого года.
Согласно данным OpenNET, основные изменения и дополнения в OpenSSH 9.9:
• в ssh и sshd добавлена поддержка гибридного алгоритма обмена ключами «mlkem768x25519-sha256», стойкого к подбору на квантовом компьютере и представляющего собой комбинацию из X25519 ECDH и алгоритма ML-KEM (CRYSTALS-Kyber), недавно стандартизированный Национальным институтом стандартов и технологий США (NIST). ML-KEM использует методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах;
• в файл конфигурации sshd_config добавлено ключевое слово RefuseConnection, при выставлении которого sshd будет завершать соединения после первой попытки аутентификации. В директиву PerSourcePenalties добавлен класс refuseconnection, который применяется при завершении соединения после срабатывания RefuseConnection;
• в клиенте ssh прекращена поддержка сжатия данных на этапе до прохождения аутентификации, которая существенно увеличивает поверхность атаки на SSH-серверы и создаёт риски применения косвенных методов анализа информации, отправляемой в процессе аутентификации. В сервере sshd сжатие до аутентификации было отключено ранее;
• в ssh и sshd при разборе аргументов директивы Match задействованы похожие на shell правила работы со строками, заключёнными в кавычки, поддерживающие вложенное обрамление и экранирования при помощи символа «»;
• в файле конфигурации ssh_config в директиве Include обеспечена поддержка переменных окружения и «%»-подстановок, таких же как в директиве Match Exec;
• в sshd_config в директиву Match добавлена опция invalid-user, срабатывающая при попытке входа с некорректным именем пользователя;
• в ssh и sshd задействована более быстрая реализация алгоритма Streamlined NTRUPrime. Для гибридного алгоритма обмена ключами Streamlined NTRUPrime/X25519 добавлена возможность использования имени «sntrup761x25519-sha512», помимо специфичного для SSH имени sntrup761x25519-sha512[@]openssh.com;
• в ssh, sshd и ssh-agent добавлена работающая в OpenBSD, Linux и FreeBSD защита от оседания закрытых ключей в core-файлах;
• обработка ключей переведена на использование API EVP_PKEY, предоставляемый библиотекой libcrypto;
• в sshd добавлено случайное изменение таймаута подключения (LoginGraceTime) в пределах 4 секунд для усложнения определения истечения таймаута;
• решены проблемы со сборкой с библиотекой Musl.
В апреле 2022 года состоялся релиз OpenSSH 9.0, в котором была добавлена постквантовая криптография по умолчанию.
Источник: habr.com