Tietoturva

    SSH-kirjautumistietojen jakaminen turvallisesti vanhenevalla linkillä

    Pyydä mieluiten julkinen avain. Jos yksityinen avain tai salasana pitää siirtää, lähetä se vanhenevalla kertakäyttölinkillä ja palvelin ja tunnus erikseen.

    LinkPilot Team · Ihmiset, jotka rakentavat ja ylläpitävät LinkPilotia TetraCore, LLC -yhtiössä · Tietoa LinkPilotista

    Jonkun pitää päästä palvelimelle tänä iltana, ja kirjautumistietojen on tavoitettava hänet heti. Houkutus on liittää yksityinen avain tai root-salasana Slackiin. Jokainen viesti, jonka kautta avain kulkee, säilyttää siitä kopion. Siksi parempi reitti on vanheneva kertakäyttölinkki: salaisuus haetaan kerran, ja sen jälkeen se on poissa.

    Linkki on kuitenkin vain toimitusvaihe. Ennen kuin luot sellaisen, valitse oikeat lähetettävät kirjautumistiedot, rajaa ne tehtävään ja päätä, miten poistat ne. Tämä opas käy läpi kaiken tämän ja kertoo myös, mitä palvelimen käyttötietojen jakamiseen tarkoitettuun kertakäyttölinkkiin kannattaa laittaa ja mitä jättää pois.

    Mitä SSH-kirjautumistietoja oikeastaan jaat?

    SSH-pääsy voi perustua neljään eri asiaan, ja niiden jakamisessa pätevät hyvin erilaiset säännöt.

    KirjautumistietoMikä se onSaako sitä koskaan siirtää?
    Julkinen avainPuolisko, jonka palvelin tallentaaKyllä, vapaasti. Se ei ole salainen.
    Yksityinen avainPuolisko, joka on käyttäjälläVain jos se on luotu vastaanottajaa varten, ja vain kerran
    SalasanaJaettu merkkijono, jonka palvelin tarkistaaKerran, tilapäisenä arvona, jonka vaihdat
    SSH-varmenneVarmentajasi allekirjoittama avain, jolla on voimassaoloaikaVarmenne ei ole salainen, sen takana oleva avain on

    Paras luovutus on sellainen, jossa mitään salaista ei siirretä. Jos vastaanottajalla on jo SSH-avainpari, pyydä häneltä julkinen avain, lisää se oikean tilin tiedostoon ~/.ssh/authorized_keys ja pyydä häntä muodostamaan yhteys. Kun poistat tuon yhden rivin myöhemmin, hänen pääsynsä päättyy.

    Luo hänelle oma avain, jos hänellä ei ole avainta eikä hän voi tehdä sellaista. Älä koskaan lähetä omaa jokapäiväistä yksityistä avaintasi. Vastaanottajaa varten luodun avaimen oikeudet voi rajata, sen käyttöä voi seurata lokista ja sen voi poistaa koskematta mihinkään muuhun.

    Suosi varmenteita tai hallittua pääsyä toistuviin tarpeisiin. Jos sama ihminen tarvitsee pääsyä yhä uudelleen, toistuvat kertakäyttöiset luovutukset ovat väärä työkalu. Kun käytät lyhytaikaista SSH-varmennetta tai pääsynhallintatyökalua, kuten Teleportia tai Tailscale SSH:ta, vanheneminen kuuluu itse kirjautumistietoon eikä ole jälkikäteen toimitukseen lisätty kerros.

    Rajaa kirjautumistiedot ennen jakamista

    Mitä tahansa lähetätkin, tee siitä niin suppea kuin tehtävä sallii:

    • Yksi tili, yksi palvelin. Lisää avain palvelutilille, joka omistaa työn, ei root-tilille, ja vain kyseiselle koneelle.
    • Rajoita, mitä avaimella voi tehdä, tiedoston authorized_keys asetuksilla, kuten from="203.0.113.5", no-port-forwarding tai command=-kääre, jos tehtävä on yksi skripti.
    • Anna salasanalle käyttöikä. Jos jaat salasanan, käytä komentoa passwd -e tai alustan vastaavaa toimintoa, jotta vastaanottajan on vaihdettava salasana ensimmäisellä kirjautumisella, ja suunnittele tilin poistaminen käytöstä tiettynä päivänä.
    • Kirjoita päättymispäivä muistiin ennen kuin lähetät mitään. ”Kun työ on valmis” ei ole päivämäärä.
    1. Varmista vastaanottaja kanavalla, johon jo luotat: tukipyynnössä, tutussa sähköpostiketjussa tai puhelussa. Useimmiten väärään paikkaan päätyneet kirjautumistiedot johtuvat samannäköisestä osoitteesta tai automaattisesti täydennetystä nimestä.
    2. Liitä vain salaisuus kertakäyttöisen salaisen linkin työkaluun. Yksityisen avaimen kohdalla se tarkoittaa koko PEM-lohkoa eikä mitään muuta. LinkPilotissa teksti salataan selaimessasi ennen tallennusta, joten palvelulla on aina vain salatekstiä, ja purkuavain on siinä URL-osoitteen osassa, jota selaimet eivät lähetä palvelimille.
    3. Sovita voimassaoloaika tarpeeseen. Yksi tunti, jos vastaanottaja odottaa, 24 tuntia, jos hän on eri aikavyöhykkeellä, ja seitsemän päivää vain silloin, kun siihen on todellinen syy. Linkki tuhoutuu myös ensimmäisellä avauksella, joten voimassaoloaika on varakeino eikä pääasiallinen suoja.
    4. Lisää salalause Pro-tilillä, jos kirjautumistiedot ovat arkaluonteisia, ja välitä salalause eri kanavaa pitkin. Pro-paketin tarkastuslokista näet myös, milloin sisältö näytettiin.
    5. Lähetä linkki ja yhden rivin selitys sen tarkoituksesta, mutta älä liitä mukaan yhteystietoja.
    6. Lähetä yhteystiedot erillisessä viestissä: palvelin tai osoite, portti, käyttäjätunnus ja tunnistautumistapa. Mikään niistä ei ole yksinään salainen, mutta yhdessä avaimen kanssa ne muodostavat koko kirjautumisen.

    Jos linkki ilmoittaa, että se on jo avattu, ja vastaanottaja sanoo, ettei avannut sitä, älä jää väittelemään. Oleta, että kirjautumistiedot ovat vuotaneet, poista avain tai vaihda salasana ja luo uudet.

    Kysymys siitä, mitä salaisuuden sisään kuuluu, nousee esiin joka kerta. Hyvä sääntö on, että linkki sisältää sen, mitä hyökkääjä ei voi arvata, ja tavallinen viesti sen, minkä hän voisi arvata.

    Kertakäyttölinkkiin:

    • Yksityinen avain tai tilapäinen salasana
    • Avaimen salalause, jos sellainen asetettiin avainta luotaessa
    • Ei mitään muuta

    Tavalliseen viestiin, erikseen lähetettynä:

    • Palvelimen nimi tai IP-osoite ja portti
    • Tili, jolla kirjaudutaan
    • Käytetäänkö avainta vai salasanaa
    • Palvelimen avaimen sormenjälki, jotta vastaanottaja voi varmistaa palvelimen ensimmäisellä yhteydellä
    • Lyhyt huomautus siitä, mihin pääsy on tarkoitettu ja milloin se päättyy

    Älä laita kumpaankaan kuvakaappauksia tai päätelokeja. Kuvakaappaus toimivasta istunnosta sisältää usein tunnisteita, sisäisiä osoitteita ja muita käyttäjätunnuksia, joita ei koskaan ollut tarkoitus lähettää eteenpäin.

    Auta vastaanottajaa tallentamaan avain turvallisesti

    Turvallinenkin luovutus epäonnistuu, jos avain päätyy Lataukset-kansioon kaikille luettavilla oikeuksilla. Lähetä nämä ohjeet yhteystietojen mukana:

    # save the key, then lock it down
    chmod 600 ~/.ssh/acme_deploy
    ssh-add ~/.ssh/acme_deploy
    # verify the host key fingerprint against the one you were sent
    ssh -i ~/.ssh/acme_deploy deploy@203.0.113.5
    

    Pyydä häntä avaamaan salainen linkki vasta, kun hän on valmis käyttämään sitä, laitteella, jota hän hallitsee, ja yhteydellä, johon hän luottaa. Jos linkin avaa jaetulla koneella ”vain tarkistaakseen, että se toimii”, koneen leikepöytähistoriaan jää kopio.

    Varmista ja sulje sitten aikaikkuna

    Kun pääsyn aikaikkuna on vielä auki, pyydä vastaanottajaa testaamaan juuri se yhteys, jota hän tarvitsee, ja vahvistamaan, että tehtävä toimii. Älä laajenna oikeuksia saadaksesi testin läpi, vaan korjaa rajaus.

    Kun työ on valmis:

    1. Poista julkinen avain tiedostosta authorized_keys, poista tili käytöstä tai anna varmenteen vanhentua aikataulun mukaan.
    2. Vaihda kaikki, mikä kulki kirjautumistietojen mukana, myös tilapäinen salasana, joka piti vaihtaa ensimmäisellä kirjautumisella mutta jota ei vaihdettu.
    3. Käy läpi auth.log tai muu SSH-tarkastuslähteesi ja etsi yhteyksiä sovitun ajan ulkopuolelta tai odottamattomista osoitteista.
    4. Kirjaa ylös, kenellä oli mitä ja mistä mihin asti. Kirjaus jää, kirjautumistiedot eivät.

    Linkin voimassaoloaika rajaa, kuinka kauan salaisuuden pystyi hakemaan. Kirjautumistietojen voimassaoloaika rajaa, kuinka kauan niitä voi käyttää. Tarvitset molemmat, ja jälkimmäinen on se, joka unohtuu.

    Työkalut tähän artikkeliin

    Usein kysytyt kysymykset

    LinkPilot lähettää salaisen linkin, joka katoaa, kun se on avattu.

    Salataan selaimessasi, näytetään kerran ja tuhotaan sitten. Tiliä ei tarvita.

    Luo salainen linkki

    Lue seuraavaksi