Määritämme menettelyn hätäkäyttöön SSH-isännille laitteistoavaimilla

Määritämme menettelyn hätäkäyttöön SSH-isännille laitteistoavaimilla

Tässä viestissä kehitämme menettelyn hätäkäyttöön SSH-isännille käyttämällä laitteiston suojausavaimia offline-tilassa. Tämä on vain yksi lähestymistapa, ja voit mukauttaa sen tarpeidesi mukaan. Tallennamme isäntiemme SSH-varmenteen myöntäjän laitteiston suojausavaimeen. Tämä malli toimii lähes kaikissa OpenSSH:ssa, mukaan lukien SSH kertakirjautumisella.

Mitä varten tämä kaikki on? No, tämä on viimeinen vaihtoehto. Tämä on takaovi, jonka avulla pääset palvelimellesi, kun mikään muu ei jostain syystä toimi.

Miksi käyttää varmenteita julkisten/yksityisten avainten sijasta hätäkäyttöön?

  • Toisin kuin julkisilla avaimilla, varmenteilla voi olla hyvin lyhyt käyttöikä. Voit luoda varmenteen, joka on voimassa 1 minuutin tai jopa 5 sekuntia. Tämän ajanjakson jälkeen varmenne muuttuu käyttökelvottomaksi uusille yhteyksille. Tämä on ihanteellinen hätäkäyttöön.
  • Voit luoda varmenteen mille tahansa isäntätilille ja tarvittaessa lähettää tällaisia ​​"kertaluonteisia" varmenteita kollegoille.

Mitä tarvitset

  • Laitteiston suojausavaimet, jotka tukevat vakituisia avaimia.
    Resident-avaimet ovat kryptografisia avaimia, jotka on tallennettu kokonaan suojausavaimeen. Joskus ne on suojattu aakkosnumeerisella PIN-koodilla. Pysyvän avaimen julkinen osa voidaan viedä suojausavaimesta valinnaisesti yksityisen avaimen kahvan kanssa. Esimerkiksi Yubikey 5 -sarjan USB-avaimet tukevat paikallisia avaimia, ja on suositeltavaa, että ne on tarkoitettu vain hätäkäyttöön isäntään. Käytän tässä viestissä vain yhtä avainta, mutta sinulla pitäisi olla toinen varmuuskopiointia varten.
  • Turvallinen paikka näiden avainten säilyttämiseen.
  • OpenSSH-versio 8.2 tai uudempi paikallisella tietokoneellasi ja palvelimilla, joihin haluat päästä hätäkäyttöön. Ubuntu 20.04 toimitetaan OpenSSH 8.2:n kanssa.
  • (valinnainen, mutta suositeltava) CLI-työkalu sertifikaattien tarkistamiseen.

Koulutus

Ensin sinun on luotava varmentaja, joka sijaitsee laitteiston suojausavaimessa. Aseta avain ja suorita:

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

Kommenttina (-C) ilmoitin [sähköposti suojattu]joten et unohda, mille suojausavaimelle tämä varmenteen myöntäjä kuuluu.

Yubikey-avaimen lisäämisen lisäksi kaksi tiedostoa luodaan paikallisesti:

  1. sk-user-ca, avainkahva, joka viittaa suojausavaimeen tallennettuun yksityiseen avaimeen,
  2. sk-user-ca.pub, joka on varmenteen myöntäjän julkinen avain.

Mutta älä huoli, Yubikey tallentaa toisen yksityisen avaimen, jota ei voi hakea. Siksi täällä kaikki on luotettavaa.

Lisää isännissä pääkäyttäjänä (jos et ole jo tehnyt) seuraavat SSHD-kokoonpanoosi (/etc/ssh/sshd_config):

TrustedUserCAKeys /etc/ssh/ca.pub

Lisää sitten julkinen avain (sk-user-ca.pub) isännässä tiedostoon /etc/ssh/ca.pub

Käynnistä demoni uudelleen:

# /etc/init.d/ssh restart

Nyt voimme yrittää päästä isäntään. Mutta ensin tarvitsemme todistuksen. Luo avainpari, joka liitetään varmenteeseen:

