Miksi käynnistyksen yhteydessä käynnistyvä VPN-palvelu ei voi lukea avainnippuasi
Käynnistysaikaisella VPN:llä ei ole avattua salaisuusagenttia, jolta lainata. Lue yhteyden salaisuusliput ennen kuin nollaat salasanan, jota palvelin ei koskaan hylännyt.
Yhteys, joka toimii kirjautumisen jälkeen ja epäonnistuu ennen sitä, tarkoittaa yleensä, että käynnistysyritys ei saanut salaisuutta, ei sitä, että palvelin hylkäsi sellaisen. Tunnus on olemassa; konteksti, joka sitä pyytää, ei. Tämä yksi ero säästää tarpeettoman salasanan nollauksen.
Seuraa pyyntöä: jokin käynnistää yhteyden ennen kuin työpöytäistuntoa on olemassa, eikä salaisuussäilöä, joka tavallisesti vastaa, ole vielä avattu. Kaksi kontekstia ovat eri mieltä siitä, kenelle salaisuus kuuluu, ja profiili kirjaa, kumman odotetaan toimittavan sen.
Mitä käynnistyspolku oikeastaan pyytää
Käynnistyksessä NetworkManager käynnistyy järjestelmäpalveluna ilman käyttäjäistuntoa, ilman istunnon D-Busia ja ilman avattua avainnippua. Yhteysprofiili voidaan silti nostaa, mutta vain salaisuuksilla, joihin palvelu pääsee itse käsiksi. Kaikki salaisuusagentin omistama odottaa, kunnes ihminen kirjautuu sisään ja agentti ilmestyy. Palvelu tekee täsmälleen sen, mitä sen kokoonpano sanoo; profiili on se, mitä täytyy muuttaa.
Vika on kirjoitettu yhteyteen, ei piilotettu avainnippuun.
Yhteyden salaisuuslippujen lukeminen
Kysy yhteydeltä, mitä se odottaa, älä sitä, mitä työpöytä muistaa. Lippusarake vastaa kysymykseen suoraan, ja se säilyy uudelleenkäynnistysten yli profiilitiedostossa levyllä.
Aloita profiililuettelosta ja vahvista sitten, mikä yhteys on asetettu nousemaan itsestään. Tulosta sitten yksi yhteys ja lue salasanan liput:
nmcli -f NAME,UUID,TYPE,AUTOCONNECT connection show nmcli connection show "Work VPN" | grep -i -E "password|secret|key" journalctl -b -u NetworkManager --grep "secret"
Ensimmäinen komento vahvistaa, mitkä profiilit ovat olemassa ja onko jokin asetettu automaattiseen yhdistämiseen, millä valvomaton yritys ylipäätään alkaa. Toinen paljastaa lippujen arvot, ja kolmas näyttää palvelun valittavan, ettei mikään agentti vastannut tietystä salaisuudesta. Lokirivi, joka nimeää salaisuuden agentin omistamaksi, on koko diagnoosi yhdessä lauseessa.
| Flag value | Where the secret lives | Behaviour before login |
|---|---|---|
| 0 | Stored in the connection profile | Available to the system service |
| 1 | Owned by a secret agent | Blocks until the agent is unlocked |
| 2 | Never stored | Prompts on every activation |
| 4 | Not required | Never requested at all |
Miksi yhteyden siirtäminen järjestelmätasolle muuttaa vastausta
Käyttäjän omistama yhteys aktivoidaan kyseisen käyttäjän agentin alla, minkä vuoksi se toimii moitteettomasti heti, kun työpöytä on ylhäällä. Siirtäminen järjestelmätasolle poistaa agentin polulta, joten sama profiili käyttäytyy eri tavoin ilman, että yksikään VPN-kokoonpanon rivi muuttuu.
Tämä siirto on laillinen suunnitteluratkaisu, ja se tuo mukanaan vaatimuksen: salaisuuden on oltava järjestelmäpalvelun saatavilla. Sen tallentaminen profiiliin, toimittaminen järjestelmätason tunnuksella tai interaktiivisen kehotteen hyväksyminen oikealla hetkellä ovat kaikki kelvollisia vastauksia. Lipun 1 jättäminen ja toivominen ei ole.
Yksityinen avain omalla salalauseellaan lisää toisen kerroksen. Edes tallennettu tilin salasana ei avaa avainta, joka vaatii salalauseen, joten varmista, mitä salaisuutta epäonnistuva vaihe oikeastaan pyytää, ennen kuin muutat mitään.
Mitä ei pidä tehdä ja mitä sen sijaan
Jokaisen tunnustiedoston tekeminen kaikkien luettavaksi tai todennuksen poistaminen käytöstä, jotta kehotetta ei tarvita, vaihtaa käynnistyshaitta pysyvään paljastumiseen. Molemmat myös piilottavat riippuvuuden sen ratkaisemisen sijaan, ja seuraava levykuvan päivitys tuo saman vian takaisin.
Käytä siinä vaiheessa mekanismia, jonka jakelusi dokumentoi valvomattomaan aktivointiin ja vahvista sitten, että profiilin liput vastaavat sitä. Tarkista tulos puhtaasta käynnistyksestä, älä komentotulkista, jolla on jo agentti. Kirjoita muistiin yhteyden omistaja, salaisuuden lähde ja vaihe, jonka on toimittava, jotta myöhempi automaattikäynnistyksen muutos ei voi hiljaa palauttaa riippuvuutta siitä, että joku avaa ensin työpöydän. Dokumentaatio on ero korjatun palvelun ja sellaisen välillä, joka hajoaa uudelleen ensi neljänneksellä.
Testaa valvotusta puhtaasta käynnistyksestä, älä manuaalisesta uusintayrityksestä kirjautumisen jälkeen. Uusintayritys onnistuu syystä, josta käynnistysyritys epäonnistui, ja juuri sen todisteen nopea testi tuhoaa.