Один клік на Connect має давати одне вікно входу. На Mac він часто дає три, і в них рідко один власник: локальні запити облікових даних належать зв'язці ключів, VPN-шлюз відповідає за автентифікацію, а клієнт — за власні сповіщення. Замість пошуку перемикача, який усе заглушує, розглядайте кожне вікно як окремий дефект зі своїм виправленням. Інструкція нижче проходить через одну навмисну спробу підключення і завершується перевіркою, яку можна повторити.

Назвіть власника кожного діалогу, перш ніж змінювати налаштування

Перший крок — це облік, а не налаштування. Виконайте одну спробу підключення і для кожного вікна, що з'явилося, запишіть чотири поля: назву програми в діалозі, точний текст без чогось секретного, фазу, у якій воно з'явилося, і що сталося, коли ви його скасували. Три такі рядки охоплюють майже кожен звіт, який я бачив.

Власник визначає правильне виправлення, і неправильне виправлення зазвичай і перетворює один запит на три:

WindowWho owns itCorrect fixWhat not to do
“wants to use your confidential information stored in…”The item's access control list in your login keychainApprove the specific client helper, once, after checking the nameResetting the login keychain, or granting Always Allow to every application
“Sign in to <organization>” or an MFA pushThe gateway's identity providerUse the client's supported session renewal, or re-authenticateScripting a fixed password or code into the client
“Connection failed”, “Update required”, a policy bannerThe client or your organizationRead the first error and fix its causeHiding notices by editing a preference file the client rewrites

Запит, що повертається в межах тієї самої спроби, — це інший сигнал, ніж той, що повертається за наступної спроби. Перший зазвичай означає, що з'єднання перезапустилося під вами; другий зазвичай означає, що знову запитуються збережені облікові дані. Позначте, який із них у вас, перш ніж торкатися зв'язки ключів, бо ці два майже не мають нічого спільного.

З'ясуйте, скільки речей запускають тунель

Чотири механізми можуть запускати той самий VPN на Mac: дія в рядку меню, елемент входу, правило On Demand і скрипт або агент. Коли спрацьовують два з них, другий запуск може прийти, поки перший ще чекає автентифікації, що дає дубльоване вікно й жодного поступу. Спершу перелічіть, що налаштовано: scutil --nc list друкує VPN-сервіси, відомі Системним налаштуванням, з їхнім поточним станом. Клієнти, що постачають власне мережеве розширення, тримають профілі всередині програми і можуть там не відображатися, тому перевірте й власний список з'єднань клієнта.

Потім пошукайте конкуруючі джерела запуску. scutil --nc show "Work VPN" друкує словник конфігурації вбудованого сервісу, включно з правилами On Demand; правило, яке перепідключається за будь-якої зміни інтерфейсу, перезапустить тунель — і знову відкриє запит автентифікації — щоразу, коли Wi-Fi переміщується або екран будить мережевий стек. Перевірте елементи входу в Системні налаштування > Загальні > Елементи входу і перелічіть агенти користувача за допомогою ls ~/Library/LaunchAgents. Не чіпайте те, що належить стеку безпеки під керуванням MDM; його вилучення зазвичай повертається під час наступної перевірки.

Щоб побачити, що насправді працює під час спроби: ps -Ao pid,comm | grep -iE 'vpn|tunnel|extension'. Два клієнтські помічники там, де ви чекаєте одного, пояснюють «чому я отримав два запити» набагато частіше, ніж будь-яка проблема з обліковими даними.

Відновіть доступ до зв'язки ключів, не скидаючи її

Запит походить зі списку контролю доступу збереженого елемента, а не з протоколу VPN. Кожен елемент записує, які програми можуть читати його без запиту. Після оновлення клієнта помічник, який запитує, може мати інше ім'я або підпис, поки елемент усе ще перелічує старий, тому macOS запитує знову за кожного підключення. Схвалення нового помічника саме для цього одного елемента — усе виправлення; схвалення кожної програми — ні.

Ви можете підтвердити, що причина в ACL, не торкаючись VPN: security find-generic-password -s "service-name" -g читає той самий елемент з термінала. Якщо ця команда теж викликає запит, діалог належить зв'язці ключів, а тунель — лише тригер. Керівництво Apple про три кнопки — Дозволити один раз, Дозволяти завжди, Відхилити — варте одного прочитання, бо саме «Відхилити» змушує запит повернутися негайно, а не за наступної спроби.

Якщо ви схвалили не того помічника, відкрийте елемент у «Зв'язці ключів», перейдіть до «Керування доступом» і видаліть цей запис; це і є відкат. Видалення зв'язки ключів входу або запуск інструмента відновлення, який її перебудовує, також відкидає сторонні паролі й є значно більшою зміною, ніж проблема.

Тримайте кроки входу й політики в тих потоках, яким вони належать

Вхід через браузер або виклик MFA належать шлюзу. Якщо ваша організація пропонує збереження сеансу або автентифікацію на основі сертифікатів, скористайтеся нею, бо це підтримуваний спосіб автентифікуватися рідше. Введення фіксованого коду в клієнт або зберігання пароля в скрипті, щоб запит ніколи не з'являвся, замінює інтерактивний фактор статичним секретом і зазнає невдачі за наступної зміни політики.

Сповіщення організації — єдина категорія, яку не слід придушувати. Вони зазвичай забезпечують перевірку стану або підтвердження прийнятного використання, і їх приховування може вивести пристрій із відповідності навіть тоді, коли тунель працює. Діалоги помилок — інша категорія: збережіть текст першої помилки, бо другий діалог часто є лише тим самим збоєм, про який повідомляють після повторної спроби.

Перевірте однією спробою, потім після перезавантаження

Після вилучення дубльованих джерел запуску й виправлення запису в зв'язці ключів виконайте одну спробу: закрийте кожен екземпляр клієнта, включно з помічником у рядку меню, підключіться один раз і полічіть вікна. Вам потрібне схвалення зв'язки ключів, якщо елемент було перебудовано, і один крок автентифікації. Нічого більше. scutil --nc status "Work VPN" має повідомити Connected для вбудованого сервісу.

Потім перезавантажтеся один раз і повторіть. Запит, що повертається лише після перезавантаження, вказує на елемент входу або правило On Demand, а не на облікові дані; той, що повертається в межах сеансу, вказує на ACL або на друге джерело запуску. Якщо він усе ще повторюється після обох проходів, корисне, що можна передати адміністратору, — це таблиця з трьох рядків із першої спроби: власник, точний текст, фаза, — а не скриншот діалогу.

Мета — менше запитів, а не тихі. З'єднання, яке приховує свої кроки авторизації, — це з'єднання, яке ви більше не можете аудитувати, і наступна ротація сертифікатів застане вас без розуміння, який компонент збоїть.

Схожі статті