Релиз OpenSSH 8.4
28 сентября 2020 года
После четырёх месяцев разработки представлен релиз 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).
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.