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:
- sk-user-ca, gagang tombol sing nuduhake kunci pribadi sing disimpen ing kunci keamanan,
- 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:~$
- Sampeyan saiki bisa nggawe sertifikat kanggo pangguna apa wae ing host sing dipercaya wewenang sertifikat sampeyan.
- 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
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
Source: www.habr.com