Реліз 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) та ecdsa2/256 з урахуванням RFC384 ECDSA (підтримується з OpenSSH 521).

Джерело: opennet.ru

Додати коментар або відгук