የOpenSSH 8.2 መልቀቅ ከ FIDO/U2F ባለ ሁለት ደረጃ ማረጋገጫ ቶከኖች ጋር

ከአራት ወራት እድገት በኋላ ቀርቧል መልቀቅ OpenSSH 8.2በኤስኤስኤች 2.0 እና በኤስኤፍቲፒ ፕሮቶኮሎች ለመስራት ክፍት ደንበኛ እና አገልጋይ ትግበራ።

በ OpenSSH 8.2 ልቀት ውስጥ አንድ ቁልፍ መሻሻል ፕሮቶኮሉን የሚደግፉ መሳሪያዎችን በመጠቀም ባለ ሁለት ደረጃ ማረጋገጫን የመጠቀም ችሎታ ነበር። U2F, በኅብረቱ የተገነባ FIDO. U2F በዩኤስቢ፣ በብሉቱዝ ወይም በኤንኤፍሲ አማካኝነት የተጠቃሚውን አካላዊ መገኘት ለማረጋገጥ አነስተኛ ዋጋ ያላቸውን የሃርድዌር ቶከኖች መፍጠር ያስችላል። እንደነዚህ ያሉ መሳሪያዎች በድረ-ገጾች ላይ ባለ ሁለት ደረጃ ማረጋገጫ መንገድ ሆነው ይተዋወቃሉ, ቀድሞውኑ በዋና አሳሾች የተደገፉ እና በተለያዩ አምራቾች የተሠሩ ናቸው, Yubico, Feitian, Thetis እና Kensington ን ጨምሮ.

የተጠቃሚውን መገኘት የሚያረጋግጡ መሳሪያዎችን ለማገናኘት፣ OpenSSH አዳዲስ የቁልፍ አይነቶችን ማለትም "ecdsa-sk" እና "ed25519-sk" አክሏል፣ እነዚህም ECDSA እና Ed25519 ዲጂታል ፊርማ ስልተ ቀመሮችን ከSHA-256 ሃሽ ጋር በማጣመር ይጠቀማሉ። ከቶከን ጋር ለመግባባት የሚረዱ ሂደቶች ወደ መካከለኛ ቤተ-መጽሐፍት ተዛውረዋል፣ እሱም ከPKCS#11 የድጋፍ ቤተ-መጽሐፍት ጋር በተመሳሳይ መልኩ የተጫነ እና በቤተ-መጽሐፍቱ ዙሪያ እንደ መጠቅለያ ሆኖ ያገለግላል። libfido2በዩኤስቢ ከቶከኖች ጋር ለመግባባት የሚረዱ መሳሪያዎችን የሚያቀርብ (FIDO U2F/CTAP 1 እና FIDO 2.0/CTAP 2 ፕሮቶኮሎች ይደገፋሉ)። በOpenSSH ገንቢዎች የተዘጋጀ መካከለኛ ላይብረሪ libsk-libfido2 ተካትቷል ወደ ኮር libfido2, እንዲሁም HID ሹፌር ለ OpenBSD

ቁልፍ ለማረጋገጥ እና ለማመንጨት፣ በቅንብሮች ውስጥ "SecurityKeyProvider" የሚለውን መለኪያ መግለጽ ወይም የSSH_SK_PROVIDER አካባቢ ተለዋዋጭን ማዘጋጀት አለብዎት፣ ወደ ውጫዊ ቤተ-መጽሐፍት libsk-libfido2.so የሚወስደውን መንገድ መግለጽ (export SSH_SK_PROVIDER=/path/to/libsk-libfido2.so)። OpenSSH ለአማካይ ቤተ-መጽሐፍት አብሮገነብ ድጋፍ (--with-security-key-builtin) ሊገነባ ይችላል፤ በዚህ ሁኔታ "SecurityKeyProvider=internal" የሚለውን መለኪያ ማዘጋጀት አለብዎት።
ቀጥሎ፣ "ssh-keygen -t ecdsa-sk" ን ያሂዱ ወይም ቁልፎቹ አስቀድመው ተፈጥረው እና ተዋቅረው ከሆነ "ssh" ን በመጠቀም ከአገልጋዩ ጋር ይገናኙ። ssh-keygen ን ሲያሄዱ የተፈጠረው የቁልፍ ጥንድ በ "~/.ssh/id_ecdsa_sk" ውስጥ ይቀመጣል እና እንደ ሌሎች ቁልፎች ሊያገለግል ይችላል።

