Релиз на 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» (подсистема).
  • В 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, която позволява автоматично да се преведат клиентите на по-надеждни алгоритми. С указаната настройка се активира специално разширение на протокола „hostkeys@openssh.com“, позволяващо сървъра след завършване на аутентификацията да информира клиента за всички налични ключове на хоста. Клиентът може да отрази тези ключове в своя файл ~/.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) и ecdsa-sha2-nistp256/384/521 на базата на RFC5656 ECDSA (поддържа се от OpenSSH 5.7).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster