Mihin Linuxin pitäisi tallentaa VPN-salasanasi? Ei profiiliin
NetworkManagerin salaisuusliput päättävät, pitääkö salasanan profiili, avainrenkaan agentti vai ei kukaan. Vastaus riippuu siitä, milloin yhteys käynnistyy.
VPN-salasanan on elettävä jossain: yhteysprofiilissa, työpöydän avaamassa avainrenkaassa tai ei missään. NetworkManager kutsuu tätä valintaa salaisuuslipuksi, ja väärän valitseminen on syy siihen, että yhteys toimii kirjautumisen jälkeen ja epäonnistuu palveluna. Lippu on yksi rivi asetuksia, ja se päättää, minkä kolmesta tuloksesta saat.
Kolme lippua kattaa lähes kaikki tapaukset, ja päätös koskee sitä, milloin yhteys käynnistyy.
Kolme salaisuuslippua, kolme käyttäytymistä
Lippu 0 tarkoittaa, että salaisuus tallennetaan yhteyden mukana, mihin tahansa säilöön profiili sitten on tallennettu. Lippu 1 tekee siitä agentin oman: salaisuus tulee salaisuusagentilta, kuten työpöydän avainrenkaalta, ja NetworkManager kysyy sitä aktivoinnin yhteydessä. Lippu 2 tarkoittaa ei tallennettu, joten salaisuutta ei koskaan kirjoiteta ja se on annettava joka kerta. Lippu 4 merkitsee salaisuuden tarpeettomaksi yhteyksille, jotka todella eivät tarvitse sitä lainkaan.
| Flag | Where it lives | Works unattended |
|---|---|---|
| 0 saved | Connection profile | Yes, if the store is readable |
| 1 agent-owned | Secret agent or keyring | Only if that agent is available |
| 2 not-saved | Nowhere | No |
Aseta liput salaisuuskohtaisesti, ei yhteyskohtaisesti. Yhdellä yhteydellä voi olla agentin oma salasana ja tallennettu yksityisavaimen salalause.
Päätä sen mukaan, milloin yhteys käynnistyy
Jos kirjautunut käyttäjä käynnistää yhteyden, agentin omistus on järkevä oletus: avainrengas avataan kirjautumisella eikä salaisuus koskaan lepää tiedostossa. Jos yhteyden on noustava ennen kuin kukaan kirjautuu, agentin omistus on väärä valinta, koska istunnon avainrengasta ei ole avattavaksi.
Siinä koko päätös. Kaikki muu on sen muunnelma.
Ennen kirjautumista käynnistyvälle palvelulle tuettu malli on järjestelmätason säilö tai suojattu avaintiedosto, ja tiedoston käyttöoikeuksista tulee suoja. Älä ratkaise ongelmaa liittämällä salasanaa käynnistyksen yhteydessä ajettavaan shell-skriptiin.
Mitä avainrengas antaa ja mitä ei
Avainrengas pitää salaisuuden poissa yhteysprofiilista ja sitoo sen käyttäjäistuntoon. Se ei tee salaisuutta saataville palvelulle, jolla ei ole istuntoa, eikä se salaa mitään verkossa. Nämä ovat erillisiä ominaisuuksia, jotka ihmiset usein sekoittavat. Sen sijaan se ostaa pienemmän vahinkosäteen, kun profiilitiedosto vuotaa.
Profiilin viittaama yksityisavain tarvitsee omat käyttöoikeutensa riippumatta siitä, missä salasana elää.
Diagnostiikkaa salaisuuksia vuotamatta
Yhteyksien nimet, UUID:t ja liput riittävät yleensä selittämään epäonnistumisen. nmcli connection show luettelee profiilin, ja salaisuusliput kertovat, mistä salasanan oli määrä tulla.
Vältä --show-secrets tiketeissä ja chatissa. Kun se on kerran liitetty, se on tunnus tietueessa.
Tallentaminen ei ole mitätöinti
Salaisuuden poistaminen yhdestä avainrenkaasta ei mitätöi tunnusta, jonka etäoperaattori on jo hyväksynyt. Tilin mitätöinti on palvelinpuolen toimi, ja paikallinen tallennus on erillinen asia, jolla on erillinen omistaja.
Päätä molemmat ennen tapahtumaa, ei sen aikana. Interaktiivinen käyttäjäyhteys ja ennen kirjautumista käynnistyvä palvelu tarvitsevat eri vastaukset, eikä jaettu shell-skripti ole kumpikaan. NetworkManagerin salaisuuslippujen dokumentaatio luettelee arvot kokonaan.