የህዝብ ቁልፉ (id_ecdsa_sk.pub) በአገልጋዩ ላይ ወዳለው የተፈቀደ_ኪይ ፋይል መቅዳት አለበት። አገልጋዩ ዲጂታል ፊርማውን ብቻ ያረጋግጣል፣ የቶከን መስተጋብር ደግሞ በደንበኛው ላይ ይከሰታል (libsk-libfido2 በአገልጋዩ ላይ መጫን አያስፈልገውም፣ ነገር ግን አገልጋዩ "ecdsa-sk" የሚለውን የቁልፍ አይነት መደገፍ አለበት)። የተፈጠረው የግል ቁልፍ (id_ecdsa_sk) በመሠረቱ በU2F ቶከን ላይ ከተከማቸው ሚስጥራዊ ቅደም ተከተል ጋር ሲጣመር ብቻ እውነተኛ ቁልፍ የሚፈጥር የቁልፍ ገላጭ ነው። አንድ አጥቂ የid_ecdsa_sk ቁልፍን ካገኘ፣ ለማረጋገጥ የሃርድዌር ቶከን መዳረሻ ያስፈልጋቸዋል፣ ያለዚህ በid_ecdsa_sk ፋይል ውስጥ የተከማቸው የግል ቁልፍ ምንም ፋይዳ የለውም።

በተጨማሪም፣ በነባሪነት፣ ሁሉም ቁልፍ ስራዎች (ማመንጨትም ሆነ ማረጋገጫ) የተጠቃሚውን አካላዊ መገኘት የአካባቢ ማረጋገጫ ያስፈልጋቸዋል፣ ለምሳሌ በቶከን ላይ ያለውን ዳሳሽ መንካት፣ ይህም የተገናኘ ቶከን ባላቸው ስርዓቶች ላይ የርቀት ጥቃቶችን ለማካሄድ አስቸጋሪ ያደርገዋል። እንደ ተጨማሪ የደህንነት ንብርብር፣ የቁልፍ ፋይሉን ለመድረስ የሚያስችል የይለፍ ቃል በssh-keygen ጅምር ጊዜ ሊዘጋጅ ይችላል።

አዲሱ የOpenSSH ስሪት በተጨማሪም በሚከተሉት ምክንያቶች የSHA-1 ሃሾችን በመጠቀም የአልጎሪዝም መቋረጥን አስታውቋል ማስተዋወቅ የግጭት ጥቃቶች ውጤታማነት በተሰጠው ቅድመ ቅጥያ (ግጭት የመምረጥ ዋጋ በግምት 45 ሺህ ዶላር ይገመታል). ከሚለቀቁት ውስጥ በአንዱ፣ በነባሪነት ለኤስኤስኤች ፕሮቶኮል በዋናው RFC ውስጥ የተጠቀሰውን እና በተግባር በስፋት የሚቆይ (አጠቃቀሙን ለመፈተሽ) የህዝብ ቁልፍ ዲጂታል ፊርማ አልጎሪዝም “ssh-rsa” የመጠቀም ችሎታን በነባሪ ለማሰናከል አቅደዋል። በስርዓቶችዎ ውስጥ የ ssh-rsa ን በ ssh በኩል ከ“-oHostKeyAlgorithms=-ssh-rsa”) ጋር ለመገናኘት መሞከር ይችላሉ።

በOpenSSH ውስጥ ወደ አዲስ ስልተ ቀመሮች የሚደረገውን ሽግግር ለማቃለል፣በወደፊት ልቀት የ UpdateHostKeys መቼት በነባሪነት ይነቃቃል፣ይህም ደንበኞችን በራስ-ሰር ወደ አስተማማኝ ስልተ ቀመሮች ያፈልሳል። ለስደት የሚመከሩ ስልተ ቀመሮች RFC2 RSA SHA-256 (ከOpenSSH 512 ጀምሮ የተደገፈ እና በነባሪነት ጥቅም ላይ የዋለ)፣ ssh-ed8332 (ከOpenSSH 2 ጀምሮ የሚደገፍ) እና ecdsa-sha7.2-nistp25519/6.5/2 ላይ የተመሠረተ rsa-sha256-384/521 ያካትታሉ። በ RFC5656 ECDSA (ከOpenSSH 5.7 ጀምሮ የተደገፈ)።

