Chýba výzva TOTP v OpenConnect v NetworkManageri: štyri kontroly
Brána žiada jednorazový kód a dialóg NetworkManageru naň nikdy neponúkne pole. Skontrolujte, kde sa overovanie zastavilo, kým začnete upravovať tajomstvá.
Brána prijme heslo, požiada o kód a dialóg neponúkne žiadne pole preň. Nič nebolo napísané zle: plugin NetworkManageru dokončil výmenu tajomstva bez toho, aby si vyžiadal šesťcifernú hodnotu. Prejdite štyri kontroly nižšie v poradí, pretože klienta mení iba jedna z nich. Zvyšok zoznamu vylučuje bránu, účet a zostavenie pluginu.
Prvá kontrola: prečítajte si, kde sa overovanie zastavilo
Nesprávne heslo zlyhá okamžite. Chýbajúci druhý faktor zlyhá po kroku s prihlasovacími údajmi, zvyčajne opakovanou výzvou alebo vypršaním času na strane brány. Časovanie a log brány ukazujú, ktoré kolo zostalo bez odpovede.
Prečítajte si log pripojenia, kým sa dotknete profilu. Ak brána hlási neúplné overenie alebo vypršanú výzvu, klient kód nikdy neodoslal. Ak hlási neplatné prihlasovacie údaje, problém je v hesle a žiadne nastavenie TOTP to nespraví.
Zaznamenajte presné poradie výziev, ktoré brána očakáva: používateľské meno, heslo, potom kód, alebo používateľské meno, kód, potom heslo. Niektoré brány menia poradie kôl a klient, ktorý pozná iba prvé poradie, uviazne na druhom.
Druhá kontrola: použite klienta, ktorý výzvu vlastní
Samotný OpenConnect implementuje celý rozhovor vrátane kola výzvy. Priame spustenie je najpredvídateľnejší spôsob, ako potvrdiť, že účet a brána fungujú:
sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.netKlient sa pýta v poradí, v akom sa pýta brána. User agent je dôležitý, pretože niektoré brány prispôsobujú tok prihlásenia známemu klientovi a všeobecný reťazec môže vytvoriť kratší tok, ktorý o kód nikdy nepožiada. Spustite ho raz v popredí, kým zariadite akúkoľvek službu na pozadí.
Ak sa príkazový riadok pýta správne, účet, brána a druhý faktor sú v poriadku. Zvyšný problém je dialóg pluginu, nie overovacia služba. To izoluje chybný komponent bez dotyku servera. Uchovajte výstup príkazu pri zázname o incidente.
Ak príkazový riadok výzvu tiež preskočí, zastavte sa a skontrolujte konfiguráciu brány s jej správcom. Žiadny klientský program pre plochu nemôže odpovedať na výzvu, ktorú server nikdy nepošle.
Tretia kontrola: zistite, či váš plugin ponúka režim TOTP
Niektoré zostavenia NetworkManager OpenConnect ponúkajú režim tokenu a pole user agenta na karte Identity pripojenia. Nastavte user agenta na hodnotu, ktorú brána očakáva, zvoľte ručné zadanie TOTP a pripojenie uložte.
Či tieto polia existujú, závisí od verzie pluginu a od toho, ktorý editor pripojení pracovná plocha používa. Samostatný editor môže zobrazovať možnosti, ktoré panel GNOME skrýva, alebo naopak. Pred hľadaním skrytého nastavenia skontrolujte verziu nainštalovaného balíka.
Ak režim tokenu existuje a výzva sa stále neobjavuje, zostaveniu chýba odovzdanie výzvy medzi pluginom a všeobecným dialógom pre tajomstvá. Opätovné napísanie hesla, preinštalovanie toho istého balíka alebo vyčistenie kľúčenky nevytvorí pole, ktoré zostavenie neimplementuje.
Štvrtá kontrola: berte vygenerovaný kód ako kompromis
Skript môže zavolať oathtool pre aktuálny kód a odovzdať používateľské meno, heslo a kód do nmcli connection up --ask. Postup funguje, ale zdieľané tajomstvo skončí uložené tam, kde ho môže prečítať každý, kto dokáže otvoriť skript, a taký čitateľ môže generovať kódy navždy. To je trvalé rozšírenie povrchu prihlasovacích údajov, nie oprava klienta.
Kto to zvolí, mal by tajný súbor uzamknúť na root, držať vygenerované hodnoty mimo histórie shellu a zaobchádzať so skriptom ako s materiálom prihlasovacích údajov. Obal, ktorý vypisuje kód do terminálu, druhý faktor zahadzuje. Obal najprv otestujte s dočasným účtom.
Skript musí dodržať aj poradie výziev brány. Ak server žiada kód pred heslom, pevná vstupná sekvencia pošle nesprávnu hodnotu na nesprávnu výzvu a vytvorí rovnaké neúplné overenie. Nacvičte to s testovacím účtom, kým to zapojíte do prihlasovacej úlohy.
Overte rovnakú bránu a rovnaký účet
Každé obídenie testujte proti rovnakej bráne, rovnakému účtu a rovnakej skupine tunela. Brána, ktorá vyžaduje aj certifikát zariadenia, môže klienta príkazového riadka odmietnuť z dôvodu nesúvisiaceho s TOTP a poradie výziev sa môže líšiť od nacvičeného.
Zaznamenajte klienta, jeho verziu, user agenta a poradie výziev, ktoré fungovalo. Tento záznam povie ďalšiemu človeku, či je problém v zostavení pluginu, toku brány alebo politike účtu, bez ďalšieho kola resetovania hesiel.
Skončite jedným opätovným pripojením po úplnom odhlásení. Uložené tajomstvo môže spôsobiť, že rozbitý tok vyzerá opravený až do ďalšej relácie, a práve pri druhom pripojení sa chýbajúca výzva zvyčajne vracia.