Kohandame SSH hostide hÀdaolukorra pÀÀsme protseduuri riistvaravahedega

Kohandame SSH hostide hÀdaolukorra pÀÀsme protseduuri riistvaravahedega

Selles postituses loome protseduuri SSH-hostide hĂ€daolukorras juurdepÀÀsuks, kasutades riistvarapĂ”hiseid turvavĂ”tmeid offline-reĆŸiimis. See on vaid ĂŒks lĂ€henemisviis ja vĂ”ite seda endale kohandada. Hoidke meie SSH-hostide sertifitseerimiskeskus riistvaraturvavĂ”tmel. See skeem töötab praktiliselt igas OpenSSH-s, sealhulgas ĂŒhtse sisselogimisega SSH-s.

Miks seda kÔike vaja on? Noh, see on ÀÀrmuslik lahendus. See on tagaukse meetod, mis vÔimaldab teil oma serverisse juurde pÀÀseda juhul, kui mingil pÔhjusel muud meetodid ei aita.

Miks kasutada sertifikaate avatud / suletud vÔtmete asemel hÀdaolukorra juurdepÀÀsuks?

  • Erinevalt avatud vĂ”tmetest vĂ”ib sertifikaatide kehtivusaeg olla vĂ€ga lĂŒhike. Saate genereerida sertifikaadi, mis kehtib 1 minuti vĂ”i isegi 5 sekundi. Kui aeg on möödas, ei ole sertifikaat enam uute ĂŒhenduste jaoks sobiv. See sobib ideaalselt hĂ€daolukordadeks.
  • Saate luua oma hostides olevatele konto jaoks sertifikaadi ja vajadusel saata selliseid "ĂŒhekordseid" sertifikaate kolleegidele.

Mida vajate

  • Turbeauhinnad, mis toetavad residentseid vĂ”tmeid.
    Residentide vĂ”tmed on krĂŒptograafilised vĂ”tmed, mis salvestatakse tĂ€ielikult turbeauhinnas. MĂ”nikord on need kaitstud alfanumeerse PIN-koodiga. Residentse vĂ”tme avatud osa saab eksporditakse turbeauhinnast, vajadusel koos privaatvĂ”tme deskriptoriga. Residentide vĂ”tmete toetust pakuvad nĂ€iteks Yubikey 5 seeria USB vĂ”tmed. Soovitatav on kasutada neid ainult hĂ€dapÀÀsuks hostile. Selles postituses kasutan ainult ĂŒhte vĂ”tit, kuid teil peaks olema teine varu jaoks.
  • Ohutu koht nende vĂ”tmete hoidmiseks.
  • OpenSSH versioon 8.2 vĂ”i uuem teie kohalikus arvutis ja serverites, kuhu soovite saada hĂ€dapÀÀsu. Ubuntu 20.04 on varustatud OpenSSH 8.2-ga.
  • (valikuline, kuid soovitatav) CLI tööriist sertifikaatide kontrollimiseks.

Ettevalmistus

Alustuseks tuleb luua sertifitseerimiskeskus, mis asub turvakĂŒsimise seadmel. Sisestage kĂŒsimise seade 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, millise turvakĂŒsimise seadmega see sertifitseerimiskeskus seotud on.

Lisaks Yubikey'le, genereeritakse kohalikes seadmetes kaks faili:

  1. sk-user-ca, mis on vĂ”tme descriptor, viidates privaatvĂ”tmele, mis on salvestatud turvakĂŒsimise seadmes,
  2. sk-user-ca.pub, mis on avatud vÔtme jaoks teie sertifitseerimiskeskuses.

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

Hosts, kus kasutajanimi on root, lisage (kui pole veel lisatud) teie SSHD konfiguratsiooni (/etc/ssh/sshd_config) jÀrgmine:

TrustedUserCAKeys /etc/ssh/ca.pub

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

TaaskÀivitage demon:

# /etc/init.d/ssh restart

NĂŒĂŒd saame proovida hostile ligipÀÀsu. Kuid esmalt vajame sertifikaati. Looge vĂ”tme paar, mis on seotud sertifikaadiga:

$ ssh-keygen -t ecdsa -f emergency

Sertifikaadid ja SSH paarid
MĂ”nikord on kiusatus kasutada sertifikaati avatud / suletud vĂ”tme asendajana. Kuid kasutaja autentimiseks ei piisa ĂŒhest sertifikaadist. Igal sertifikaadil on ka seotud privaatvĂ”ti. SeetĂ”ttu peame genereerima selle "hĂ€daolukorra" vĂ”tme paari, enne kui me endale sertifikaadi vĂ€ljastame. Oluline on, et me nĂ€itame serverile allkirjastatud sertifikaati, mĂ€rkides vĂ”tme paari, mille privaatvĂ”ti meil on.

Seega on avatud vÔtmete vahetus endiselt elujÔuline. See kehtib isegi sertifikaatide puhul. Sertifikaadid lihtsalt vabastavad serveri avatud vÔtmete salvestamise vajadusest.

SeejÀrel looge sertifikaat. Mul on vaja kasutaja ubuntu autoriseerimist 10-minutilise intervalli jooksul. VÔite teha seda 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 kaudu. VĂ”ite lisada tĂ€iendavaid kasutajanimesid, eraldades need komadega, nĂ€iteks -n ubuntu,carl,ec2-user

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

$ chmod 600 emergency-cert.pub

PĂ€rast seda saate tutvuda oma sertifikaadi sisuga:

$ step ssh inspect emergency-cert.pub

Nii see vÀlja nÀeb:

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
        Kriitilised valikud: (puuduvad)
        Laiendused:
                luba-X11-edastamine
                luba-agendi-edastamine
                luba-portsi-edastamine
                luba-pty
                luba-kasutaja-rc

Siin on avalik vĂ”ti — see on meie loodud emergency vĂ”ti, mis on seotud sertifitseerimiskeskusega sk-user-ca.

LÔ finally oleme valmis SSH kÀsku kÀivitama:


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

  1. NĂŒĂŒd saate luua sertifikaate iga kasutaja jaoks sellel hostil, mis usaldab teie sertifitseerimiskeskust.
  2. Saate emergency kustutada. Sk-user-ca saate jÀtta alles, kuid ei ole see vajalik, kuna see on samuti turvavÔtmes. VÔib-olla soovite ka eemaldada originaalse PEM avaliku vÔtme oma hostidest (nÀiteks ~/.ssh/authorized_keys kasutaja ubuntu jaoks), kui olete kasutanud seda erakorraliseks ligipÀÀsuks.

Erakorraline ligipÀÀs: tegevuskava

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

$ ssh-add -K

Nii lisate sertifitseerimiskeskuse avaliku vÔtme ja vÔtme descriptor SSH-agendisse.

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

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

Looge sertifikaat, mille kehtivusaeg on nÀiteks mitte rohkem kui 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 SSH uuesti:

$ ssh -i emergency username@host

Kui teie fail .ssh/config pĂ”hjustab ĂŒhendamisel probleeme, vĂ”ite kĂ€ivitada ssh parameetriga -F none, et sellest mööda minna. Kui peate sertifikaadi kolleegile saatma, on kĂ”ige lihtsam ja ohutum variant Magic Wormhole. Selleks on vajalik vaid kaks faili — meie puhul need on emergency ja emergency-cert.pub.

Mulle meeldib selle lÀhenemise juures see, et on olemas riistvaratoetust. Saate turvavÔtmed safkasse panna ja need ei lÀhe kuhugi.

Reklaami Ôigustes

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

Kohandame SSH hostide hÀdaolukorra pÀÀsme protseduuri riistvaravahedega

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster