Zašto VPN servis pokrenut pri podizanju sistema ne može da pročita tvoj prsten ključeva
VPN pri podizanju sistema nema otključanog agenta za tajne od koga bi pozajmio. Pročitaj zastavice tajni veze pre nego što resetuješ lozinku koju server nikada nije odbio.
Veza koja radi posle prijave, a pre nje ne uspeva, obično znači da pokušaj pri podizanju nije mogao da dobije tajnu, a ne da ju je server odbio. Akreditiv postoji; kontekst koji ga traži ne postoji. Ta jedna razlika štedi nepotrebno resetovanje lozinke.
Prati zahtev: nešto pokreće vezu pre nego što postoji sesija radne površine, a skladište tajni koje inače odgovara još nije otključano. Dva konteksta se ne slažu oko toga kome tajna pripada, a profil beleži koji od njih treba da ju dostavi.
Šta putanja podizanja zapravo traži
Pri podizanju sistema NetworkManager se pokreće kao sistemski servis bez korisničke sesije, bez sesijskog D-Busa i bez otključanog prstena ključeva. Profil veze ipak može da se podigne, ali samo sa tajnama do kojih servis može da dođe sam. Sve što poseduje agent za tajne čeka dok se čovek ne prijavi i agent se ne pojavi. Servis radi tačno ono što kaže njegova konfiguracija; profil je ono što mora da se promeni.
Kvar je upisan u vezu, a ne skriven u prstenu ključeva.
Čitanje zastavica tajni na vezi
Pitaj vezu šta očekuje, a ne šta radna površina pamti. Kolona zastavica direktno odgovara na pitanje i preživljava ponovna pokretanja u datoteci profila na disku.
Počni sa listom profila, pa potvrdi koja je veza postavljena da se podiže sama. Zatim ispiši jednu vezu i pročitaj zastavice lozinke:
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"
Prva naredba potvrđuje koji profili postoje i da li je neki postavljen na automatsko povezivanje, čime se uopšte pokreće pokušaj bez nadzora. Druga otkriva vrednosti zastavica, a treća pokazuje kako se servis žali da nijedan agent nije odgovorio za datu tajnu. Linija dnevnika koja tajnu naziva agentovom jeste cela dijagnoza u jednoj rečenici.
| 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 |
Zašto premeštanje veze u sistemski opseg menja odgovor
Vezu koju poseduje korisnik aktivira njegov agent, zato savršeno radi kad se radna površina podigne. Premeštanje u sistemski opseg uklanja agenta sa putanje, pa se isti profil ponaša drugačije bez ijedne promenjene linije VPN konfiguracije.
To premeštanje je legitiman dizajn i nosi zahtev: tajna mora biti dostupna sistemskom servisu. Čuvanje u profilu, dostavljanje kroz akreditiv sistemskog opsega ili prihvatanje interaktivnog upita u pravom trenutku sve su valjani odgovori. Ostaviti zastavicu 1 i nadati se nije.
Privatni ključ sa sopstvenom lozinkom dodaje drugi sloj. Čak ni sačuvana lozinka naloga neće otključati ključ koji traži lozinku, zato proveri koju tajnu faza koja ne uspeva zapravo traži pre nego što bilo šta promeniš.
Šta ne treba raditi i šta umesto toga raditi
Učiniti svaku datoteku akreditiva čitljivom za sve ili isključiti proveru identiteta da upit ne bi bio potreban razmenjuje neugodnost pri pokretanju za trajnu izloženost. Oboje i skriva zavisnost umesto da je rešava, a sledeće ažuriranje slike vraća isti kvar.
Koristi u toj fazi mehanizam koji tvoja distribucija dokumentuje za aktivaciju bez nadzora, pa potvrdi da se zastavice profila s njim poklapaju. Proveri rezultat sa čistog podizanja, a ne iz ljuske koja već ima agenta. Zapiši vlasnika veze, izvor tajne i fazu koja mora da radi, da kasnija promena automatskog pokretanja ne bi tiho vratila zavisnost od toga da neko prvo otključa radnu površinu. Dokumentacija je razlika između popravljenog servisa i onog koji se opet kvari sledeći kvartal.
Testiraj sa kontrolisanog čistog podizanja, a ne ručnim ponovnim pokušajem nakon prijave. Ponovni pokušaj uspeva zbog razloga zbog kojeg je pokušaj pri podizanju propao, i to je upravo dokaz koji brz test uništava.