La eldono de OpenSSH 9.8 estis publikigita, malferma efektivigo de kliento kaj servilo por labori uzante la SSH 2.0 kaj SFTP-protokolojn. Krom ripari aparte anoncitan kritikan vundeblecon (CVE-2024-6387), kiu ebligas foran kodan ekzekuton kun radikprivilegioj ĉe la antaŭ-aŭtentikiga stadio, la nova versio riparas alian malpli danĝeran vundeblecon kaj proponas plurajn signifajn ŝanĝojn celantajn plibonigi sekurecon.
La dua vundebleco permesas al vi preteriri la protekton aldonitan en OpenSSH 9.5 kontraŭ flankaj atakoj, kiuj analizas la prokrastojn inter klavopremoj sur la klavaro por rekrei la enigon. La vundebleco permesas al ni distingi pakaĵetojn, kiuj kreas fonan agadon simulante fikciajn klavojn de pakaĵetoj senditaj kiam realaj klavoj estas premataj, kio reduktas la efikecon de la mekanismo por kaŝi trajtojn de interaga enigo en trafiko en ssh. Klavopremaj datumoj ebligas atakojn kiuj rekreas enigaĵon analizante la prokrastojn inter klavoj dum tajpado, kiuj dependas de la aranĝo de la klavoj sur la klavaro (ekzemple, la respondo kiam tajpas la literon "F" estas pli rapida ol kiam tajpas "Q" aŭ " X”, do ĉar premado postulas malpli da fingromovado).
Krome, montriĝis, ke la efektivigita algoritmo por sendi pakaĵojn kun realaj kaj fikciaj klakoj reduktis la fidindecon de alia metodo de protekto kontraŭ flankaj atakoj. Ekde liberigo
OpenSSH 2.9.9 servilo sendis pakaĵetojn enhavantajn ŝajnklavopremojn por konzola enigo en eĥo-malŝalta reĝimo, uzataj, ekzemple, dum enigo de pasvortoj en su aŭ sudo. La nova logiko por sendi ŝajnblokajn pakaĵetojn permesis al pasiva trafikanalizo izoli pakaĵetojn enhavantajn realajn klavopremojn en eĥo-malŝalta reĝimo por aparta analizo. Tamen, la precizeco de la tempaj informoj pri klavopremoj estas limigita, ĉar post tajpado, la pakaĵetoj ne estas senditaj tuj, sed je fiksitaj intervaloj (20 ms defaŭlte).
Aliaj ŝanĝoj en OpenSSH 9.8:
- En la konstrustadio, subteno por ciferecaj subskriboj bazitaj sur la DSA-algoritmo estas malŝaltita defaŭlte. La DSA-efektivigo estos forigita de la kodbazo frue en 2025. La kialo de forigo estas citita kiel la nivelo de protekto en DSA kiu ne renkontas modernajn postulojn. La kosto de daŭre konservi nesekuran DSA-algoritmon ne valoras ĝin, kaj ĝia forigo instigos malrekomendigon de DSA-subteno en aliaj SSH-efektivigoj kaj kriptografaj bibliotekoj.
- Por plue protekti kontraŭ ekspluatmetodoj, kiuj postulas grandan nombron da konektoj al sshd, nova protekta reĝimo estis efektivigita kaj ebligita defaŭlte. Ĉi tiu reĝimo ankaŭ helpas bloki aŭtomatajn atakojn de pasvortdivenado, en kiuj robotoj provas diveni la pasvorton de uzanto provante diversajn tipajn kombinaĵojn. Ĉi tiu protekto estas efektivigita per blokado. IP-adresoj, kiuj registras grandan nombron da malsukcesaj konektoprovoj, sshd monitoras la finstaton de subprocezoj, detektante situaciojn kie aŭtentigo malsukcesis aŭ la procezo estis finita nenormale pro kraŝo. Kiam certa sojlo estas superita, ĝi komencas bloki petojn de problemaj IP-adresoj aŭ subretoj. La parametroj PerSourcePenalties, PerSourceNetBlockSize, kaj PerSourcePenaltyExemptList estas haveblaj por agordi la blokan sojlon, la subretan maskon por bloki, kaj la liston de ekskludoj.
- sshd estis dividita en plurajn apartajn ruleblajn dosierojn. La sshd-session-procezo estas asignita de sshd por plenumi taskojn rilatajn al seanca prilaborado. La sshd-procezo konservas funkciojn respondecajn pri akceptado de retkonektoj, kontrolado de agordoj, ŝarĝado de gastigaj ŝlosiloj kaj administrado de startprocezoj laŭ la parametro MaxStartups. Tiel, la efektivigebla sshd nun enhavas la minimuman funkcion necesan por akcepti novan retkonekton kaj komenci sshd-session por pritrakti la sesion.
- La teksto de kelkaj erarmesaĝoj skribitaj al la protokolo ŝanĝiĝis. Aparte, kelkaj mesaĝoj nun estas senditaj sub la nomo de la "sshd-session" procezo prefere ol "sshd".
- La ssh-keyscan ilo nun eligas protokolajn versiojn kaj gastigantajn informojn al norma fluo anstataŭ STDERR. Por malŝalti eligon, la opcio "-q" estas sugestita.
- En ssh, eblas malŝalti la malfunkciigon de uzado de gastiga ŝlosila atestilo al uzado de simplaj gastigaj ŝlosiloj per la direktivo HostkeyAlgorithms.
- La portebla versio de sshd ne plu uzas la valoron argv[0] por determini la PAM-servonomon. Por agordi la nomon de la PAM-servo, nova direktivo "PAMServiceName" estis aldonita al sshd_config, kiu estas agordita al "sshd" defaŭlte.
- La portebla versio de sshd certigas, ke aŭtomate generitaj dosieroj (agordu skripto, config.h.in, ktp.) estas konservitaj en Git-branĉo kun eldonoj (ekzemple, V_9_8), kio ebligis sinkronigi la komponadon de ciferece subskribita gudro. arkivoj kaj branĉoj en Git.
- La portebla versio de ssh kaj ssh-agent disponigas reĝiman agordon
SSH_ASKPASS en la ĉeesto de la mediovariablo WAYLAND_DISPLAY, simile al kiel por X11 tio estis farita en la ĉeesto de la mediovariablo DISPLAY. - La portebla versio de sshd aldonas subtenon por sendado de sciigoj al systemd kiam aŭskultanta retingo estas kreita aŭ rekomencita, uzante memstaran kodon kiu ne vokas la libsystemd-bibliotekon.
fonto: opennet.ru
