Релиз OpenSSH 8.4
После четырёх месяцев разработки представлен релиз OpenSSH 8.4, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP.
Основные изменения:
- Изменения, связанные с безопасностью:
- В ssh-agent при использовании ключей FIDO, созданных не для аутентификации через SSH (идентификатор ключа начинается не со строки «ssh:»), теперь выполняется проверка, что сообщение будет подписано с использованием методов, применяемых в протоколе SSH. Изменение не позволит перенаправлять ssh-agent на удалённые хосты, имеющие FIDO-ключи, для блокирования возможности использования данных ключей для формирование подписей запросов web-аутентификации (обратный случай, когда браузер может подписать запрос SSH, изначально исключён, благодаря применению префикса «ssh:» в идентификаторе ключа).
- В ssh-keygen при генерации резидентного ключа включена поддержка дополнения credProtect, описанного в спецификации FIDO 2.1, предоставляющего дополнительную защиту для ключей через обязательный запрос ввода PIN-кода перед выполнением любой операции, которая может привести к извлечению резидентного ключа из токена.
- Изменения, потенциально нарушающие совместимость:
- Для поддержки FIDO/U2F рекомендовано использовать библиотеку libfido2 как минимум версии 1.5.0. Частично реализована возможность использования и старых выпусков, но в этом случае будут недоступны такие функции, как резидентные ключи, запрос PIN и подключение нескольких токенов.
- В ssh-keygen в формат подтверждающей информации, опционально сохраняемой при генерации ключа FIDO, добавлены данные для аутентификатора, необходимые для проверки подтверждающих цифровых подписей.
- Изменён API, применяемый при взаимодействии OpenSSH с прослойкой для обращения к токенам FIDO.
- При сборке переносимой версии OpenSSH теперь требуется automake для формирования скрипта configure и сопутствующих сборочных файлов (если сборка выполняется из опубликованного tar-файла с кодом, перегенерация configure не требуется).
- В ssh и ssh-keygen добавлена поддержка FIDO-ключей, требующих подтверждения при помощи PIN-кода. Для генерации ключей с PIN в ssh-keygen добавлена опция «verify-required». В случае использования подобных ключей, перед выполнением операции создания подписи пользователю выводится запрос, требующий подтвердить свои действия через ввод PIN-кода.
- В sshd в настройке authorized_keys реализована опция «verify-required», требующая применения возможностей по верификации присутствия пользователя во время операций с токеном. Стандарт FIDO предусматривает несколько вариантов подобной верификации, но в настоящее время в OpenSSH поддерживается только проверка на основе PIN-кода.
- В sshd и ssh-keygen добавлена поддержка проверки цифровых подписей, соответствующих стандарту FIDO Webauthn, позволяющему применять ключи FIDO в web-браузерах.
- В ssh в настройках CertificateFile, ControlPath, IdentityAgent, IdentityFile, LocalForward и RemoteForward разрешена подстановка значений из переменных окружения, указанных в формате »${ENV}».
- В ssh и ssh-agent добавлена поддержка переменной окружения $SSH_ASKPASS_REQUIRE, которую можно использовать для включения или отключения вызова ssh-askpass.
- В ssh в ssh_config в директиве AddKeysToAgent добавлена возможность ограничения времени действия ключа. После истечения заданного лимита ключи автоматически удаляются из ssh-agent.
- В scp и sftp при помощи флага »-A» теперь можно явно разрешить перенаправление в scp и sftp с использованием ssh-agent (по умолчанию перенаправление запрещено).
- В настройках ssh добавлена поддержка подстановки '%k', определяющей имя ключа хоста. Указанную возможность можно использовать для разнесения ключей по отдельным файлам (например, «UserKnownHostsFile ~/.ssh/known_hosts.d/%k»).
- Разрешено использование операции «ssh-add -d -» для чтения из stdin ключей, которые подлежат удалению.
- В sshd обеспечено отражение в логе начала и завершения процесса урезания соединений, регулируемого при помощи параметра MaxStartups.
Разработчики OpenSSH также напомнили о грядущем переводе в разряд устаревших алгоритмов, использующих хеши SHA-1, в связи с повышением эффективности коллизионных атак с заданным префиксом (стоимость подбора коллизии оценивается примерно в 45 тысяч долларов). В одном из ближайших выпусков планируют отключить по умолчанию возможность использования алгоритма цифровых подписей по открытому ключу «ssh-rsa», который упоминается в оригинальном RFC для протокола SSH и остаётся широко распространённым на практике (для проверки применения ssh-rsa в своих системах можно попробовать подключиться по ssh с опцией »-oHostKeyAlgorithms=-ssh-rsa»).
Для сглаживания перехода на новые алгоритмы в OpenSSH в следующем выпуске по умолчанию будет включена настройка UpdateHostKeys, которая позволит автоматически перевести клиентов на более надёжные алгоритмы. Среди рекомендуемых для миграции алгоритмов упомянуты rsa-sha2–256/512 на базе RFC8332 RSA SHA-2 (поддерживается с OpenSSH 7.2 и используется по умолчанию), ssh-ed25519 (поддерживается с OpenSSH 6.5) и ecdsa-sha2-nistp256/384/521 на базе RFC5656 ECDSA (поддерживается с OpenSSH 5.7).
Источник: http://www.opennet.ru/opennews/art.shtml? num=53793
© OpenNet