Tunaagiza utaratibu wa ufikiaji wa dharura kwa wapangishi wa SSH na funguo za maunzi

Tunaagiza utaratibu wa ufikiaji wa dharura kwa wapangishi wa SSH na funguo za maunzi

Katika chapisho hili, tutatengeneza utaratibu wa ufikiaji wa dharura kwa wapangishi wa SSH kwa kutumia funguo za usalama za maunzi nje ya mtandao. Hii ni njia moja tu, na unaweza kuibadilisha ili kuendana na mahitaji yako. Tutahifadhi mamlaka ya cheti cha SSH kwa wapangishi wetu kwenye ufunguo wa usalama wa maunzi. Mpango huu utafanya kazi kwa karibu OpenSSH yoyote, ikijumuisha SSH na kuingia mara moja.

Haya yote ni ya nini? Naam, hii ni chaguo la mwisho. Huu ni mlango wa nyuma ambao utakuruhusu kupata ufikiaji wa seva yako wakati kwa sababu fulani hakuna kitu kingine kinachofanya kazi.

Kwa nini utumie vyeti badala ya funguo za umma/faragha kwa ufikiaji wa dharura?

  • Tofauti na funguo za umma, vyeti vinaweza kuwa na muda mfupi sana wa kuishi. Unaweza kutoa cheti ambacho ni halali kwa dakika 1 au hata sekunde 5. Baada ya kipindi hiki, cheti hakitatumika kwa miunganisho mipya. Hii ni bora kwa ufikiaji wa dharura.
  • Unaweza kuunda cheti cha akaunti yoyote kwa wenyeji wako na, ikiwa ni lazima, kutuma vyeti vile vya "wakati mmoja" kwa wenzako.

Nini unahitaji

  • Funguo za usalama za maunzi zinazotumia funguo za mkazi.
    Funguo za mkazi ni funguo za kriptografia ambazo huhifadhiwa ndani ya ufunguo wa usalama kabisa. Wakati mwingine zinalindwa na PIN ya alphanumeric. Sehemu ya umma ya ufunguo wa mkazi inaweza kusafirishwa kutoka kwa ufunguo wa usalama, kwa hiari pamoja na mpini wa ufunguo wa faragha. Kwa mfano, funguo za USB za mfululizo wa Yubikey 5 zinaauni funguo za mkazi. Inashauriwa zilengwa tu kwa ufikiaji wa dharura kwa seva pangishi. Kwa chapisho hili nitatumia ufunguo mmoja tu, lakini unapaswa kuwa na moja ya ziada kwa chelezo.
  • Mahali salama pa kuhifadhi funguo hizo.
  • Toleo la OpenSSH 8.2 au toleo jipya zaidi kwenye kompyuta yako ya karibu na kwenye seva ambazo ungependa kufikia dharura. Ubuntu 20.04 husafirishwa na OpenSSH 8.2.
  • (hiari, lakini inapendekezwa) Zana ya CLI ya kukagua vyeti.

Mafunzo ya

Kwanza, unahitaji kuunda mamlaka ya uthibitishaji ambayo itakuwa kwenye ufunguo wa usalama wa maunzi. Ingiza ufunguo na uendeshe:

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

Kama maoni (-C) nilionyesha [barua pepe inalindwa]ili usisahau ni ufunguo gani wa usalama ambao mamlaka hii ya cheti ni ya.

Mbali na kuongeza ufunguo kwa Yubikey, faili mbili zitatolewa ndani ya nchi:

  1. sk-user-ca, mpini wa ufunguo unaorejelea ufunguo wa faragha uliohifadhiwa kwenye ufunguo wa usalama,
  2. sk-user-ca.pub, ambayo itakuwa ufunguo wa umma kwa mamlaka ya cheti chako.

Lakini usijali, Yubikey huhifadhi ufunguo mwingine wa kibinafsi ambao hauwezi kupatikana. Kwa hiyo, kila kitu ni cha kuaminika hapa.

Kwenye majeshi, kama mzizi, ongeza (ikiwa bado hujafanya) yafuatayo kwenye usanidi wako wa SSHD (/etc/ssh/sshd_config):

TrustedUserCAKeys /etc/ssh/ca.pub

Kisha kwenye seva pangishi, ongeza ufunguo wa umma (sk-user-ca.pub) kwa /etc/ssh/ca.pub

Anzisha tena daemon:

# /etc/init.d/ssh restart

Sasa tunaweza kujaribu kufikia mwenyeji. Lakini kwanza tunahitaji cheti. Unda jozi muhimu ambazo zitahusishwa na cheti:

$ ssh-keygen -t ecdsa -f emergency

