
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:
- sk-user-ca, vÔtme descriptor, mis viitab eravÔtmele, mis on salvestatud turvavÔtmes,
- 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.pubSeejÀrel lisage hostis avalik vÔti (sk-user-ca.pub) faili /etc/ssh/ca.pub
TaaskÀivitage deemon:
# /etc/init.d/ssh restartNĂŒĂŒd saame proovida hosti juurde pÀÀseda. Kuid enne vajame me sertifikaati. Looge vĂ”tmepaar, mis on seotud sertifikaadiga:
$ ssh-keygen -t ecdsa -f emergencySertifikaadid 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 emergencyTeilt 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.pubPĂ€rast seda saate tutvuda oma sertifikaadi sisuga:
$ step ssh inspect emergency-cert.pubNii 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-rcSiin 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:~$- NĂŒĂŒd saate luua sertifikaate mis tahes kasutajale hostis, mis usaldab teie sertifitseerimis keskust.
- 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 -KNii 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.pubLooge 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.pubJa nĂŒĂŒd uuesti SSH:
$ ssh -i emergency username@hostKui 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 . 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 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!
Allikas: habr.com
