Рэліз OpenSSH 8.7

После четырёх месяцев разработки представлен релиз OpenSSH 8.7, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP.

Асноўныя змены:

  • В scp добавлен экспериментальный режим передачи данных с использованием протокола SFTP вместо традиционно применяемого протокола SCP/RCP. В SFTP применяются более предсказуемые методы обработки имён и не используется обработка glob-шаблонов через shell на стороне другого хоста, создающая проблемы с безопасностью. Для включения SFTP в scp предложен флаг «-s», но в будущем планируется перейти на данный протокол по умолчанию.
  • В sftp-server реализованы расширения протокола SFTP для раскрытия путей ~/ и ~user/, что необходимо для scp.
  • В утилите scp изменено поведение при копировании файлов между двумя удалёнными хостами (например, «scp host-a:/path host-b:»), которое теперь по умолчанию производится через промежуточный локальный хост, как при указании флага «-3». Указанный подход позволяет избежать передачи лишних учётных данных на первый хост и тройной интерпретации имён файлов в shell (на стороне источника, приёмника и локальной системы), а также при использовании SFTP позволяет использовать все методы аутентификации при обращении к удалённым хостам, а не только неинтерактивные методы. Для восстановления старого поведения добавлена опция «-R».
  • В ssh добавлена настройка ForkAfterAuthentication, соответствующая флагу «-f».
  • В ssh добавлена настройка StdinNull, соответствующая флагу «-n».
  • В ssh добавлена настройка SessionType, через которую можно установить режимы, соответствующие флагам «-N» (без сеанса) и «-s» (subsystem).
  • В ssh-keygen в файлах с ключами разрешено указывать интервал действия ключа.
  • В ssh-keygen добавлен флаг «-Oprint-pubkey» для вывода полного открытого ключа в составе подписи sshsig.
  • В ssh и sshd, как клиент, так и сервер, переведены на использование более строгого парсера файла конфигурации, в котором используются похожие на shell правила обработки кавычек, пробелов и escape-символов. Новый парсер также не пропускает ранее имевшиеся допущения, такие как пропуск аргументов в опциях (например, теперь нельзя оставлять пустой директиву DenyUsers), незакрытые кавычки и указание нескольких символов «=».
  • При использовании DNS-записей SSHFP при верификации ключей, ssh теперь проверяет все совпавшие записи, а не только содержащие определённый тип цифровой подписи.
  • В ssh-keygen при генерации ключа FIDO с указанием опции -Ochallenge для хэширования теперь используется встроенная прослойка, а не средства libfido2, что позволяет использовать challenge-последовательности, размером больше или меньше 32 байт.
  • В sshd при обработке директивы environment=»…» в файлах authorized_keys теперь принимается первое совпадение и действует ограничение в 1024 имён переменных окружения.

Разработчики OpenSSH также предупредили о переводе в разряд устаревших алгоритмов, использующих хеши SHA-1, в связи с повышением эффективности коллизионных атак с заданным префиксом (стоимость подбора коллизии оценивается примерно в 50 тысяч долларов). В следующем выпуске планируется отключить по умолчанию возможность использования алгоритма цифровых подписей по открытому ключу «ssh-rsa», который упоминается в оригинальном RFC для протокола SSH и остаётся широко распространённым на практике.

Для праверкі ўжывання ssh-rsa у сваіх сістэмах можна паспрабаваць падлучыцца па ssh з опцыяй "-oHostKeyAlgorithms=-ssh-rsa". Пры гэтым адключэнне па змаўчанні лічбавых подпісаў "ssh-rsa" не азначае поўную адмову ад выкарыстання RSA-ключоў, бо апроч SHA-1 пратакол SSH дапушчае ўжыванне іншых алгарытмаў вылічэння хэшаў. У прыватнасці, акрамя "ssh-rsa" застанецца магчымасць выкарыстання звязкаў "rsa-sha2-256" (RSA/SHA256) і "rsa-sha2-512" (RSA/SHA512).

Для сглаживания перехода на новые алгоритмы в OpenSSH ранее по умолчанию была включена настройка UpdateHostKeys, которая позволяет автоматически перевести клиентов на более надёжные алгоритмы. При помощи указанной настройки включается специальное расширение протокола «[электронная пошта абаронена]», якое дазваляе серверу пасля праходжання аўтэнтыфікацыі інфармаваць кліента аб усіх даступных ключах хаста. Кліент можа адлюстраваць гэтыя ключы ў сваім файле ~/.ssh/known_hosts, што дазваляе арганізаваць абнаўленне ключоў хаста і спрашчае змену ключоў на серверы.

Выкарыстанне UpdateHostKeys абмежавана некалькімі агаворкамі, якія ў будучыні могуць быць адменены: ключ павінен упамінацца ў UserKnownHostsFile і не выкарыстоўвацца ў GlobalKnownHostsFile; ключ павінен прысутнічаць толькі пад адным імем; не павінен прымяняцца сертыфікат хаставога ключа; у known_hosts не павінна прымяняцца масак па імені хаста; павінна быць адключаная настройка VerifyHostKeyDNS; павінен быць актыўны параметр UserKnownHostsFile.

Сярод рэкамендуемых для міграцыі алгарытмаў згаданыя rsa-sha2-256/512 на базе RFC8332 RSA SHA-2 (падтрымліваецца з OpenSSH 7.2 і выкарыстоўваецца па змаўчанні), ssh-ed25519 (падтрымліваецца з OpenSSH 6.5) і ecdsa2/256 на базе RFC384 ECDSA (падтрымліваецца з OpenSSH 521).

Крыніца: opennet.ru

Дадаць каментар