OpenSSH 8.2 አሁንም "ssh-rsa" በመጠቀም መገናኘትን ይደግፋል፣ ነገር ግን ይህ ስልተ ቀመር ከCASignatureAlgorithms ዝርዝር ውስጥ ተወግዷል፣ ይህም አዳዲስ የምስክር ወረቀቶችን በዲጂታል መንገድ ለመፈረም የተፈቀደላቸውን ስልተ ቀመሮች ይገልፃል። በተመሳሳይ፣ diffie-hellman-group14-sha1 ስልተ ቀመር ከሚደገፈው ነባሪ የቁልፍ ልውውጥ ስልተ ቀመሮች ተወግዷል። በሰርተፊኬቶች ውስጥ SHA-1 መጠቀም ተጨማሪ አደጋ እንደሚያስከትል ልብ ይሏል፣ ምክንያቱም አጥቂ ለነባር የምስክር ወረቀት ግጭት ለማግኘት ያልተገደበ ጊዜ ስላለው፣ በአስተናጋጅ ቁልፎች ላይ የሚሰነዘሩ ጥቃቶች በግንኙነት ጊዜ ማብቂያ (LoginGraceTime) የተገደቡ ናቸው።

Ssh-keygenን ሲያሄዱ፣ ከOpenSSH 7.2 ጀምሮ የሚደገፈው የrsa-sha2-512 ስልተ ቀመር አሁን በነባሪነት ጥቅም ላይ ይውላል፣ ይህም የOpenSSH ልቀቶችን በሚያሄዱ ስርዓቶች ላይ የOpenSSH 8.2-የተፈረሙ የምስክር ወረቀቶችን ለማስኬድ ሲሞክሩ የተኳኋኝነት ችግሮችን ሊፈጥር ይችላል (ይህንን ችግር ለመፍታት ፊርማውን ሲያመነጩ "ssh-keygen -t ssh-rsa" በግልጽ መግለጽ ወይም ከOpenSSH 5.7 ጀምሮ የሚደገፉ ecdsa-sha2-nistp256/384/521 ስልተ ቀመሮችን መጠቀም ይችላሉ)።

