Famoahana ny OpenSSH 8.2 miaraka amin'ny fanohanan'ny FIDO/U2F marika fanamarinana roa

Taorian'ny efa-bolana ny fampandrosoana aseho famotsorana OpenSSH 8.2, fampiharana mpanjifa misokatra sy mpizara miasa amin'ny alΓ lan'ny protocols SSH 2.0 sy SFTP.

Ny fanatsarana manan-danja amin'ny famoahana ny OpenSSH 8.2 dia ny fahafahana mampiasa fanamarinana roa amin'ny fampiasana fitaovana manohana ny protocol. U2F, novolavolain'ny alliance FIDO. U2F dia mamela ny famoronana mari-pamantarana fitaovana mora vidy mba hanamarina ny fisian'ny mpampiasa, mifandray amin'izy ireo amin'ny alΓ lan'ny USB, Bluetooth na NFC. Ny fitaovana toy izany dia ampiroboroboina ho toy ny fomba fanamarinana roa amin'ny tranokala, efa tohanan'ny navigateur lehibe ary novokarin'ny mpanamboatra isan-karazany, anisan'izany ny Yubico, Feitian, Thetis ary Kensington.

Mba hifaneraserana amin'ireo fitaovana manamafy ny fisian'ny mpampiasa, dia nampiana karazana fanalahidy vaovao β€œecdsa-sk” sy β€œed25519-sk” ao amin'ny OpenSSH, izay mampiasa ny algorithm sonia nomerika ECDSA sy Ed25519, miaraka amin'ny hash SHA-256. Ny fomba fifaneraserana amin'ny mari-pamantarana dia apetraka ao amin'ny tranomboky mpanelanelana iray, izay mipetaka amin'ny fomba mitovy amin'ny tranomboky ho an'ny fanohanan'ny PKCS#11 ary fonosina eo an-tampon'ny tranomboky. libfido2, izay manome fitaovana hifandraisana amin'ny famantarana amin'ny USB (FIDO U2F/CTAP 1 sy FIDO 2.0/CTAP 2 protocols dia tohanana). Tranomboky intermediate libsk-libfido2 nomanin'ny mpamorona OpenSSH tafiditra ao amin'ny libfido2 fototra, ary koa mpamily HID ho an'ny OpenBSD.

Mba hanamarinana sy hamokatra fanalahidy, dia tsy maintsy mamaritra ny parameter "SecurityKeyProvider" ao amin'ny toe-javatra ianao na mametraka ny fari-piainan'ny SSH_SK_PROVIDER, manondro ny lalana mankany amin'ny tranomboky ivelany libsk-libfido2.so (export SSH_SK_PROVIDER=/path/to/libsk-libfido2. koa). Azo atao ny manangana openssh miaraka amin'ny fanohanana naorina ho an'ny tranomboky sosona (--with-security-key-builtin), amin'ity tranga ity dia mila mametraka ny mari-pamantarana "SecurityKeyProvider = anatiny".
Avy eo dia mila mihazakazaka "ssh-keygen -t ecdsa-sk" ianao na, raha efa noforonina sy namboarina ny fanalahidy, mifandray amin'ny mpizara mampiasa "ssh". Rehefa mihazakazaka ssh-keygen ianao, dia ho voatahiry ao amin'ny "~/.ssh/id_ecdsa_sk" ny mpivady fanalahidy vokarina ary azo ampiasaina mitovy amin'ny fanalahidy hafa.

