NetworkManager kan holde et VPN-passord slik at tilkoblingen kommer opp uten at noen skriver det, og det kan vise verdien igjen gjennom editoren eller gjennom nmcli --show-secrets. Det finnes tre eierskapsmodeller, og visningsatferden er bare et symptom på hvilken du valgte. Velg modellen først og sett deretter flagget som passer til den, i stedet for å skjule et felt med en plassholder som vil forvirre neste person.

Tre eierskapsmodeller

Den første modellen spør hver gang. Ingenting lagres, hemmeligheten finnes bare mens aktiveringen varer, og alle som starter tilkoblingen må kunne passordet. Det er det minst bekvemme alternativet og det enkleste å forsvare.

Den andre gir hemmeligheten til en nøkkelring som brukeren eier. Agenten låser opp når økten starter og leverer verdien på forespørsel, noe som holder den utenfor tilkoblingsfilen men binder tilkoblingen til den brukerens økt. To betingelser følger: agenten må kjøre, og den må være låst opp.

Den tredje lagrer en beskyttet legitimasjon for en systemtilkobling. Den overlever omstarter og virker før noen logger inn, og til gjengjeld ligger verdien på disken beskyttet av filrettigheter i stedet for kryptering.

Hver modell er rimelig i riktig sammenheng. Feilen er å blande dem, og slik ender en bærbar maskin med en hemmelighet på to steder og uten et klart svar på hvilken som er autoritativ. Skriv ned hvilken modell en profil bruker. Én linje i teamets runbook sparer neste person for å finne opp et fjerde sted å se.

Les gjeldende tilstand før du endrer den

Se på profilen og på hemmelighetens tilstand som brukeren som administrerer tilkoblingen. Den andre kommandoen er den som forteller deg om verdien faktisk kan leses.

nmcli connection show "Office VPN"
nmcli --show-secrets connection show "Office VPN"
sudo stat -c '%U %a %n' /etc/NetworkManager/system-connections/*.nmconnection

En nøkkelfil i den katalogen eies vanligvis av root med modus 600. Det holder vanlige brukere ute og holder ikke root ute, noe som betyr noe når maskinen deles eller når en sikkerhetskopi kjører som root.

Filrettigheter er en grense, ikke kryptering. Alle som kan lese filen som root, har passordet i klartekst. Det er en akseptabel byttehandel for en server uten tilsyn og en dårlig for en delt arbeidsstasjon. Å skrive det ned én gang hindrer en lang diskusjon om hvorvidt verdien er beskyttet.

Hva hver flaggverdi gjør

VPN-hemmeligheten har en egenskap flags, og verdiene er ikke intuitive ut fra tallene alene.

ValueMeaningPractical effect
0No special flagSecret is typically saved with the connection
1Agent-ownedA keyring or secret agent supplies it
2Not savedPrompted at each activation
4Not requiredConnection proceeds without asking

Den faktiske atferden avhenger også av programtillegget og av om en agent kjører, så behandle tabellen som kontrakten og den observerte atferden som det du verifiserer. En verdi som virker på en stasjonær maskin kan oppføre seg annerledes på en server uten økt. Det er i dette gapet de fleste forvirrende sakene bor.

Sett egenskapen eksplisitt i stedet for å slette en linje og håpe. Et manglende flagg er ikke en policy, og neste pakkeoppdatering kan fylle det med noe du ikke hadde tenkt.

Tilpass modellen til når tilkoblingen starter

Hvis tilkoblingen bare starter mens en bruker er logget inn, passer agent-eierskap godt og holder hemmeligheten utenfor filen. Hvis den starter ved oppstart, før noen økt finnes, kan en agent ikke hjelpe deg.

Det er hele avgjørelsen for de fleste maskiner. Det forklarer også en klasse forvirrende rapporter der tilkoblingen virker interaktivt og feiler etter omstart. Flagget endret seg aldri; sammenhengen gjorde det.

For det uovervåkede tilfellet er en begrenset root-eid fil eller en godkjent legitimasjonskilde det praktiske svaret. Hold den utenfor tilkoblingsprofilen hvis profilen noen gang eksporteres eller kopieres til en annen maskin.

Hvis verdien allerede var synlig, bytt den

Å endre et flagg lar selve passordet være urørt. En verdi som dukket opp i et skjermbilde, i shell-historikken, i en pakke sendt til støtte eller i en fil andre brukere kunne åpne, bør anses som avslørt.

Bytt den på serveren, reparer deretter klienten og avslutt enhver økt som autentiserte med den gamle. Sletting av den lokale tilkoblingen tilbakekaller ingenting på den andre siden, og det er den delen folk overser.

Deretter slutt å sette passordet på kommandolinjen. Det havner i shell-historikken og kan dukke opp i en prosessliste; bruk den interaktive ledeteksten eller agenten i stedet.

Verifiser ved å koble til på nytt

Gjenta kommandoen som viste hemmeligheten og bekreft at feltet ikke lenger skrives ut. Koble deretter fra og til igjen, og start på nytt hvis tilkoblingen starter automatisk, fordi den interessante feilen først vises når øktens sammenheng endres.

Hvis hemmeligheten fortsatt vises, er det en annen profil eller en annen agent som leverer den. Undersøk den aktive tilkoblingen og nøkkelringen i stedet for å slette filer til symptomet flytter seg.

Relaterte artikler