После четырех месяцев разработки выпуск новая версия ОпенСШ 8.2, который представляет собой открытую реализацию клиента и сервера для работы по протоколам SSH 2.0 и SFTP. А ключевых улучшений при запуске по OpenSSH 8.2 fес возможность использования двухфакторной аутентификации с помощью устройств которые поддерживают протокол U2F разработан альянсом FIDO.
U2F позволяет создавать недорогие аппаратные токены для подтверждения физического присутствия пользователя, взаимодействующего через USB, Bluetooth или NFC. Такие устройства продвигаются как средство двухфакторной аутентификации на сайтах, уже совместимы со всеми основными браузерами и производятся различными производителями, включая Yubico, Feitian, Thetis и Kensington.
Для взаимодействия с устройствами, подтверждающими присутствие пользователя, OpenSSH добавил два новых типа ключей «ecdsa-sk» и «ed25519-sk»., которые используют алгоритмы цифровой подписи ECDSA и Ed25519 в сочетании с хешем SHA-256.
Процедуры взаимодействия с токенами перенесены в промежуточную библиотеку, который загружается по аналогии с библиотекой для поддержки PKCS # 11 и является ссылкой на библиотеку libfido2, которая предоставляет средства для связи с токенами через USB (поддерживаются два протокола FIDO U2F / CTAP 1 и FIDO 2.0 / CTAP).
Промежуточная библиотека libsk-libfido2, подготовленная разработчиками OpenSSH.и включает в себя libfido2 ядра, а также драйвер HID для OpenBSD.
Для аутентификации и генерации ключей необходимо указать параметр «SecurityKeyProvider» в конфигурации или установить переменную среды SSH_SK_PROVIDER, указав путь к внешней библиотеке libsk-libfido2.so.
Можно собрать openssh со встроенной поддержкой библиотеки среднего уровня. и в этом случае вам нужно установить параметр «SecurityKeyProvider = internal».
Также по умолчанию при выполнении ключевых операций требуется локальное подтверждение физического присутствия пользователя, например, предлагается прикоснуться к датчику на токене, что затрудняет выполнение удаленных атак на системы с подключенным токеном. .
С другой стороны, новая версия OpenSSH также объявила о грядущем переходе в разряд устаревших алгоритмов, использующих хеширование SHA-1. за счет повышения эффективности коллизионных атак.
Чтобы упростить переход на новые алгоритмы в OpenSSH в следующем выпуске, параметр UpdateHostKeys будет включен по умолчанию, который автоматически переключит клиентов на более надежные алгоритмы.
Его также можно найти в OpenSSH 8.2, возможность подключения по "ssh-rsa" еще осталась, но этот алгоритм удален из списка CASignatureAlgorithms, который определяет алгоритмы, действительные для цифровой подписи новых сертификатов.
Точно так же алгоритм diffie-hellman-group14-sha1 был удален из алгоритмов обмена ключами по умолчанию.
Из других изменений, которые выделяются в этой новой версии:
- В sshd_config добавлена директива include, которая позволяет включать содержимое других файлов в текущую позицию файла конфигурации.
- Директива PublishAuthOptions была добавлена в sshd_config, объединяя различные параметры, связанные с аутентификацией с открытым ключом.
- Добавлен параметр «-O write-attestation = / path» в ssh-keygen, который позволяет записывать дополнительные сертификаты сертификации FIDO при генерации ключей.
- В ssh-keygen добавлена возможность экспорта PEM для ключей DSA и ECDSA.
- Добавлен новый исполняемый файл ssh-sk-helper, используемый для изоляции библиотеки доступа к токенам FIDO / U2F.
Как установить OpenSSH 8.2 в Linux?
Для тех, кто заинтересован в возможности установить эту новую версию OpenSSH в своих системах, пока они могут это сделать скачивая исходный код этого и выполняя компиляцию на своих компьютерах.
Это связано с тем, что новая версия еще не включена в репозитории основных дистрибутивов Linux. Чтобы получить исходный код OpenSSH 8.2. Вы можете сделать это из следующую ссылку (на момент написания пакета еще нет на зеркалах, и они упоминают, что это может занять еще несколько часов)
Готово, Теперь мы собираемся распаковать пакет с помощью следующей команды:
tar -xvf openssh-8.2.tar.gz
Входим в созданный каталог:
cd openssh-8.2
Y мы можем скомпилировать с следующие команды:
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install