KÀivitame hÀdaolukorra juurdepÀÀsu protseduuri SSH-hostidele riistvaraliste vÔtmetega

KÀivitame hÀdaolukorra juurdepÀÀsu protseduuri SSH-hostidele riistvaraliste vÔtmetega

NĂŒĂŒdsest arendame vĂ€lja protseduuri SSH-hostidele hĂ€daolukorra juurdepÀÀsuks, kasutades turvaseadmeid offline-reĆŸiimis. See on vaid ĂŒks lĂ€henemisviis, ja saate seda vastavalt enda vajadustele kohandada. Me hoiame oma hostide SSH sertifitseerimiskeskust turvaseadmest. See skeem töötab peaaegu kĂ”igi OpenSSH variantidega, sealhulgas ĂŒhtse sisselogimisega SSH-ga.

Miks see kÔik vajalik on? Noh, see on ÀÀrmuslik valik. See on tagauks, mis vÔimaldab teil oma serverisse juurdepÀÀsu, kui mingil pÔhjusel ei toimi enam midagi muud.

Miks kasutada sertifikaate avatud / suletud vÔtmete asemel hÀdaolukorraks juurdepÀÀsu saamiseks?

  • Erinevalt avatud vĂ”tmetest vĂ”ivad sertifikaatide kehtivusajad olla vĂ€ga lĂŒhikesed. Saate genereerida sertifikaadi, mis on kehtiv 1 minuti vĂ”i isegi 5 sekundi jooksul. PĂ€rast seda, kui aeg on möödas, ei saa sertifikaate enam uute ĂŒhenduste jaoks kasutada. See sobib suurepĂ€raselt hĂ€daolukorra juurdepÀÀsuks.
  • Saate luua sertifikaadi mis tahes kasutajakontole oma hostides ja vajadusel saata selliseid 'ĂŒhekordseid' sertifikaate kolleegidele.

Mida teil on vaja:

  • Turvaseadmed, mis toetavad residentseid vĂ”tmeid.
    ResidentvĂ”tmed on krĂŒptograafilised vĂ”tmed, mis on tĂ€ielikult salvestatud turvaseadmest. MĂ”nikord kaitstakse neid alfanumeerse PIN-koodiga. ResidentvĂ”tme avatud osa vĂ”ib vajadusel eksportida turvaseadmest koos privaatvĂ”tme descriptoriga. Residentsete vĂ”tmete toetust pakuvad nĂ€iteks Yubikey 5 seeria USB-seadmed. Ideaalis peaksid need olema mĂ”eldud ainult hosti hĂ€daolukorra juurdepÀÀsuks. Selle postituse jaoks kasutan ainult ĂŒhte vĂ”tit, kuid teil peaks olema ka varukee.
  • Turvaline koht nende vĂ”tmete hoidmiseks.
  • OpenSSH versioon 8.2 vĂ”i uuem teie arvutis ja serverites, kuhu soovite hĂ€daolukorras juurde pÀÀseda. Ubuntu 20.04 tarnitakse koos OpenSSH 8.2-ga.
  • (valikuline, kuid soovitatav) CLI tööriist sertifikaatide kontrollimiseks.

Ettevalmistus

Esimene samm on luua sertifitseerimiskeskus, mis asub turvaseadmest. Sisestage vÔti ja kÀivitage:

$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]

Kommentaarina (-C) mÀrkisin yubikey-9-512-742@smallstep.com, et mitte unustada, mille vÔtmega see sertifitseerimiskeskus seotud on.

Lisaks vÔtme lisamisele Yubikey'le genereeritakse kohalikult kaks faili:

  1. sk-user-ca, vÔtme descriptor, mis viitab eravÔtmele, mis on salvestatud turvavÔtmes,
  2. sk-user-ca.pub, mis on avalik vÔti teie sertifitseerimiskeskuse jaoks.

Aga Ă€rge muretsege, Yubikey'l on veel ĂŒks eravĂ”ti, mida ei saa vĂ€lja vĂ”tta. Seega on see kĂ”ik turvaline.

Hostides kasutajanimega root lisage (kui pole veel lisatud) oma SSHD konfiguratsiooni (/etc/ssh/sshd_config) jÀrgmine rida:

TrustedUserCAKeys /etc/ssh/ca.pub

SeejÀrel lisage hostis avalik vÔti (sk-user-ca.pub) faili /etc/ssh/ca.pub

TaaskÀivitage deemon:

# /etc/init.d/ssh restart

NĂŒĂŒd saame proovida hosti juurde pÀÀseda. Kuid enne vajame me sertifikaati. Looge vĂ”tmepaar, mis on seotud sertifikaadiga:

$ ssh-keygen -t ecdsa -f emergency

