Izdanje OpenSSH 8.7

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

Glavne promjene:

  • В 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 и остаётся широко распространённым на практике.

Da biste testirali upotrebu ssh-rsa na vašim sistemima, možete pokušati da se povežete preko ssh-a sa opcijom “-oHostKeyAlgorithms=-ssh-rsa”. Istovremeno, podrazumevano onemogućavanje digitalnih potpisa „ssh-rsa“ ne znači potpuno odustajanje od upotrebe RSA ključeva, jer pored SHA-1, SSH protokol dozvoljava upotrebu drugih algoritama za izračunavanje heša. Konkretno, pored “ssh-rsa”, ostaće moguće koristiti pakete “rsa-sha2-256” (RSA/SHA256) i “rsa-sha2-512” (RSA/SHA512).

Для сглаживания перехода на новые алгоритмы в OpenSSH ранее по умолчанию была включена настройка UpdateHostKeys, которая позволяет автоматически перевести клиентов на более надёжные алгоритмы. При помощи указанной настройки включается специальное расширение протокола «[email zaštićen]", omogućavajući serveru, nakon autentifikacije, da obavijesti klijenta o svim dostupnim ključevima hosta. Klijent može odražavati ove ključeve u svom ~/.ssh/known_hosts datoteci, što omogućava ažuriranje ključeva hosta i olakšava promjenu ključeva na serveru.

Upotreba UpdateHostKeys ograničena je s nekoliko upozorenja koja mogu biti uklonjena u budućnosti: ključ mora biti referenciran u UserKnownHostsFile i ne korišten u GlobalKnownHostsFile; ključ mora biti prisutan samo pod jednim imenom; ne treba koristiti certifikat ključa domaćina; u poznatim_hostovima ne treba koristiti maske po imenu hosta; postavka VerifyHostKeyDNS mora biti onemogućena; Parametar UserKnownHostsFile mora biti aktivan.

Preporučeni algoritmi za migraciju uključuju rsa-sha2-256/512 baziran na RFC8332 RSA SHA-2 (podržan od OpenSSH 7.2 i koristi se po defaultu), ssh-ed25519 (podržan od OpenSSH 6.5) i ecdsa-sha2-nistp256/384 zasnovan na RFC521 ECDSA (podržano od OpenSSH 5656).

izvor: opennet.ru

Dodajte komentar