Ny fanalahidin'ny daholobe (id_ecdsa_sk.pub) dia tokony adika amin'ny mpizara ao amin'ny rakitra authorized_keys. Amin'ny lafiny server, ny sonia nomerika ihany no voamarina, ary ny fifandraisana amin'ny famantarana dia atao amin'ny lafiny mpanjifa (tsy mila mametraka libsk-libfido2 amin'ny server ianao, fa ny mpizara dia tsy maintsy manohana ny karazana fanalahidy "ecdsa-sk") . Ny lakile tsy miankina (id_ecdsa_sk) dia tena fehezin'ny lakile, izay mamorona fanalahidy tena izy raha tsy miaraka amin'ny filaharana miafina voatahiry amin'ny lafiny famantarana U2F. Raha toa ka latsaka eo am-pelatanan'ny mpanafika ny famaha id_ecdsa_sk, dia mila miditra amin'ny token'ny hardware ihany koa izy, raha tsy izany dia tsy misy ilΓ na azy ny lakile manokana voatahiry ao amin'ny rakitra id_ecdsa_sk.

Ankoatr'izay, amin'ny alΓ lan'ny default, rehefa manao asa miaraka amin'ny fanalahidy (na mandritra ny famokarana na mandritra ny fanamarinana), dia ilaina ny fanamafisana eo an-toerana ny fisian'ny vatan'ny mpampiasa, ohatra, soso-kevitra ny hikasika ny sensor amin'ny famantarana, izay manasarotra ny fametrahana manaova fanafihana lavitra amin'ny rafitra misy famantarana mifandray. Amin'ny maha tsipika fiarovana iray hafa, dia azo faritana ihany koa ny tenimiafina mandritra ny dingana fanombohana ny ssh-keygen mba hidirana amin'ny rakitra fanalahidy.

Ny dikan-teny vaovao amin'ny OpenSSH dia nanambara ihany koa ny fanafoanana ny algorithm amin'ny fampiasana ny hash SHA-1 noho ny FIVAROTANA ny fahombiazan'ny fanafihana fifandonana miaraka amin'ny prefix nomena (tombanana eo amin'ny 45 arivo dolara eo ho eo ny vidin'ny fifantenana fifandonana). Ao amin'ny iray amin'ireo famoahana ho avy, mikasa ny hanaisotra amin'ny alΓ lan'ny default ny fahafahana mampiasa ny algorithm sonia nomerika "ssh-rsa" ho an'ny daholobe izy ireo, izay voalaza ao amin'ny RFC tany am-boalohany ho an'ny protocol SSH ary mbola miparitaka amin'ny fampiharana (mba hitsapana ny fampiasana amin'ny ssh-rsa ao amin'ny rafitrao, azonao atao ny manandrana mampifandray amin'ny ssh miaraka amin'ny safidy "-oHostKeyAlgorithms=-ssh-rsa").

Mba hanamafisana ny fifindrana amin'ny algorithm vaovao ao amin'ny OpenSSH, amin'ny famoahana ho avy dia alefa amin'ny alΓ lan'ny default ny fanovana UpdateHostKeys, izay hamindra ho azy ireo mpanjifa amin'ny algorithm azo antoka kokoa. Ny algorithm naroso ho an'ny fifindra-monina dia misy ny rsa-sha2-256/512 miorina amin'ny RFC8332 RSA SHA-2 (tohanana hatramin'ny OpenSSH 7.2 ary ampiasaina amin'ny alΓ lan'ny default), ssh-ed25519 (tohanana hatramin'ny OpenSSH 6.5) ary ecdsa-sha2-nistp256/384/521 amin'ny RFC5656 ECDSA (tohana hatramin'ny OpenSSH 5.7).

Ao amin'ny OpenSSH 8.2, mbola misy ny fahafahana mifandray amin'ny fampiasana "ssh-rsa", saingy ity algorithm ity dia nesorina tao amin'ny lisitry ny CASignatureAlgorithms, izay mamaritra ny algorithm azo atao amin'ny sonia nomerika vaovao. Toy izany koa, ny algorithm diffie-hellman-group14-sha1 dia nesorina tamin'ny algorithm fifanakalozam-baovao tohanana. Marihina fa ny fampiasana ny SHA-1 amin'ny taratasy fanamarinana dia misy ifandraisany amin'ny risika fanampiny, satria ny mpanafika dia manana fotoana tsy manam-petra hitadiavana fifandonana amin'ny taratasy fanamarinana efa misy, fa ny fotoana fanafihana amin'ny fanalahidin'ny mpampiantrano dia voafetra amin'ny fe-potoana fifandraisana (LoginGraceTime ).

