Zakaj vaš Mac VPN vsakič zahteva dostop do Keychain
Ugotovite, katera komponenta sproži vsako okno Mac VPN, ustavite podvojene poskuse povezave in popravite dostop do Keychain, ne da bi ponastavili celoten snop ključev.
En klik na Connect bi moral dati eno prijavno okno. Na Macu jih pogosto da tri, in redko imajo istega lastnika: lokalne pozive za poverilnice ima v lasti snop ključev, prehod VPN ima v lasti preverjanje pristnosti, odjemalec pa svoja lastna obvestila. Namesto da bi iskali stikalo, ki vse utiša, obravnavajte vsako okno kot ločeno napako z lastnim popravkom. Spodnji vodnik preide skozi en namerni poskus povezave in se konča s preverjanjem, ki ga lahko ponovite.
Preden spremenite nastavitev, poimenujte lastnika vsakega pogovornega okna
Prvi korak je evidenca, ne konfiguracija. Izvedite en poskus povezave in za vsako okno, ki se pojavi, zapišite štiri polja: ime aplikacije v pogovornem oknu, natančno besedilo brez česar koli tajnega, fazo, v kateri se je pojavilo, in kaj se je zgodilo, ko ste ga preklicali. Tri takšne vrstice pokrijejo skoraj vsako poročilo, ki sem ga pogledal.
Lastništvo določi pravi popravek, napačen popravek pa je običajno tisto, kar en poziv spremeni v tri:
| Window | Who owns it | Correct fix | What not to do |
|---|---|---|---|
| “wants to use your confidential information stored in…” | The item's access control list in your login keychain | Approve the specific client helper, once, after checking the name | Resetting the login keychain, or granting Always Allow to every application |
| “Sign in to <organization>” or an MFA push | The gateway's identity provider | Use the client's supported session renewal, or re-authenticate | Scripting a fixed password or code into the client |
| “Connection failed”, “Update required”, a policy banner | The client or your organization | Read the first error and fix its cause | Hiding notices by editing a preference file the client rewrites |
Poziv, ki se vrne znotraj istega poskusa, je drugačen signal od tistega, ki se vrne pri naslednjem poskusu. Prvi običajno pomeni, da se je povezava znova zagnala pod vami; drugi običajno pomeni, da se znova zahtevajo shranjene poverilnice. Zabeležite, kateri velja, preden se dotaknete snopa ključev, ker ta dva skoraj nimata nič skupnega.
Ugotovite, koliko stvari zažene tunel
Isti VPN na Macu lahko zaženejo štirje mehanizmi: dejanje v menijski vrstici, prijavni element, pravilo On Demand ter skript ali agent. Ko se sprožita dva, lahko drugi zagon prispe, medtem ko prvi še čaka na preverjanje pristnosti, kar ustvari podvojeno okno in nobenega napredka. Najprej naštejte, kaj je konfigurirano: scutil --nc list izpiše storitve VPN, ki jih poznajo Sistemske nastavitve, z njihovim trenutnim stanjem. Odjemalci, ki prinašajo lastno omrežno razširitev, hranijo profile v aplikaciji in se tam morda ne prikažejo, zato preverite tudi odjemalčev lastni seznam povezav.
Nato poiščite konkurenčne zaganjalnike. scutil --nc show "Work VPN" izpiše konfiguracijski slovar vgrajene storitve, vključno s pravili On Demand; pravilo, ki se znova poveže ob vsaki spremembi vmesnika, bo znova zagnalo tunel — in znova odprlo poziv za preverjanje pristnosti — vsakič, ko se Wi-Fi premakne ali zaslon prebudi omrežni sklad. Preverite prijavne elemente v Sistemske nastavitve > Splošno > Prijavni elementi in naštejte agente na uporabnika z ls ~/Library/LaunchAgents. Pustite pri miru vse, kar pripada varnostnemu skladu, ki ga upravlja MDM; odstranitev se običajno vrne ob naslednjem preverjanju.
Če želite videti, kaj med poskusom dejansko teče: ps -Ao pid,comm | grep -iE 'vpn|tunnel|extension'. Dva pomočnika odjemalca tam, kjer pričakujete enega, veliko pogosteje razložita »zakaj sem dobil dva poziva« kot katera koli težava s poverilnicami.
Popravite dostop do snopa ključev, ne da bi ga ponastavili
Poziv prihaja s seznama za nadzor dostopa shranjenega predmeta, ne iz protokola VPN. Vsak predmet zabeleži, katere aplikacije ga smejo brati brez vprašanja. Po posodobitvi odjemalca ima lahko pomočnik, ki vpraša, drugo ime ali podpis, medtem ko predmet še vedno navaja starega, zato macOS ob vsaki povezavi znova vpraša. Odobritev novega pomočnika za ta en predmet je celoten popravek; odobritev vsake aplikacije ni.
Lahko potrdite, da je vzrok ACL, ne da bi se dotaknili VPN: security find-generic-password -s "service-name" -g prebere isti predmet iz terminala. Če tudi ta ukaz sproži poziv, pogovorno okno pripada snopu ključev, tunel pa je le sprožilec. Applov napotki o treh gumbih — Dovoli enkrat, Dovoli vedno, Zavrni — so vredni enega branja, ker prav Zavrni povzroči, da se poziv vrne takoj, namesto pri naslednjem poskusu.
Če ste odobrili napačnega pomočnika, odprite predmet v Dostopu do snopa ključev, preklopite na Nadzor dostopa in odstranite ta vnos; to je razveljavitev. Brisanje prijavnega snopa ključev ali zagon orodja za popravilo, ki ga znova zgradi, prav tako zavrže nepovezana gesla in je veliko večja sprememba kot težava.
Korake prijave in politike držite v tokovih, ki jim pripadajo
Prijava v brskalniku ali izziv MFA pripadata prehodu. Če vaša organizacija ponuja obstojnost seje ali preverjanje pristnosti na podlagi potrdil, jo uporabite, ker je to podprt način, da se preverjate redkeje. Vtipkavanje fiksne kode v odjemalca ali shranjevanje gesla v skript, da se poziv nikoli ne pojavi, nadomesti interaktivni dejavnik s statično skrivnostjo in spodleti ob naslednji menjavi politike.
Obvestila organizacije so edina kategorija, ki jih ne bi smeli zatreti. Običajno uveljavljajo preverjanje drže ali potrditev sprejemljive uporabe, njihovo skrivanje pa lahko napravo spravi iz skladnosti tudi medtem ko tunel deluje. Pogovorna okna z napakami so druga kategorija: ohranite besedilo prve napake, ker je drugo okno pogosto le ista okvara, sporočena po ponovnem poskusu.
Preverite z enim poskusom, nato po ponovnem zagonu
Ko so podvojeni zaganjalniki odstranjeni in je vnos v snopu ključev popravljen, izvedite en sam poskus: zaprite vsak primerek odjemalca, vključno s pomočnikom v menijski vrstici, povežite se enkrat in preštejte okna. Želite odobritev snopa ključev, če je bil predmet znova zgrajen, in en korak preverjanja pristnosti. Nič več. scutil --nc status "Work VPN" bi moral za vgrajeno storitev poročati Connected.
Nato enkrat znova zaženite in ponovite. Poziv, ki se vrne šele po ponovnem zagonu, kaže na prijavni element ali pravilo On Demand, ne na poverilnice; tisti, ki se vrne znotraj seje, kaže na ACL ali na drugi zaganjalnik. Če se še vedno ponavlja po obeh prehodih, je koristna stvar, ki jo lahko predate skrbniku, tabela s tremi vrsticami iz prvega poskusa — lastnik, natančno besedilo, faza — ne posnetek zaslona pogovornega okna.
Cilj je manj pozivov, ne tihi. Povezava, ki skriva svoje korake odobritve, je povezava, ki je ne morete več revidirati, in naslednja menjava potrdil vas bo našla brez pojma, katera komponenta odpoveduje.