ሌሎች ለውጦች፡-

  • የInclude መመሪያው ወደ sshd_config ታክሏል፣ ይህም የሌሎች ፋይሎች ይዘቶች በውቅረት ፋይሉ የአሁኑ ቦታ ውስጥ እንዲካተቱ ያስችላል (የፋይሉን ስም ሲገልጹ ግሎብ ጭምብሎች ጥቅም ላይ ሊውሉ ይችላሉ)፤
  • "ምንም-ንክኪ አያስፈልግም" የሚለው አማራጭ ወደ ssh-keygen ታክሏል፣ ይህም ቁልፍ ሲፈጠር ወደ ቶከኑ መድረስን አካላዊ ማረጋገጫ አስፈላጊነትን ያሰናክላል፤
  • የPubkeyAuthOptions መመሪያ ወደ sshd_config ታክሏል፣ ይህም ከሕዝብ ቁልፍ ማረጋገጫ ጋር የተያያዙ የተለያዩ አማራጮችን በማጣመር ነው። በአሁኑ ጊዜ፣ "ምንም-ንክኪ አያስፈልግም" የሚለው ባንዲራ ብቻ ይደገፋል፣ ይህም በቶከን ማረጋገጫ ወቅት አካላዊ የመኖር ፍተሻን መዝለል ያስችላል። በተመሳሳይ፣ "ምንም-ንክኪ አያስፈልግም" የሚለው አማራጭ ወደ የተፈቀደ_ቁልፎች ፋይል ታክሏል።
  • የ"-O write-attestation=/path" አማራጭ ወደ ssh-keygen ታክሏል፣ ይህም ቁልፎችን ሲያመነጩ ተጨማሪ የFIDO ማረጋገጫ ሰርተፊኬቶች እንዲጻፉ ያስችላል። OpenSSH በአሁኑ ጊዜ እነዚህን ሰርተፊኬቶች አይጠቀምም፣ ነገር ግን ቁልፉ በታመነ የሃርድዌር ማከማቻ ውስጥ መቀመጡን ለማረጋገጥ ለወደፊቱ ጥቅም ላይ ሊውሉ ይችላሉ።
  • በssh እና sshd ቅንብሮች ውስጥ፣ አሁን በ IPQoS መመሪያ በኩል የትራፊክ ቅድሚያ አሰጣጥ ሁነታን ማዘጋጀት ይቻላል። LE DSCP (ዝቅተኛ ጥረት በሆፕ ባህሪ);
  • በssh ውስጥ፣ "AddKeysToAgent=yes" የሚለውን እሴት ሲያዋቅሩ፣ ቁልፉ የአስተያየት መስክ ከሌለው፣ እንደ አስተያየት የተገለጸውን ቁልፍ የሚወስደውን መንገድ ወደ ssh-agent ይታከላል።
    ssh-keygen እና ssh-agent አሁን የPKCS#11 መለያዎችን እና የX.509 የርዕሰ ጉዳይ ስምን በቤተ-መጽሐፍት ዱካ ምትክ እንደ አስተያየቶች ይጠቀማሉ፤
  • ለ DSA እና ECDSA ቁልፎች PEM ወደ ssh-keygen የመላክ ችሎታን ጨምሯል፤
  • የቤተ መፃህፍትን የFIDO/U2F ቶከኖች መዳረሻ ለመለየት የሚያገለግል አዲስ የሚተገበር ፋይል ssh-sk-helper ታክሏል፤
  • "--with-zlib" የግንባታ አማራጭን ወደ ssh እና sshd ታክሏል፣ ይህም የzlib ቤተ-መጽሐፍት ድጋፍን በመጠቀም ለማጠናቀር ይረዳል።
  • በRFC 4253 መሠረት፣ የMaxStartups ገደብን በማለፍ ምክንያት መዳረሻ ስለመታገዱ ማስጠንቀቂያ አሁን በግንኙነት ባነር ላይ ይታያል። ምርመራዎችን ለማቃለል፣ የps utilityን በመጠቀም የሚታየው የsshd ሂደት ራስጌ አሁን አሁን የተረጋገጡ ግንኙነቶችን ብዛት እና የMaxStartups ገደብ ሁኔታን ያሳያል።
  • በssh እና ssh-agent ውስጥ፣ በማያ ገጹ ላይ ግብዣ ለማሳየት ፕሮግራም ሲደውሉ፣ በ$SSH_ASKPASS በኩል የተገለጸ፣ የግብዣ አይነት ያለው ባንዲራ አሁን በተጨማሪ ይተላለፋል፡ “confirm” — የማረጋገጫ መገናኛ (አዎ/አይደለም)፣ “ምንም” — የመረጃ መልእክት፣ “ባዶ” — የይለፍ ቃል ጥያቄ፤
  • ከተጠቀሰው ዲጂታል ፊርማ ጋር የተያያዘውን ተጠቃሚ የተፈቀደላቸው-ፈራሚዎችን ፋይል ለመፈለግ አዲስ የዲጂታል ፊርማ ኦፕሬሽን "find-principals" ወደ ssh-keygen ታክሏል፤
  • Улучшена поддержка изоляции процесса sshd в Linux при помощи механизма seccomp: запрещены системные вызовы IPC, разрешены clock_gettime64(), clock_nanosleep_time64 и clock_nanosleep().

ምንጭ: opennet.ru

በDDoS ጥበቃ፣ VPS VDS አገልጋዮች ለጣቢያዎች አስተማማኝ ማስተናገጃ ይግዙ 🔥 አስተማማኝ የድር ጣቢያ ማስተናገጃ በዲዶኤስ ጥበቃ፣ በቪፒኤስ ቪዲኤስ አገልጋዮች ይግዙ | ProHoster