Sa kini nga post, maghimo kami usa ka pamaagi alang sa emerhensya nga pag-access sa mga host sa SSH gamit ang mga yawe sa seguridad sa hardware offline. Kini usa lamang ka pamaagi, ug mahimo nimo kini ipahiangay sa imong mga panginahanglan. Itago namon ang awtoridad sa sertipiko sa SSH alang sa among mga host sa yawe sa seguridad sa hardware. Kini nga laraw magamit sa halos bisan unsang OpenSSH, lakip ang SSH nga adunay usa ka sign-on.
Para sa unsa kining tanan? Aw, kini usa ka kapilian nga kapilian. Kini usa ka backdoor nga magtugot kanimo nga maka-access sa imong server kung sa usa ka hinungdan walaβy lain nga molihok.
Nganong mogamit ug mga sertipiko imbes sa publiko/pribado nga mga yawe alang sa emerhensiyang pag-access?
- Dili sama sa mga yawe sa publiko, ang mga sertipiko mahimong adunay mubo nga kinabuhi. Makahimo ka usa ka sertipiko nga balido sa 1 minuto o bisan 5 segundos. Pagkahuman niini nga panahon, ang sertipiko mahimong dili magamit alang sa mga bag-ong koneksyon. Maayo kini alang sa emerhensya nga pag-access.
- Makahimo ka og sertipiko alang sa bisan unsang account sa imong mga host ug, kung gikinahanglan, ipadala ang ingon nga "usa ka higayon" nga mga sertipiko sa mga kauban.
Unsa ang imong gikinahanglan
- Mga yawe sa seguridad sa hardware nga nagsuporta sa mga yawe sa residente.
Ang mga yawe sa residente mao ang mga yawe sa cryptographic nga gitipigan sa tibuuk nga yawe sa seguridad. Usahay sila gipanalipdan sa usa ka alphanumeric PIN. Ang publiko nga bahin sa residential nga yawe mahimong ma-eksport gikan sa yawe sa seguridad, opsyonal uban sa pribadong yawe nga gunitanan. Pananglitan, ang Yubikey 5 series USB keys nagsuporta sa resident keys. Kini mao ang advisable nga sila gituyo lamang alang sa emergency access ngadto sa host. Alang sa kini nga post mogamit ra ako usa ka yawe, apan kinahanglan nga adunay usa ka dugang alang sa pag-backup. - Usa ka luwas nga lugar aron tipigan ang mga yawe.
- Ang OpenSSH nga bersyon 8.2 o mas taas sa imong lokal nga kompyuter ug sa mga server nga gusto nimo nga adunay emerhensya nga pag-access. Ang Ubuntu 20.04 nagpadala sa OpenSSH 8.2.
- (opsyonal, apan girekomendar) Usa ka CLI nga himan alang sa pagsusi sa mga sertipiko.
Training
Una, kinahanglan nimo nga maghimo usa ka awtoridad sa sertipikasyon nga mahimutang sa yawe sa seguridad sa hardware. Isulod ang yawe ug dagan:
$ ssh-keygen -t ecdsa-sk -f sk-user-ca -O resident -C [security key ID]
Ingon usa ka komento (-C) akong gipakita [protektado sa email]aron dili nimo makalimtan kung unsang yawe sa seguridad ang nahisakop sa kini nga awtoridad sa sertipiko.
Dugang pa sa pagdugang sa yawe sa Yubikey, duha ka mga file ang himoon sa lokal:
- sk-user-ca, usa ka yawe nga gunitanan nga nagtumong sa pribadong yawe nga gitipigan sa yawe sa seguridad,
- sk-user-ca.pub, nga mahimong publikong yawe alang sa imong awtoridad sa sertipiko.
Apan ayaw kabalaka, ang Yubikey nagtipig ug laing pribadong yawe nga dili makuha. Busa, ang tanan kasaligan dinhi.
Sa mga host, isip gamut, idugang (kung wala pa nimo) ang mosunod sa imong SSHD configuration (/etc/ssh/sshd_config):
TrustedUserCAKeys /etc/ssh/ca.pub
Dayon sa host, idugang ang public key (sk-user-ca.pub) sa /etc/ssh/ca.pub
I-restart ang daemon:
# /etc/init.d/ssh restart
Karon mahimo namong sulayan nga ma-access ang host. Apan kinahanglan una namon ang usa ka sertipiko. Paghimo usa ka yawe nga pares nga adunay kalabotan sa sertipiko:
$ ssh-keygen -t ecdsa -f emergency
Mga sertipiko ug mga pares sa SSH
Usahay makatintal ang paggamit sa usa ka sertipiko isip kapuli sa usa ka publiko/pribado nga pares nga yawe. Apan ang usa ka sertipiko lamang dili igo aron mapamatud-an ang usa ka tiggamit. Ang matag sertipiko usab adunay usa ka pribadong yawe nga nalangkit niini. Mao kini ang hinungdan nga kinahanglan naton nga makamugna kini nga "emerhensya" nga pares nga yawe sa dili pa kita mag-isyu sa kaugalingon usa ka sertipiko. Ang hinungdanon nga butang mao nga among gipakita ang gipirmahan nga sertipiko sa server, nga nagpaila sa yawe nga pares diin kami adunay usa ka pribado nga yawe.Busa ang public key exchange buhi gihapon ug maayo. Naglihok kini bisan sa mga sertipiko. Giwagtang ra sa mga sertipiko ang panginahanglan sa server nga magtipig sa mga yawe sa publiko.
Sunod, paghimo sa sertipiko mismo. Kinahanglan nako ang pagtugot sa tiggamit sa ubuntu sa 10 minuto nga agwat. Mahimo nimo kini sa imong paagi.
$ ssh-keygen -s sk-user-ca -I test-key -n ubuntu -V -5m:+5m emergency
Gihangyo ka nga pirmahan ang sertipiko gamit ang imong fingerprint. Mahimo nimong idugang ang dugang nga mga username nga gibulag sa mga koma, pananglitan -n ubuntu,carl,ec2-user
Mao na, naa na kay certificate! Sunod kinahanglan nimo ipiho ang husto nga pagtugot:
$ chmod 600 emergency-cert.pub
Pagkahuman niini, mahimo nimong tan-awon ang sulud sa imong sertipiko:
$ step ssh inspect emergency-cert.pub
Mao ni ang hitsura sa akoa:
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
Dinhi ang yawe sa publiko mao ang yawe sa pang-emerhensya nga among gihimo, ug ang sk-user-ca nalambigit sa awtoridad sa sertipikasyon.
Sa katapusan andam na kami sa pagdagan sa SSH command:
$ ssh -i emergency ubuntu@my-hostname
ubuntu@my-hostname:~$
- Makahimo ka na karon og mga sertipiko alang sa bisan kinsa nga tiggamit sa usa ka host nga nagsalig sa imong awtoridad sa sertipiko.
- Mahimo nimong tangtangon ang emerhensya. Mahimo nimong i-save ang sk-user-ca, apan dili nimo kinahanglan tungod kay naa usab kini sa yawe sa seguridad. Mahimo usab nimong tangtangon ang orihinal nga PEM public key gikan sa imong mga host (pananglitan sa ~/.ssh/authorized_keys para sa ubuntu user) kung gigamit nimo kini alang sa emerhensya nga pag-access.
Emergency Access: Plano sa Aksyon
Idikit ang yawe sa seguridad ug padagana ang sugo:
$ ssh-add -K
Idugang niini ang public key ug key descriptor sa certificate authority sa SSH agent.
Karon i-export ang yawe sa publiko aron makahimo usa ka sertipiko:
$ ssh-add -L | tail -1 > sk-user-ca.pub
Paghimo og sertipiko nga adunay expiration date nga, pananglitan, dili molapas sa usa ka oras:
$ 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
Ug karon SSH pag-usab:
$ ssh -i emergency username@host
Kung ang imong .ssh/config file nagpahinabog pipila ka mga problema kung magkonektar, mahimo nimong ipadagan ang ssh gamit ang -F none nga kapilian aron malaktawan kini. Kung kinahanglan nimo nga magpadala usa ka sertipiko sa usa ka kauban, ang labing kadali ug labing luwas nga kapilian mao
Ang gusto nako bahin sa kini nga pamaagi mao ang suporta sa hardware. Mahimo nimong ibutang ang imong mga yawe sa seguridad sa usa ka luwas ug dili kini moadto bisan diin.
Diha sa Mga Katungod sa Pagdukiduki
Epiko nga mga server Mao ba
Source: www.habr.com