Версия на OpenSSH 10.0

Публикувана е версията на OpenSSH 10.0, отворена реализация на клиент и сървър за работа с помощта на протоколите SSH 2.0 и SFTP. Основни промени:

  • Премахната е поддръжката за цифрови подписи, базирани на алгоритъма DSA, чието ниво на защита не отговаря на съвременните изисквания. Цената за продължаване на поддръжката на несигурен DSA алгоритъм не си струва и премахването му ще насърчи други SSH имплементации и криптографски библиотеки да спрат да поддържат DSA. По подразбиране използването на DSA ключове беше преустановено през 2015 г.
  • Продължава разделянето на sshd на няколко отделни изпълними файла. В OpenSSH 9.8, sshd беше разделен на нов процес, sshd-session, който обработва задачи, свързани със сесията. В OpenSSH 10.0 кодът, който извършва удостоверяване, е преместен от sshd-session в отделен процес sshd-auth. Процесът sshd-auth осигурява допълнителна изолация на данни, свързани с удостоверяването, в отделно адресно пространство на процеса, предотвратявайки достъпа до тези данни в паметта в случай на атаки срещу кода, използван за обработка на етапите на свързване, преди удостоверяването да е завършено. Освен това, промяната ще намали леко потреблението на памет, тъй като кодът, свързан с удостоверяването, вече е наличен в паметта само докато се извършва удостоверяване, и след това се изтрива, когато процесът sshd-auth приключи.
  • По подразбиране ssh използва квантово устойчивия хибриден алгоритъм за обмен на ключове „mlkem768x25519-sha256“, който е комбинация от X25519 ECDH и алгоритъма ML-KEM (CRYSTALS-Kyber), и двата стандартизирани от Националния институт за стандарти и технологии на САЩ (NIST). ML-KEM използва криптографски методи, базирани на решаване на проблеми на теорията на решетката, чието време за решаване е еднакво за конвенционалните и квантовите компютри.
  • В ssh_config е добавена поддръжка за заместване с "%-token" и разширяване на променливите на средата към директивите SetEnv и User.
  • Добавена е поддръжка за израза „Match version“ към ssh_config и sshd_config, което ви позволява да прилагате настройки в зависимост от версията на OpenSSH, която имате. Например, за да се свържете с OpenSSH 10, можете да укажете „Match version OpenSSH_10.*“.
  • Поддръжката на изрази е добавена към ssh_config:
    • „Match sessiontype“, което ви позволява да прилагате настройки в зависимост от типа на заявената сесия: „shell“ за интерактивни сесии, „exec“ за изпълнение на команди, „subsystem“ за sftp и „none“ за тунели и пренасочване на трафик.
    • „Команда за съпоставяне“ за обвързване на действия с команди, посочени в командния ред, за да се изпълняват чрез ssh.
    • „Съвпадение с етикет „““ и „Съвпадение на команда „““, за да съвпаднат празни тагове и да изпълнят ssh, без да посочват командата за изпълнение.
  • sshd_config позволява използването на маски във файловите пътища, посочени в директивите AuthorizedKeysFile и AuthorizedPrincipalsFile.
  • SSH клиентът вече поддържа опцията „VersionAddendum“ за добавяне на персонализиран текст към низа с номера на версията (преди тази опция беше налична само за сървър sshd).
  • Помощните програми scp и sftp вече предоставят настройка „ControlMaster no“, за да предотвратят използването на съществуващи връзки при повторно свързване към хост.
  • sshd е деактивирал поддръжката за имплементацията на Diffie-Hellman в крайно поле по подразбиране, което е довело до премахването на методите "diffie-hellman-group*" и "diffie-hellman-group-exchange-*" от списъка на KEXAlgorithms. В сравнение с алгоритъма на Дифи-Хелман с елиптична крива, отдалечената имплементация е по-бавна и изисква допълнителни изчислителни ресурси, като същевременно осигурява същото ниво на сигурност.
  • В ssh, при избора на шифър за връзка, режимът AES-GCM вече е предпочитан пред AES-CTR. По подразбиране се задава списък с приоритети при избора на шифри: Chacha20/Poly1305, AES-GCM (128/256) и AES-CTR (128/192/256).
  • ssh-agent вече изтрива всички заредени ключове при получаване на сигнал SIGUSR1.
  • ssh-keygen е добавил поддръжка за FIDO токени, които не връщат данни за удостоверяване, като например WinHello.
  • Добавена е опция "-Owebsafe-allow=…" към ssh-agent за отмяна на белия списък на FIDO приложенията.
  • Добавена е експериментална помощна програма regress/misc/ssh-verify-attestation за проверка на данни за FIDO атестация, генерирани по избор от ssh-keygen при регистриране на FIDO ключове.
  • ssh-keygen позволява използването на "-" вместо име на файл.
  • ssh-agent и преносимата версия на OpenSSH са актуализирани, за да поддържат активиране на сокет в стил systemd, реализирано чрез механизма LISTEN_PID/LISTEN_FDS.
  • В преносимата версия:
    • Внедрена е поддръжка за криптографската библиотека AWS-LC (AWS libcrypto).
    • sshd вече поддържа wtmpdb, версия на wtmp за 2038 г.
    • Добавена е опцията "--with-linux-memlock-onfault" към sshd, за да се закрепи sshd в паметта (предотвратява се изпращането му към swap).
    • Добавена е опция „--with-security-key-standalone“ за изграждане на самостоятелната библиотека sk-libfido2.
    • Спецификацията на RPM пакета е премахнала настройките за компилация за RHEL 6.
  • Свързана със сигурността промяна в sshd: Директивата DisableForwarding не деактивира правилно пренасочването на протокола X11 и извикванията към ssh-agent. Пренасочването на X11 е деактивирано по подразбиране от страната на сървъра, а препращането на ssh-agent е деактивирано от страната на клиента.

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

Добавяне на нов коментар