$ ssh-keygen -t ecdsa -f emergency

Sertifikaatit ja SSH-parit
Joskus on houkuttelevaa käyttää varmennetta julkisen/yksityisen avainparin korvikkeena. Pelkkä varmenne ei kuitenkaan riitä käyttäjän todentamiseen. Jokaiseen varmenteeseen liittyy myös yksityinen avain. Tästä syystä meidän on luotava tämä "hätäavainpari", ennen kuin myönnämme itsellemme varmenteen. Tärkeää on, että näytämme palvelimelle allekirjoitetun varmenteen, joka osoittaa avainparin, jolle meillä on yksityinen avain.

Julkisen avaimen vaihto on siis edelleen elossa ja voi hyvin. Tämä toimii jopa varmenteilla. Sertifikaatit poistavat palvelimen tarpeen tallentaa julkisia avaimia.

Luo seuraavaksi itse varmenne. Tarvitsen ubuntu-käyttäjän valtuutuksen 10 minuutin välein. Voit tehdä sen omalla tavallasi.

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

Sinua pyydetään allekirjoittamaan sertifikaatti sormenjäljelläsi. Voit lisätä käyttäjätunnuksia pilkuilla erotettuina, esimerkiksi -n ubuntu,carl,ec2-user

Siinä kaikki, nyt sinulla on todistus! Seuraavaksi sinun on määritettävä oikeat käyttöoikeudet:

$ chmod 600 emergency-cert.pub

Tämän jälkeen voit tarkastella sertifikaattisi sisältöä:

$ step ssh inspect emergency-cert.pub

Omani näyttää tältä:

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

Tässä julkinen avain on luomamme hätäavain, ja sk-user-ca liittyy varmenneviranomaiseen.

Lopulta olemme valmiita suorittamaan SSH-komennon:


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

  1. Voit nyt luoda varmenteita kaikille käyttäjille isännässä, joka luottaa varmentajaasi.
  2. Voit poistaa hätätilan. Voit tallentaa sk-user-ca, mutta sinun ei tarvitse tehdä sitä, koska se on myös suojausavaimessa. Voit myös haluta poistaa alkuperäisen julkisen PEM-avaimen isännistäsi (esimerkiksi tiedostosta ~/.ssh/authorized_keys ubuntu-käyttäjälle), jos käytit sitä hätäkäyttöön.

Hätäpääsy: toimintasuunnitelma

Liitä suojausavain ja suorita komento:

$ ssh-add -K

Tämä lisää varmenteen myöntäjän julkisen avaimen ja avaimen kuvaajan SSH-agenttiin.

Vie nyt julkinen avain sertifikaatin luomiseksi:

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

Luo varmenne, jonka viimeinen voimassaolopäivä on esimerkiksi enintään tunti:

$ 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

Ja nyt taas SSH:

$ ssh -i emergency username@host

Jos .ssh/config-tiedostosi aiheuttaa ongelmia yhteyden muodostamisessa, voit ohittaa sen suorittamalla ssh:n valitsimella -F none. Jos sinun on lähetettävä varmenne kollegalle, helpoin ja turvallisin vaihtoehto on Maaginen madonreikä. Tätä varten tarvitset vain kaksi tiedostoa - meidän tapauksessamme hätätilanne ja hätä-cert.pub.

Pidän tästä lähestymistavasta laitteistotuesta. Voit laittaa suojausavaimesi kassakaappiin, eivätkä ne mene minnekään.

Mainonnan oikeuksista

Epic palvelimet - Onko halpa VPS tehokkailla AMD:n prosessoreilla, prosessorin ydintaajuus jopa 3.4 GHz. Maksimikokoonpano mahdollistaa melkein minkä tahansa ongelman ratkaisemisen - 128 CPU-ydintä, 512 Gt RAM-muistia, 4000 Gt NVMe. Liity meihin!

Määritämme menettelyn hätäkäyttöön SSH-isännille laitteistoavaimilla

Lähde: will.com

Lisää kommentti