Реліз OpenSSH 8.0

Після п'яти місяців розробки представлений реліз OpenSSH 8.0, відкритої реалізації клієнта та сервера для роботи за протоколами SSH 2.0 та SFTP.

Основні зміни:

  • У ssh і sshd додано експериментальну підтримку методу обміну ключами, стійкого до підбору на квантовому комп'ютері. Квантові комп'ютери кардинально швидше вирішують завдання розкладання натурального числа на прості множники, що лежить в основі сучасних асиметричних алгоритмів шифрування і ефективно не вирішується на класичних процесорах. Запропонований метод заснований на алгоритмі NTRU Prime (функція ntrup4591761), розробленому для постквантумних криптосистем, та метод обміну ключами на базі еліптичних кривих X25519;
  • У sshd у директивах ListenAddress і PermitOpen припинено підтримку застарілого синтаксису host/port, реалізованого в 2001 році в якості альтернативи host:port для спрощення роботи з IPv6. У сучасних умовах для IPv6 устоявся синтаксис «[::1]:22», а «host/port» часто плутають із зазначенням підмережі (CIDR);
  • У ssh, ssh-agent та ssh-add реалізована підтримка ключів ECDSA у токенах PKCS#11;
  • У ssh-keygen розмір ключа RSA за умовчанням збільшений до 3072 біт, відповідно до нових рекомендацій NIST;
  • У ssh дозволено використання налаштування "PKCS11Provider=none" для перевизначення директиви PKCS11Provider, заданої в ssh_config;
  • У sshd забезпечено відображення в лозі ситуацій, коли з'єднання завершено при спробі виконання команд, блокованих обмеженням ForceCommand = internal-sftp в sshd_config;
  • У ssh при виведенні запиту на підтвердження прийому нового хостового ключа замість відповіді «yes» тепер сприймається правильний fingerprint-відбиток ключа (у відповідь на запрошення підтвердити підключення користувач може через буфер обміну скопіювати окремо отриманий еталонний хеш, щоб вручну не займатися його порівнянням);
  • У ssh-keygen забезпечено автоматичне збільшення номера послідовності у сертифікаті під час створення цифрових підписів для кількох сертифікатів у командному рядку;
  • У scp та sftp додано нову опцію «-J», еквівалентну налаштуванню ProxyJump;
  • У ssh-agent, ssh-pkcs11-helper та ssh-add додано обробку опції командного рядка «-v» для збільшення інформативності виведення (при вказівці дана опція передається і дочірнім процесам, наприклад, коли з ssh-agent викликається ssh-pkcs11-helper );
  • У ssh-add додано опцію «-T» для тестування придатності ключів до ssh-agent для виконання операцій створення та верифікації цифрових підписів;
  • У sftp-server реалізована підтримка розширення протоколу lsetstat at openssh.com, що додає для SFTP підтримку операції SSH2_FXP_SETSTAT, але без слідування за символічними посиланнями;
  • У sftp додано опцію «-h» для виконання команд chown/chgrp/chmod із запитами, що не використовують символічні посилання;
  • У sshd забезпечено виставлення змінної оточення $SSH_CONNECTION для PAM;
  • Для sshd в ssh_config доданий режим зіставлення Match final, аналогічний Match canonical, але не вимагає включення нормалізації імені хоста;
  • У sftp додано підтримку префікса '@' для відключення трансляції виведення команд, що виконуються в пакетному режимі;
  • Виводячи вміст сертифіката за допомогою команди
    "ssh-keygen -Lf /path/certificate" тепер відображається алгоритм, використаний засвідчуючим центром для засвідчення сертифіката;

  • Покращена підтримка оточення Cygwin, наприклад, забезпечено порівняння імен груп та користувачів без урахування регістру символів. Процес sshd у порті для Cygwin змінено на cygsshd для того, щоб уникнути перетинів із портом OpenSSH, що поставляється Microsoft;
  • Додана можливість збирання з експериментальною гілкою OpenSSL 3.x;
  • Усунена вразливість (CVE-2019-6111) у реалізації утиліти scp, що дозволяє перезаписати довільні файли в цільовому каталозі на стороні клієнта при зверненні до підконтрольного зловмисника сервера. Проблема полягає в тому, що при застосуванні scp сервер приймає рішення про те, які файли та каталоги надіслати клієнту, а клієнт лише перевіряє коректність повернутих імен об'єктів. Перевірка на стороні клієнта обмежена лише блокуванням виходу за межі поточного каталогу («../»), але не враховує передачу файлів з іменами, що відрізняються від запрошених. У разі рекурсивного копіювання (-r), крім імен файлів, подібним способом можна маніпулювати і іменами підкаталогів. Наприклад, у разі копіювання користувачем у домашній каталог файлів, підконтрольний атакуючим сервер може видати замість запитаних файлів файли з іменами .bash_aliases або .ssh/authorized_keys, і вони будуть збережені утилітою scp у домашньому каталозі користувача.

    У новому випуску в утиліту scp додано перевірку відповідності запитаних та відданих сервером імен файлів, що виконується на стороні клієнта. При цьому можуть виникнути проблеми з обробкою масок, оскільки символи розкриття масок можуть по-різному оброблятися на стороні сервера та клієнта. На випадок, якщо через подібні відмінності клієнт перестане приймати файли до scp додана опція «-T», що дозволяє вимкнути перевірку на стороні клієнта. Для повноцінного виправлення проблеми потрібна концептуальна переробка протоколу scp, який сам собою вже застарів, тому замість нього рекомендовано використовувати більш сучасні протоколи, такі як sftp і rsync.

Джерело: opennet.ru

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