Ny fampandehanana ssh-keygen izao dia tsy mandeha amin'ny algorithm rsa-sha2-512, izay tohanana hatramin'ny OpenSSH 7.2, izay mety hiteraka olana mifanaraka amin'ny fiezahana handamina ny mari-pankasitrahana nosoniavina tao amin'ny OpenSSH 8.2 amin'ny rafitra mandeha amin'ny famoahana OpenSSH taloha (mba hamahana ny olana rehefa Rahoviana. Mamorona sonia, azonao atao ny mamaritra mazava ny "ssh-keygen -t ssh-rsa" na mampiasa ny algorithm ecdsa-sha2-nistp256/384/521, tohana hatramin'ny OpenSSH 5.7).

Fanovana hafa:

  • Nisy torolalana nampidirina tao amin'ny sshd_config, izay ahafahanao mampiditra ny votoatin'ny rakitra hafa amin'ny toerana misy ny rakitra fikirakirana amin'izao fotoana izao (azo ampiasaina ny saron-tava glob rehefa mamaritra ny anaran'ny rakitra);
  • Ny safidy "no-touch-required" dia nampiana tao amin'ny ssh-keygen, izay manakana ny filΓ na hanamafisana ara-batana ny fidirana amin'ny famantarana rehefa mamorona ny fanalahidy;
  • Nampiana torolΓ lana PubkeyAuthOptions amin'ny sshd_config, izay manambatra safidy isan-karazany mifandraika amin'ny fanamarinana fanalahidy ho an'ny daholobe. Amin'izao fotoana izao, ny saina "tsy misy fikasihana-takina" ihany no tohanana handingana ny fisavana fanatrehana ara-batana ho an'ny fanamarinana famantarana. Amin'ny alΓ lan'ny fanoharana, ny safidy "tsy misy fikasihana-takina" dia nampiana tao amin'ny rakitra authorized_keys;
  • Nampiana safidy "-O write-attestation=/path" amin'ny ssh-keygen mba hamelana ny mari-pankasitrahana fanamarinam-panamarinana FIDO fanampiny hosoratana rehefa mamorona fanalahidy. Ny OpenSSH dia tsy mbola mampiasa ireo mari-pankasitrahana ireo, saingy azo ampiasaina izy ireo any aoriana mba hanamarinana fa napetraka ao amin'ny fivarotana fitaovana azo itokisana ny fanalahidy;
  • Ao amin'ny fikandrana ssh sy sshd, dia azo atao izao ny mametraka ny fomba laharam-pahamehana amin'ny fifamoivoizana amin'ny alΓ lan'ny torolΓ lana IPQoS LE DSCP (Fihetsika ambany kokoa isaky ny hop);
  • Ao amin'ny ssh, rehefa mametraka ny sanda "AddKeysToAgent = eny", raha tsy misy sehatra fanehoan-kevitra ny lakile, dia ampiana amin'ny ssh-agent manondro ny lalana mankany amin'ny fanalahidy ho fanehoan-kevitra. IN
    ssh-keygen sy ssh-agent koa izao dia mampiasa etikety PKCS#11 sy ny anaran'ny lohahevitra X.509 fa tsy ny lalan'ny tranomboky ho fanehoan-kevitra ao amin'ny fanalahidy;

  • Nampiana ny fahafahana manondrana PEM ho an'ny fanalahidy DSA sy ECDSA amin'ny ssh-keygen;
  • Nampiana ssh-sk-helper vaovao azo tanterahana, ampiasaina hanokafana ny fitehirizam-boky fidirana amin'ny marika FIDO/U2F;
  • Nampiana safidy fananganana "--with-zlib" ho an'ny ssh sy sshd ho fanangonana miaraka amin'ny fanohanan'ny tranomboky zlib;
  • Mifanaraka amin'ny fepetra takian'ny RFC4253, misy fampitandremana momba ny fanakanana ny fidirana noho ny fetran'ny MaxStartups mihoatra ny omena ao amin'ny sora-baventy aseho mandritra ny fifandraisana. Mba hanatsorana ny diagnostika, ny lohatenin'ny fizotran'ny sshd, hita amin'ny fampiasana ny ps utility, dia mampiseho ny isan'ny fifandraisana voamarina amin'izao fotoana izao sy ny sata mifehy ny MaxStartups;
  • Ao amin'ny ssh sy ssh-agent, rehefa miantso programa hanehoana fanasana eo amin'ny efijery, voatondro amin'ny $SSH_ASKPASS, misy sainam-pirenena misy karazana fanasana dia alefa koa izao: "manamarina" - fifanakalozan-kevitra fanamafisana (eny / tsia), "tsy misy ” - hafatra fampahafantarana, β€œblank” β€” fangatahana tenimiafina;
  • Nampiana hetsika sonia nomerika vaovao "find-principals" ao amin'ny ssh-keygen mba hikaroka ny rakitra azo atao sonia ho an'ny mpampiasa mifandray amin'ny sonia nomerika voafaritra;
  • Fanohanana nohatsaraina ho an'ny fitokana-monina sshd amin'ny Linux amin'ny fampiasana ny mekanika seccomp: manakana ny antson'ny rafitra IPC, mamela ny clock_gettime64(), clock_nanosleep_time64 ary clock_nanosleep().

Source: opennet.ru

Add a comment