Rydym yn rhagnodi gweithdrefn ar gyfer mynediad brys i westeion SSH gydag allweddi caledwedd

Rydym yn rhagnodi gweithdrefn ar gyfer mynediad brys i westeion SSH gydag allweddi caledwedd

Yn y swydd hon, byddwn yn datblygu gweithdrefn ar gyfer mynediad brys i westeion SSH gan ddefnyddio allweddi diogelwch caledwedd all-lein. Dim ond un dull yw hwn, a gallwch ei addasu i weddu i'ch anghenion. Byddwn yn storio awdurdod tystysgrif SSH ar gyfer ein gwesteiwyr ar yr allwedd diogelwch caledwedd. Bydd y cynllun hwn yn gweithio ar bron unrhyw OpenSSH, gan gynnwys SSH gydag un mewngofnodi.

Beth yw pwrpas hyn i gyd? Wel, mae hwn yn ddewis olaf. Mae hwn yn ddrws cefn a fydd yn caniatáu ichi gael mynediad i'ch gweinydd pan nad oes unrhyw beth arall yn gweithio am ryw reswm.

Pam defnyddio tystysgrifau yn lle allweddi cyhoeddus/preifat ar gyfer mynediad brys?

  • Yn wahanol i allweddi cyhoeddus, gall fod gan dystysgrifau oes fer iawn. Gallwch gynhyrchu tystysgrif sy'n ddilys am 1 munud neu hyd yn oed 5 eiliad. Ar ôl y cyfnod hwn, ni fydd modd defnyddio'r dystysgrif ar gyfer cysylltiadau newydd. Mae hyn yn ddelfrydol ar gyfer mynediad brys.
  • Gallwch greu tystysgrif ar gyfer unrhyw gyfrif ar eich gwesteiwyr ac, os oes angen, anfon tystysgrifau “un-amser” o'r fath at gydweithwyr.

Beth sydd ei angen arnoch chi

  • Allweddi diogelwch caledwedd sy'n cefnogi allweddi preswylwyr.
    Mae allweddi preswylydd yn allweddi cryptograffig sy'n cael eu storio'n gyfan gwbl o fewn yr allwedd ddiogelwch. Weithiau maent yn cael eu hamddiffyn gan PIN alffaniwmerig. Gellir allforio rhan gyhoeddus yr allwedd breswylydd o'r allwedd ddiogelwch, yn ddewisol ynghyd â handlen yr allwedd breifat. Er enghraifft, mae allweddi USB cyfres Yubikey 5 yn cefnogi allweddi preswylwyr. Fe'ch cynghorir mai dim ond ar gyfer mynediad brys i'r gwesteiwr y cânt eu bwriadu. Ar gyfer y swydd hon byddaf yn defnyddio un allwedd yn unig, ond dylai fod gennych un ychwanegol ar gyfer gwneud copi wrth gefn.
  • Lle diogel i storio'r allweddi hynny.
  • OpenSSH fersiwn 8.2 neu uwch ar eich cyfrifiadur lleol ac ar y gweinyddion yr ydych am gael mynediad brys iddynt. Mae Ubuntu 20.04 yn llongau gydag OpenSSH 8.2.
  • (dewisol, ond argymhellir) Offeryn CLI ar gyfer gwirio tystysgrifau.

Hyfforddiant

Yn gyntaf, mae angen i chi greu awdurdod ardystio a fydd wedi'i leoli ar yr allwedd diogelwch caledwedd. Mewnosodwch yr allwedd a rhedeg:

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

