Релиз OpenSSH 8.0

След пет месеца разработка представен релиз OpenSSH 8.0, открито изпълнение на клиент и сървър за работа по протоколите SSH 2.0 и SFTP.

Основни промени:

  • В ssh и sshd е добавена експериментална поддръжка на метод за обмен на ключове, устойчив на взлом от квантов компютър. Квантовите компютри решават задачата за разлагане на естествени числа на прости множители значително по-бързо, отколкото класическите процесори, което е основано на съвременните асиметрични алгоритми за криптиране. Предложеният метод е базиран на алгоритъма NTRU Prime (функция ntrup4591761), разработен за постквантови криптосистеми, и метод за обмен на ключове на база на елиптични криви X25519;
  • В sshd директивите ListenAddress и PermitOpen спират поддръжката на остарелия синтаксис «host/port», реализиран през 2001 г. като алтернатива на «host:port» за улесняване на работата с IPv6. В съвременните условия за IPv6 се е утвърдил синтаксисът «[::1]:22», а «host/port» често се бърка с указване на подсетите (CIDR);
  • В ssh, ssh-agent и ssh-add е реализирана поддръжка на ключове ECDSA в токени PKCS#11;
  • В ssh-keygen размерът на ключа RSA по подразбиране е увеличен до 3072 бита, в съответствие с новите препоръки на NIST;
  • В ssh е разрешено използването на настройка «PKCS11Provider=none» за преодоляване на директивата PKCS11Provider, зададена в ssh_config;
  • В sshd е осигурено логване на ситуации, когато връзката е приключена при опит за изпълнение на команди, блокирани от ограничението «ForceCommand=internal-sftp» в sshd_config;
  • В ssh, при изхода на запитването за потвърждение на новия хост ключ, вместо отговор «yes», сега се приема правилният fingerprint-отпечатък на ключа (в отговор на поканата за потвърждение на връзката, потребителят може да копира получения еталонен хеш директно от буфера за обмен, вместо да сравнява ръчно);
  • В ssh-keygen е осигурено автоматично увеличаване на номера на последователността в сертификата при създаване на цифрови подписи за множество сертификати от командния ред;
  • В scp и sftp е добавена нова опция «-J», еквивалентна на настройката ProxyJump;
  • В ssh-agent, ssh-pkcs11-helper и ssh-add е добавена обработка на опцията за командния ред «-v» за увеличаване на информативността на изхода (при указване тази опция се предава и на дъщерните процеси, например, когато от ssh-agent се извиква ssh-pkcs11-helper);
  • В ssh-add е добавена опцията «-T» за тестване на валидността на ключовете в ssh-agent за изпълнение на операции за създаване и верификация на цифрови подписи;
  • В sftp-server е реализирана поддръжка на разширението на протокола «lsetstat at openssh.com», което добавя за SFTP поддръжка на операцията SSH2_FXP_SETSTAT, но без проследяване на символични връзки;
  • В sftp е добавена опцията «-h» за изпълнение на команди chown/chgrp/chmod с искания, които не използват символични връзки;
  • В sshd е осигурено задаването на променлива на средата $SSH_CONNECTION за PAM;
  • За sshd в ssh_config е добавен режим на съпоставяне «Match final», аналогичен на «Match canonical», но не изискващ включването на нормализация на името на хоста;
  • В sftp е добавена поддръжка на префикса ‘@’ за деактивиране на превода на изхода на командите, изпълнявани в пакетен режим;
  • При извеждане на съдържанието на сертификата с помощта на командата
    «ssh-keygen -Lf /path/certificate» сега се показва алгоритъмът, използван от удостоверяващия център за удостоверяване на сертификата;
  • Подобрена е поддръжката на средата Cygwin, например осигурено е сравнение на имена на групи и потребители без оглед на регистъра на символите. Процесът sshd в порта за Cygwin е променен на cygsshd, за да се избегне конфликт с порта OpenSSH, предоставен от Microsoft;
  • Добавена е възможността за компилиране с експерименталната версия на OpenSSL 3.x;
  • Отстранен уязвимост (CVE-2019-6111) в реализацията на утилитата scp, позволяваща презаписване на произволни файлове в целевата директория на клиента при свързване към контролирания от злоумышленник сървър. Проблемът се състои в това, че при прилагане на scp сървърът взема решение за това, кои файлове и директории да изпрати на клиента, а клиентът само проверява коректността на върнатите имена на обекти. Проверка на страната на клиента е ограничена само до блокиране на изхода извън текущата директория («..»), но не отчита предаването на файлове с имена, различни от първично заявените. При рекурсивно копиране (-r) освен имената на файловете, по този начин може да се манипулира и имената на подкаталозите. Например, в случай че потребителят копира в домашната си директория файлове, контролираният от атакуващия сървър може да предостави вместо заявените файлове файлове с имената .bash_aliases или .ssh/authorized_keys, които ще бъдат запазени от утилитата scp в домашната директория на потребителя.

    В новия епизод на утилитата scp е добавена проверка на съответствието между поисканите и предоставените от сървера имена на файлове, изпълнявана на клиентската страна. В този случай могат да възникнат проблеми с обработката на шаблони, тъй като символите за разширение на шаблони могат да се обработват различно на сървъра и клиента. За случаи, когато клиентът спре да приема файлове поради подобни разминавания, е добавена опцията "-T", която позволява деактивиране на проверката от страната на клиента. За пълно решение на проблема е необходима концептуална преработка на протокола scp, който вече е остарял, затова вместо него се препоръчва използването на по-съвременни протоколи, като sftp и rsync.

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

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