sshd жүйесіндегі осалдықты жою арқылы OpenSSH 8.9 шығарылымы

Алты айлық әзірлеуден кейін OpenSSH 8.9 шығарылымы, SSH 2.0 және SFTP протоколдарымен жұмыс істеуге арналған ашық клиент пен серверді енгізу ұсынылды. Sshd жаңа нұсқасы аутентификацияланбаған кіруге мүмкіндік беретін осалдықты түзетеді. Мәселе аутентификация кодындағы бүтін сандардың толып кетуінен туындады, бірақ оны кодтағы басқа логикалық қателермен бірге ғана пайдалануға болады.

Артықшылықты бөлу режимі қосылған кезде осалдықты оның ағымдағы пішінінде пайдалану мүмкін емес, өйткені оның көрінісі артықшылықтарды бөлуді бақылау кодында орындалатын бөлек тексерулер арқылы бұғатталған. Артықшылықтарды бөлу режимі әдепкі бойынша 2002 жылдан бастап OpenSSH 3.2.2 нұсқасынан бастап қосылған және 7.5 жылы жарияланған OpenSSH 2017 шығарылымынан бері міндетті болып табылады. Бұған қоса, OpenSSH 6.5 (2014) шығарылымынан басталатын портативті нұсқаларында осалдық бүтін сандардың толып кетуінен қорғау жалауларын қосу арқылы компиляция арқылы блокталады.

Басқа өзгерістер:

  • sshd ішіндегі OpenSSH портативті нұсқасы MD5 алгоритмі арқылы құпия сөздерді хэштеу үшін жергілікті қолдауды алып тастады (libxcrypt сияқты сыртқы кітапханалармен байланыстыруды қайтаруға мүмкіндік береді).
  • ssh, sshd, ssh-add және ssh-agent ssh-агентке қосылған кілттерді қайта жіберуді және пайдалануды шектеу үшін ішкі жүйені жүзеге асырады. Ішкі жүйе кілттерді ssh-агентте қалай және қайда қолдануға болатынын анықтайтын ережелерді орнатуға мүмкіндік береді. Мысалы, scylla.example.org хостына қосылатын кез келген пайдаланушының аутентификациясы үшін ғана пайдалануға болатын кілтті қосу үшін, пайдаланушы cetus.example.org хостына және medea пайдаланушысы charybdis.example.org хостына perseus. scylla.example.org аралық хост арқылы қайта бағыттау арқылы келесі пәрменді пайдалануға болады: $ ssh-add -h "[электрондық пошта қорғалған]» \ -h «scylla.example.org» \ -h «scylla.example.org>[электрондық пошта қорғалған]» \ ~/.ssh/id_ed25519
  • ssh және sshd ішінде гибридті алгоритм әдепкі бойынша KexAlgorithms тізіміне қосылды, ол кілт алмасу әдістері таңдалу ретін анықтайды.[электрондық пошта қорғалған]"(ECDH/x25519 + NTRU Prime), кванттық компьютерлерде таңдауға төзімді. OpenSSH 8.9 нұсқасында бұл келіссөз әдісі ECDH және DH әдістері арасында қосылды, бірақ оны келесі шығарылымда әдепкі бойынша қосу жоспарлануда.
  • ssh-keygen, ssh және ssh-агент биометриялық аутентификацияға арналған кілттерді қоса, құрылғыны тексеру үшін пайдаланылатын FIDO таңбалауыш кілттерін өңдеуді жақсартты.
  • Рұқсат етілген атаулар тізімі файлындағы пайдаланушы атын тексеру үшін ssh-keygen файлына "ssh-keygen -Y match-principals" пәрмені қосылды.
  • ssh-add және ssh-agent PIN кодымен қорғалған FIDO кілттерін ssh-агентке қосу мүмкіндігін береді (PIN сұрауы аутентификация кезінде көрсетіледі).
  • ssh-keygen қолтаңбаны генерациялау кезінде хэштеу алгоритмін (sha512 немесе sha256) таңдауға мүмкіндік береді.
  • Ssh және sshd жүйелерінде өнімділікті жақсарту үшін желі деректері стекке аралық буферлеуді айналып өтіп, кіріс пакеттерінің буферіне тікелей оқылады. Алынған деректерді арна буферіне тікелей орналастыру дәл осылай жүзеге асырылады.
  • ssh ішінде PubkeyAuthentication директивасы қолданылатын протокол кеңейтімін таңдау мүмкіндігін қамтамасыз ету үшін қолдау көрсетілетін параметрлер тізімін (иә|жоқ|байланысты|хостпен байланысты) кеңейтті.

Болашақ шығарылымда бұрынғы SCP/RCP протоколының орнына SFTP пайдалану үшін scp утилитасының әдепкі параметрін өзгертуді жоспарлап отырмыз. SFTP болжанатын атауларды өңдеу әдістерін пайдаланады және басқа хост жағындағы файл атауларындағы глоб үлгілерінің қабықша өңдеуін пайдаланбайды, бұл қауіпсіздік мәселелерін тудырады. Атап айтқанда, SCP және RCP пайдалану кезінде сервер клиентке қандай файлдар мен каталогтарды жіберу керектігін шешеді, ал клиент қайтарылған нысан атауларының дұрыстығын ғана тексереді, бұл клиент тарапынан тиісті тексерулер болмаған жағдайда, Сұралғандардан өзгеше басқа файл атауларын тасымалдау үшін сервер. SFTP протоколында мұндай проблемалар жоқ, бірақ «~/» сияқты арнайы жолдарды кеңейтуді қолдамайды. Осы айырмашылықты жою үшін OpenSSH алдыңғы шығарылымы SFTP серверін іске асырудағы ~/ және ~user/ жолдарына жаңа SFTP протоколының кеңейтімін енгізді.

Ақпарат көзі: opennet.ru

пікір қалдыру