Vyeti na jozi za SSH
Wakati mwingine inajaribu kutumia cheti kama mbadala wa funguo za umma/faragha. Lakini cheti pekee haitoshi kuthibitisha mtumiaji. Kila cheti pia kina ufunguo wa faragha unaohusishwa nacho. Hii ndiyo sababu tunahitaji kuunda jozi hii muhimu ya "dharura" kabla ya kujipatia cheti. Jambo muhimu ni kwamba tuonyeshe cheti kilichosainiwa kwa seva, ikionyesha jozi muhimu ambayo tuna ufunguo wa kibinafsi.

Kwa hivyo ubadilishaji wa ufunguo wa umma bado uko hai na uko sawa. Hii inafanya kazi hata na vyeti. Vyeti huondoa hitaji la seva kuhifadhi funguo za umma.

Ifuatayo, unda cheti yenyewe. Nahitaji idhini ya mtumiaji wa ubuntu katika muda wa dakika 10. Unaweza kufanya hivyo kwa njia yako.

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

Utaombwa kutia sahihi cheti kwa kutumia alama ya kidole chako. Unaweza kuongeza majina ya ziada yaliyotenganishwa na koma, kwa mfano -n ubuntu,carl,ec2-user.

Hiyo ni, sasa una cheti! Ifuatayo unahitaji kutaja ruhusa sahihi:

$ chmod 600 emergency-cert.pub

Baada ya hayo, unaweza kuona yaliyomo kwenye cheti chako:

$ step ssh inspect emergency-cert.pub

Hivi ndivyo yangu inavyoonekana:

emergency-cert.pub
        Type: [email protected] user certificate
        Public key: ECDSA-CERT SHA256:EJSfzfQv1UK44/LOKhBbuh5oRMqxXGBSr+UAzA7cork
        Signing CA: SK-ECDSA SHA256:kLJ7xfTTPQN0G/IF2cq5TB3EitaV4k3XczcBZcLPQ0E
        Key ID: "test-key"
        Serial: 0
        Valid: from 2020-06-24T16:53:03 to 2020-06-24T17:03:03
        Principals:
                ubuntu
        Critical Options: (none)
        Extensions:
                permit-X11-forwarding
                permit-agent-forwarding
                permit-port-forwarding
                permit-pty
                permit-user-rc

Hapa ufunguo wa umma ndio ufunguo wa dharura tuliounda, na sk-user-ca inahusishwa na mamlaka ya uthibitishaji.

Mwishowe tuko tayari kutekeleza amri ya SSH:


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

  1. Sasa unaweza kuunda vyeti kwa mtumiaji yeyote kwenye seva pangishi anayeamini mamlaka ya cheti chako.
  2. Unaweza kuondoa dharura. Unaweza kuhifadhi sk-user-ca, lakini huhitaji kuhifadhi kwa vile iko kwenye ufunguo wa usalama pia. Unaweza pia kutaka kuondoa ufunguo asili wa umma wa PEM kutoka kwa wapangishi wako (kwa mfano katika ~/.ssh/authorized_keys kwa mtumiaji wa ubuntu) ikiwa uliutumia kwa ufikiaji wa dharura.

Ufikiaji wa Dharura: Mpango Kazi

Bandika ufunguo wa usalama na uendesha amri:

$ ssh-add -K

Hii itaongeza ufunguo wa umma wa mamlaka ya cheti na kifafanuzi kikuu kwa wakala wa SSH.

Sasa hamisha ufunguo wa umma ili kutengeneza cheti:

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

Unda cheti chenye tarehe ya mwisho wa matumizi, kwa mfano, si zaidi ya saa moja:

$ 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

Na sasa SSH tena:

$ ssh -i emergency username@host

Ikiwa faili yako ya .ssh/config inasababisha matatizo fulani wakati wa kuunganisha, unaweza kuendesha ssh na -F hakuna chaguo la kuikwepa. Ikiwa unahitaji kutuma cheti kwa mwenzako, chaguo rahisi na salama zaidi ni Uchawi Wormhole. Ili kufanya hivyo, unahitaji faili mbili tu - kwa upande wetu, dharura na dharura-cert.pub.

Ninachopenda kuhusu mbinu hii ni usaidizi wa vifaa. Unaweza kuweka funguo zako za usalama kwenye salama na hazitaenda popote.

Haki za Matangazo

Seva za Epic - Je, VPS kwa bei nafuu na vichakataji vyenye nguvu kutoka AMD, masafa ya msingi ya CPU hadi 3.4 GHz. Configuration ya juu inakuwezesha kutatua karibu tatizo lolote - cores 128 CPU, 512 GB RAM, 4000 GB NVMe. Jiunge nasi!

Tunaagiza utaratibu wa ufikiaji wa dharura kwa wapangishi wa SSH na funguo za maunzi

Chanzo: mapenzi.com

Kuongeza maoni