Fel sylw (-C) nodais [e-bost wedi'i warchod]felly ni fyddwch yn anghofio pa allwedd ddiogelwch y mae'r awdurdod tystysgrif hwn yn perthyn iddi.

Yn ogystal ag ychwanegu'r allwedd i'r Yubikey, bydd dwy ffeil yn cael eu cynhyrchu'n lleol:

  1. sk-user-ca, handlen allwedd sy'n cyfeirio at yr allwedd breifat sydd wedi'i storio yn yr allwedd ddiogelwch,
  2. sk-user-ca.pub, sef allwedd gyhoeddus eich awdurdod tystysgrif.

Ond peidiwch â phoeni, mae'r Yubikey yn storio allwedd breifat arall na ellir ei hadalw. Felly, mae popeth yn ddibynadwy yma.

Ar westeion, fel gwraidd, ychwanegwch (os nad ydych chi eisoes) y canlynol i'ch cyfluniad SSHD (/etc/ssh/sshd_config):

TrustedUserCAKeys /etc/ssh/ca.pub

Yna ar y gwesteiwr, ychwanegwch yr allwedd gyhoeddus (sk-user-ca.pub) i /etc/ssh/ca.pub

Ailgychwyn yr ellyll:

# /etc/init.d/ssh restart

Nawr gallwn geisio cael mynediad i'r gwesteiwr. Ond yn gyntaf mae angen tystysgrif arnom. Creu pâr allweddol a fydd yn gysylltiedig â'r dystysgrif:

$ ssh-keygen -t ecdsa -f emergency

Tystysgrifau a pharau SSH
Weithiau mae’n demtasiwn defnyddio tystysgrif yn lle pâr allwedd cyhoeddus/preifat. Ond nid yw tystysgrif yn unig yn ddigon i ddilysu defnyddiwr. Mae gan bob tystysgrif allwedd breifat yn gysylltiedig ag ef hefyd. Dyma pam mae angen i ni gynhyrchu'r pâr allwedd "argyfwng" hwn cyn i ni roi tystysgrif i ni ein hunain. Y peth pwysig yw ein bod yn dangos y dystysgrif wedi'i llofnodi i'r gweinydd, gan nodi'r pâr allweddol y mae gennym allwedd breifat ar eu cyfer.

Felly mae cyfnewid allweddi cyhoeddus yn dal yn fyw ac yn iach. Mae hyn yn gweithio hyd yn oed gyda thystysgrifau. Yn syml, mae tystysgrifau yn dileu'r angen i'r gweinydd storio allweddi cyhoeddus.

Nesaf, crëwch y dystysgrif ei hun. Dwi angen awdurdodiad defnyddiwr ubuntu ymhen 10 munud. Gallwch chi ei wneud eich ffordd.

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

Gofynnir i chi lofnodi'r dystysgrif gan ddefnyddio'ch olion bysedd. Gallwch ychwanegu enwau defnyddwyr ychwanegol wedi'u gwahanu gan atalnodau, er enghraifft -n ubuntu, carl, ec2-user

Dyna ni, nawr mae gennych chi dystysgrif! Nesaf mae angen i chi nodi'r caniatâd cywir:

$ chmod 600 emergency-cert.pub

Ar ôl hyn, gallwch weld cynnwys eich tystysgrif:

$ step ssh inspect emergency-cert.pub

Dyma sut olwg sydd ar fy un i:

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

Yma, yr allwedd gyhoeddus yw'r allwedd argyfwng a grëwyd gennym, ac mae sk-user-ca yn gysylltiedig â'r awdurdod ardystio.

Yn olaf, rydym yn barod i redeg y gorchymyn SSH:


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

  1. Gallwch nawr greu tystysgrifau ar gyfer unrhyw ddefnyddiwr ar westeiwr sy'n ymddiried yn eich awdurdod tystysgrif.
  2. Gallwch gael gwared ar argyfwng. Gallwch arbed sk-user-ca, ond nid oes angen i chi wneud hynny gan ei fod hefyd ar yr allwedd ddiogelwch. Efallai y byddwch hefyd am dynnu'r allwedd gyhoeddus PEM wreiddiol o'ch gwesteiwr (er enghraifft yn ~/.ssh/authorized_keys ar gyfer y defnyddiwr ubuntu) os gwnaethoch ei ddefnyddio ar gyfer mynediad brys.

Mynediad Brys: Cynllun Gweithredu

Gludwch yr allwedd ddiogelwch a rhedeg y gorchymyn:

$ ssh-add -K

Bydd hyn yn ychwanegu allwedd gyhoeddus yr awdurdod tystysgrif a disgrifydd allwedd i'r asiant SSH.

Nawr allforio'r allwedd gyhoeddus i wneud tystysgrif:

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

Creu tystysgrif gyda dyddiad dod i ben o, er enghraifft, dim mwy nag awr:

$ 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

Ac yn awr SSH eto:

$ ssh -i emergency username@host

Os yw'ch ffeil .ssh/config yn achosi rhai problemau wrth gysylltu, gallwch redeg ssh gyda'r opsiwn -F dim i'w osgoi. Os oes angen i chi anfon tystysgrif at gydweithiwr, yr opsiwn hawsaf a mwyaf diogel yw Wormhole Hud. I wneud hyn, dim ond dwy ffeil sydd eu hangen arnoch chi - yn ein hachos ni, brys ac emergency-cert.pub.

Yr hyn rwy'n ei hoffi am y dull hwn yw'r gefnogaeth caledwedd. Gallwch roi eich allweddi diogelwch mewn sêff ac ni fyddant yn mynd i unrhyw le.

Ar Hawliau Hysbysebu

Gweinyddion epig - A yw VPS rhad gyda phroseswyr pwerus gan AMD, amledd craidd CPU hyd at 3.4 GHz. Mae'r cyfluniad uchaf yn caniatáu ichi ddatrys bron unrhyw broblem - creiddiau 128 CPU, 512 GB RAM, 4000 GB NVMe. Ymunwch â ni!

Rydym yn rhagnodi gweithdrefn ar gyfer mynediad brys i westeion SSH gydag allweddi caledwedd

Ffynhonnell: hab.com

Ychwanegu sylw