Sertifikaadid ja SSH-paarid
MÔnikord on tung kasutada sertifikaati avatud / eravÔtme paari asendamise asemel. Kuid kasutaja autentimiseks ei piisa ainult sertifikaadist. Igal sertifikaadil on ka sellega seotud eravÔti. SeetÔttu peame genereerima selle "hÀdaolukorra" vÔtmepaari, enne kui me endale sertifikaati anname. Oluline on, et allkirjastatud sertifikaati nÀitame serverile, mÀrkides vÔtme paari, millel on eravÔti.

Nii et avalike vÔtmete vahetus elab endiselt edasi. See kehtib isegi sertifikaatide kohta. Sertifikaadid vabastavad lihtsalt serveri vajadusest hoida avalikke vÔtmeid.

JĂ€tka sertifikaadi loomisega. Mul on vaja ubuntu kasutaja autentimist 10-minutilise intervalliga. Saate seda teha oma viisil.

$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency

Teilt kĂŒsitakse sertifikaadi allkirjastamist sĂ”rmejĂ€lje abil. Saate lisada tĂ€iendavaid kasutajanimesid, eraldatuna komadega, nĂ€iteks -n ubuntu,carl,ec2-user

NĂŒĂŒd on teil sertifikaat! JĂ€rgmiseks peate mÀÀrama Ă”iged Ă”igused:

$ chmod 600 emergency-cert.pub

PĂ€rast seda saate tutvuda oma sertifikaadi sisuga:

$ step ssh inspect emergency-cert.pub

Nii nÀeb minu sertifikaat vÀlja:

emergency-cert.pub
        TĂŒĂŒp: ecdsa-sha2-nistp256-cert-v01@openssh.com kasutaja sertifikaat
        Avalik vÔti: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
        Allkirjastamise CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
        VÔtme ID: "test-key"
        Seerianumber: 0
        Kehtiv: alates 2020-06-24T16:53:03 kuni 2020-06-24T17:03:03
        Peamised:
                ubuntu
        Kritilised valikud: (puuduvad)
        Laiendused:
                luba-X11-edasiandmine
                luba-agendi-edasiandmine
                luba-port-edasiandmine
                luba-pty
                luba-kasutaja-rc

Siin on avalik vĂ”ti — see on meie loodud emergency vĂ”ti, ja see on seotud sertifitseerimis keskusega sk-user-ca.

LÔ finally me oleme valmis SSH kÀskluse kÀivitamiseks:


$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$

  1. NĂŒĂŒd saate luua sertifikaate mis tahes kasutajale hostis, mis usaldab teie sertifitseerimis keskust.
  2. Saate emergency eemaldada. Saate sk-user-ca hoida, kuid see ei ole vajalik, kuna see on samuti turvavÔtmes. VÔib-olla soovite samuti eemaldada algse PEM formaadis avaliku vÔtme oma hostidelt (nÀiteks ~/.ssh/authorized_keys kasutaja ubuntu jaoks), kui olete seda kasutanud hÀdaolukorras ligipÀÀsu jaoks.

HĂ€daolukord: tegevuskava

Sisestage turvavÔti ja kÀivitage kÀsk:

$ ssh-add -K

Nii lisate avaliku sertifitseerimis keskuse vÔtme ja vÔtme deskriptor SSH-agentile.

NĂŒĂŒd eksportige avalik vĂ”ti, et teha sertifikaat:

$ ssh-add -L | tail -1 > sk-user-ca.pub

Looge sertifikaat, mille kehtivusaeg ei ĂŒleta nĂ€iteks tund:

$ ssh-keygen -t ecdsa -f emergency
$ ssh-keygen -Us sk-user-ca.pub -I test-key -n [username] -V -5m:+60m emergency
$ chmod 600 emergency-cert.pub

Ja nĂŒĂŒd uuesti SSH:

$ ssh -i emergency username@host

Kui teie fail .ssh/config pĂ”hjustab ĂŒhendamisel probleeme, vĂ”ite kĂ€ivitada ssh parameetriga -F none, et seda vĂ€ltida. Kui peate sertifikaadi kolleegile saatma, on lihtsaim ja kĂ”ige turvalisem variant — see Magic Wormhole. Selleks on vajalik vaid kaks faili — meie juhul need on emergency ja emergency-cert.pub.

Mulle meeldib selle lÀhenemise juures see, et see toetab riistvara. Voite hoida turvavÔtmeid seifis ja need ei kao Àra.

Reklaami Ôigustes

Eepilised serverid — see on odavad VPS-id tuleb vĂ”imsate AMD protsessoritega, CPU tuumade sagedus kuni 3.4 GHz. Maksimaalne konfiguratsioon vĂ”imaldab lahendada peaaegu kĂ”iki ĂŒlesandeid — 128 CPU tuuma, 512 GB RAM, 4000 GB NVMe. Liituge!

KÀivitame hÀdaolukorra juurdepÀÀsu protseduuri SSH-hostidele riistvaraliste vÔtmetega

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster