We prescribe prosedur kanggo akses darurat kanggo SSH sarwa dumadi karo tombol hardware

We prescribe prosedur kanggo akses darurat kanggo SSH sarwa dumadi karo tombol hardware

Ing kirim iki, kita bakal ngembangake prosedur kanggo akses darurat menyang host SSH nggunakake kunci keamanan hardware offline. Iki mung siji pendekatan, lan sampeyan bisa adaptasi kanggo cocog karo kabutuhan. Kita bakal nyimpen wewenang sertifikat SSH kanggo host kita ing kunci keamanan hardware. Skema iki bakal bisa digunakake ing meh kabeh OpenSSH, kalebu SSH kanthi mlebu siji.

Apa iki kabeh kanggo? Inggih, iki minangka pilihan pungkasan. Iki minangka lawang mburi sing bakal ngidini sampeyan entuk akses menyang server nalika ana alesan ora ana sing bisa digunakake.

Napa nggunakake sertifikat tinimbang kunci umum/pribadi kanggo akses darurat?

  • Ora kaya kunci umum, sertifikat bisa duwe umur sing cendhak banget. Sampeyan bisa ngasilake sertifikat sing valid sajrone 1 menit utawa malah 5 detik. Sawise wektu iki, sertifikat bakal dadi ora bisa digunakake kanggo sambungan anyar. Iki becik kanggo akses darurat.
  • Sampeyan bisa nggawe sertifikat kanggo akun apa wae ing host sampeyan lan, yen perlu, ngirim sertifikat "siji-wektu" kasebut menyang kolega.

Apa sampeyan kudu

  • Tombol keamanan hardware sing ndhukung tombol penduduk.
    Kunci penduduk minangka kunci kriptografi sing disimpen kabeh ing kunci keamanan. Kadhangkala padha dilindhungi dening PIN alfanumerik. Bagean umum saka kunci penduduk bisa diekspor saka kunci keamanan, kanthi opsional bebarengan karo gagang kunci pribadi. Contone, tombol USB seri Yubikey 5 ndhukung tombol penduduk. Disaranake mung kanggo akses darurat menyang host. Kanggo kirim iki aku mung bakal nggunakake siji tombol, nanging sampeyan kudu duwe tambahan kanggo serep.
  • Panggonan sing aman kanggo nyimpen kunci kasebut.
  • OpenSSH versi 8.2 utawa luwih dhuwur ing komputer lokal lan ing server sampeyan pengin duwe akses darurat. Ubuntu 20.04 dikirim nganggo OpenSSH 8.2.
  • (opsional, nanging dianjurake) Alat CLI kanggo mriksa sertifikat.

Latihan

Pisanan, sampeyan kudu nggawe wewenang sertifikasi sing bakal ana ing kunci keamanan hardware. Lebokake tombol lan mbukak:

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

Minangka komentar (-C) aku nuduhake [email dilindhungi]supaya sampeyan ora lali kang kunci keamanan iki panguwasa certificate belongs.

Saliyane nambahake kunci menyang Yubikey, rong file bakal digawe sacara lokal:

  1. sk-user-ca, gagang tombol sing nuduhake kunci pribadi sing disimpen ing kunci keamanan,
  2. sk-user-ca.pub, sing bakal dadi kunci umum kanggo wewenang sertifikat sampeyan.

Nanging aja padha sumelang, ing Yubikey nyimpen kunci pribadi liyane sing ora bisa dijupuk. Mulane, kabeh bisa dipercaya ing kene.

Ing host, minangka root, tambahake (yen sampeyan durung duwe) ing ngisor iki menyang konfigurasi SSHD (/etc/ssh/sshd_config):

TrustedUserCAKeys /etc/ssh/ca.pub

Banjur ing host, tambahake kunci umum (sk-user-ca.pub) menyang /etc/ssh/ca.pub

Wiwiti maneh daemon:

# /etc/init.d/ssh restart

Saiki kita bisa nyoba ngakses host. Nanging pisanan kita kudu sertifikat. Gawe pasangan kunci sing bakal digandhengake karo sertifikat:

$ ssh-keygen -t ecdsa -f emergency

Pasangan sertifikat lan SSH
Kadhangkala nggodho nggunakake sertifikat minangka panggantos kanggo pasangan kunci umum / pribadi. Nanging sertifikat mung ora cukup kanggo otentikasi pangguna. Saben sertifikat uga duwe kunci pribadi sing ana gandhengane. Pramila kita kudu nggawe pasangan kunci "darurat" iki sadurunge ngetokake sertifikat. Sing penting yaiku nuduhake sertifikat sing ditandatangani menyang server, nuduhake pasangan kunci sing duwe kunci pribadi.

Dadi ijol-ijolan kunci umum isih urip lan sehat. Iki bisa digunakake sanajan karo sertifikat. Sertifikat mung ngilangi kabutuhan server kanggo nyimpen kunci umum.

Sabanjure, nggawe sertifikat dhewe. Aku butuh otorisasi pangguna ubuntu ing interval 10 menit. Sampeyan bisa nindakake kanthi cara sampeyan.

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

Sampeyan bakal dijaluk mlebu sertifikat nggunakake bekas driji. Sampeyan bisa nambah jeneng panganggo tambahan sing dipisahake karo koma, contone -n ​​ubuntu,carl,ec2-user

Wis, saiki sampeyan duwe sertifikat! Sabanjure sampeyan kudu nemtokake ijin sing bener:

$ chmod 600 emergency-cert.pub

Sawise iki, sampeyan bisa ndeleng isi sertifikat:

$ step ssh inspect emergency-cert.pub

Iki tampilanku:

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

Ing kene kunci umum minangka kunci darurat sing digawe, lan sk-user-ca digandhengake karo otoritas sertifikasi.

Pungkasan kita siyap mbukak perintah SSH:


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

  1. Sampeyan saiki bisa nggawe sertifikat kanggo pangguna apa wae ing host sing dipercaya wewenang sertifikat sampeyan.
  2. Sampeyan bisa mbusak darurat. Sampeyan bisa nyimpen sk-user-ca, nanging ora perlu awit iku uga ing tombol keamanan. Sampeyan bisa uga pengin mbusak kunci umum PEM asli saka host sampeyan (contone ing ~/.ssh/authorized_keys kanggo pangguna ubuntu) yen sampeyan nggunakake kanggo akses darurat.

Akses Darurat: Rencana Tindakan

Tempel tombol keamanan lan jalanake printah:

$ ssh-add -K

Iki bakal nambah kunci umum lan deskriptor kunci panguwasa sertifikat menyang agen SSH.

Saiki ekspor kunci umum kanggo nggawe sertifikat:

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

Gawe sertifikat kanthi tanggal kadaluwarsa, contone, ora luwih saka jam:

$ 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

Lan saiki SSH maneh:

$ ssh -i emergency username@host

Yen file .ssh / config nyebabake sawetara masalah nalika nyambungake, sampeyan bisa mbukak ssh karo -F ora ana pilihan kanggo lulus. Yen sampeyan kudu ngirim sertifikat menyang kolega, pilihan sing paling gampang lan paling aman yaiku Wormhole Ajaib. Kanggo nindakake iki, sampeyan mung butuh rong file - ing kasus kita, darurat lan darurat-cert.pub.

Apa sing dakkarepake babagan pendekatan iki yaiku dhukungan hardware. Sampeyan bisa nyelehake kunci keamanan ing brankas lan ora bakal menyang ngendi wae.

Ing Hak Iklan

Server epik Punika VPS murah karo prosesor kuat saka AMD, frekuensi inti CPU nganti 3.4 GHz. Konfigurasi maksimum ngidini sampeyan ngatasi meh kabeh masalah - 128 inti CPU, 512 GB RAM, 4000 GB NVMe. Gabung karo kita!

We prescribe prosedur kanggo akses darurat kanggo SSH sarwa dumadi karo tombol hardware

Source: www.habr.com

Add a comment