Gdje Linux treba čuvati vašu VPN lozinku? Ne u profilu
Zastavice tajni u NetworkManageru određuju drži li lozinku profil, agent privjeska s ključevima ili nitko. Odgovor ovisi o tome kada se veza pokreće.
VPN lozinka mora negdje živjeti: u profilu veze, u privjesku s ključevima koji radna površina otključava ili nigdje. NetworkManager taj odabir naziva zastavicom tajne, a odabir pogrešne razlog je zašto veza radi nakon prijave, a kao servis ne uspijeva. Zastavica je jedan redak konfiguracije i odlučuje koji ćete od ta tri ishoda dobiti.
Tri zastavice pokrivaju gotovo svaki slučaj, a odluka je o tome kada se veza pokreće.
Tri zastavice tajni, tri ponašanja
Zastavica 0 znači da se tajna čuva uz vezu, u kojem god spremištu drži profil. Zastavica 1 čini je vlasništvom agenta: tajna dolazi od agenta tajni poput privjeska s ključevima radne površine, a NetworkManager je traži pri aktivaciji. Zastavica 2 znači da nije spremljena, pa se tajna nikad ne zapisuje i mora se dostaviti svaki put. Zastavica 4 označava tajnu kao nepotrebnu, za veze koje joj doista ne trebaju.
| 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 |
Postavite zastavice po tajni, a ne po vezi. Jedna veza može imati lozinku u vlasništvu agenta i spremljenu frazu privatnog ključa.
Odluku donesite prema tome kada se veza pokreće
Ako vezu pokreće prijavljeni korisnik, vlasništvo agenta razuman je zadani izbor: privjesak s ključevima otključava se prijavom i tajna nikad ne stoji u datoteci. Ako veza mora ustati prije nego se bilo tko prijavi, vlasništvo agenta pogrešan je izbor, jer nema sesijskog privjeska s ključevima za otključavanje.
To je cijela odluka. Sve ostalo je njezina varijanta.
Za servis prije prijave podržan je uzorak sistemsko spremište ili zaštićena datoteka ključa, a zaštita postaju dopuštenja datoteke. Ne rješavajte problem lijepljenjem lozinke u shell skriptu koja se izvršava pri podizanju.
Što privjesak s ključevima daje, a što ne
Privjesak s ključevima drži tajnu izvan profila veze i veže je uz korisničku sesiju. Ne čini tajnu dostupnom servisu bez sesije i ne šifrira ništa na vezi. To su odvojena svojstva koja ljudi često stapaju. Ono što doista daje je manji polumjer štete kad profilna datoteka procuri.
Privatni ključ na koji profil upućuje treba vlastita dopuštenja, neovisno o tome gdje lozinka živi.
Dijagnostika bez izlijevanja tajni
Nazivi veza, UUID-ovi i zastavice obično su dovoljni da objasne neuspjeh. nmcli connection show navodi profil, a zastavice tajni govore odakle je lozinka trebala doći.
Izbjegavajte --show-secrets u tiketima i chatu. Kad je jednom zalijepljena, to je vjerodajnica u transkriptu.
Spremanje nije opoziv
Uklanjanje tajne iz jednog privjeska s ključevima ne poništava vjerodajnicu koju je udaljeni operater već prihvatio. Opoziv računa radnja je na strani poslužitelja, a lokalno spremanje odvojeno je pitanje s odvojenim vlasnikom.
Odlučite oboje prije incidenta, ne tijekom njega. Interaktivna korisnička veza i servis prije prijave traže različite odgovore, a zajednička shell skripta nije ni jedno. NetworkManagerova dokumentacija o zastavicama tajni navodi vrijednosti u cjelini.