Представлен релиз OpenSSH 9.0, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии утилита scp переведена по умолчанию на использование SFTP вместо устаревшего протокола SCP/RCP.
В SFTP применяются более предсказуемые методы обработки имён и не используется обработка glob-шаблонов в именах файлов через shell на стороне другого хоста, создающая проблемы с безопасностью. В частности, при применении SCP и RCP сервер принимает решение о том, какие файлы и каталоги отправить клиенту, а клиент лишь проверяет корректность возвращённых имён объектов, что в случае отсутствие должных проверок на стороне клиента позволяет серверу передать другие имена файлов, отличающиеся от запрошенных.
Протокол SFTP лишён указанных проблем, но не поддерживает раскрытие спецпутей, таких как “~/”. Для устранения данного различия начиная с OpenSSH 8.7 в реализации SFTP-сервера поддерживается расширение протокола “[email protected]” для раскрытия путей ~/ и ~user/.
При использовании SFTP пользователи также могут столкнуться с несовместимостью, вызванной необходимостью двойного экранирования спецсимволов раскрытия путей в запросах SCP и RCP, чтобы предотвратить их интерпретацию на удалённой стороне. В SFTP такое экранирование не требуется и лишние кавычки могут привести к ошибке передачи данных. При этом разработчики OpenSSH отказались от добавления расширения для повторения поведения scp в этом случае, так двойное экранирование рассматривается как недостаток, который не имеет смысл повторять.
Другие изменения в новом выпуске:
- В ssh и sshd по умолчанию включён гибридный алгоритм обмена ключами “[email protected]” (ECDH/x25519 + NTRU Prime), стойкий к подбору на квантовых компьютерах и совмещённый с ECDH/x25519 для блокирования возможных проблем в NTRU Prime, которые могут всплыть в будущем. В списке KexAlgorithms, определяющем порядок выбора методов обмена ключами, упомянутый алгоритм теперь поставлен на первое место и является более приоритетным, чем алгоритмы ECDH и DH.
Квантовые компьютеры ещё не достигли уровня, позволяющего взламывать традиционные ключи, но применение гибридной защиты позволит оградить пользователей от атак, связанных с сохранением перехваченных SSH-сеансов с расчётом, что их можно будет расшифровать в будущем, когда появятся необходимые квантовые компьютеры.
- В sftp-server добавлено расширение “copy-data”, позволяющее копировать данные на стороне сервера, без транзитной отправки клиенту, если исходный и целевой файл находятся на одном сервере.
- В утилиту sftp добавлена команда “cp” для инициирования клиентом копирования файлов на стороне сервера.