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).

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз OpenSSH 8.4», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.