Три лаптопа в един екип, три различни VPN менюта и тикет, в който пише, че връзката работи навсякъде, освен на Mac. Планът зад тези клиенти може да е идентичен, дори когато менютата не са. Това, което трябва да съвпадне, е по-тясно, отколкото повечето внедрявания предполагат: една идентичност на шлюза, един тип удостоверение, един набор от маршрути и една политика на резолвера. Запишете тези четири неща, преди някой да експортира профил, и работата по платформите се превръща в контролен списък вместо в разследване.

Започнете с договора за достъп, а не с клиентския файл

Договорът за достъп е пет реда, които рецензентът може да провери, без да отваря конзолата на доставчика. Той посочва частните префикси, които трябва да са достъпни, вътрешните имена, които трябва да се резолвват, резолвера, който отговаря за тях, трафика, на който е разрешено да остане по локалния път, и сертификата на шлюза, който клиентът трябва да очаква да види. Всичко останало във внедряването е превод на тези редове във файлов формат.

Пример от офиса прави формата конкретна: сървъри за приложения в 10.60.0.0/16, частни имена под corp.example, вътрешен резолвер на 10.61.0.53 и обичайното сърфиране, оставено по пътя, който устройството вече използва. Последната точка е решение за политика, а не стойност по подразбиране на клиента, и няколко клиента ще изпратят всичко през тунела, ако никой не каже друго. Запишете договора с дата и отговорник, защото точно този запис по-късно ви казва дали се е променил тунелът, или политиката.

Изберете един протокол и една двойка за удостоверяване, които можете да защитите

IKEv2 със сертификатно удостоверяване на шлюза и EAP за потребителя е обичайният избор, когато и трите платформи трябва да работят без допълнителен софтуер, тъй като Windows, macOS и NetworkManager всяка доставя клиент за IKEv2. Проблемът е, че поддръжката на IKEv2 описва етикет, а не набор от функции. EAP методите, ключовете с хардуерна поддръжка, свързването на сертификат с акаунт и автоматичното пресвързване се реализират поотделно за всяка платформа. Комбинация, която работи на две от трите, е достатъчно често срещана, че да я предполагате, докато не я тествате.

Тествайте двойката на всяка целева платформа, преди да бъде написан наръчникът за внедряване, а не след това. Шлюз, който предлага и EAP-MSCHAPv2, и EAP-TLS, ви дава място за отстъпление, при условие че отстъплението е документирано като поддържано, а не открито по време на инцидент. Два поддържани пътя са евтина застраховка; недокументиран трети път е бъдещ тикет.

Когато нито една двойка не покрива и трите клиента, честните варианти са да добавите клиент, да добавите профил на шлюза или да стесните списъка с поддържани платформи. Изключването на проверката на сертификата на платформата, която се оплаква най-силно, не е сред тях. Тази промяна превръща пропуск в съвместимостта в риск от прихващане и нито една следваща стъпка от внедряването не го поправя.

Изградете един артефакт за всяка платформа от договора

Windows приема профил VPNv2, доставен чрез MDM или създаден локално с Add-VpnConnection плюс неговия XML товар. Болезнените части са обхватът и доверието. Профил с обхват на устройството и профил с обхват на потребителя се инсталират в различни хранилища, така че сертификатът, който клиентът изисква, трябва да е в хранилището, съответстващо на избрания обхват. Грешката в това сдвояване дава профил, който се импортира чисто и после се проваля при първото свързване.

macOS приема конфигурационен профил с управлявания VPN товар, подписан и изпратен през MDM или инсталиран на ръка за пилот. Идентичността и веригата на CA пътуват като отделни товари, затова профилът може да се инсталира без оплакване и пак да се провали при свързване. Проверете списъка с товари, а не само резултата от инсталирането.

Linux зависи от бекенда зад NetworkManager, а strongSwan и плъгинът за NetworkManager са отделни пакети. Свойствата на връзката са специфични за плъгина, а не общи VPN ключове, затова ключ, копиран от друг плъгин, често се записва без грешка и после се проваля при активиране. Изградете връзката на чист образ, за да потвърдите, че плъгинът е налице там, където реално ще работи.

Трите артефакта се различават по формат, но всеки кодира същите пет реда от договора. Това е тестът дали артефактът е готов: всеки ред е представен някъде и нищо излишно не е измислено по пътя.

PlatformArtifactCheck before handoff
WindowsVPNv2 profile or Add-VpnConnectionScope matches certificate store
macOSManaged VPN payload plus certificate payloadBoth payloads present in one profile
LinuxNetworkManager connection with strongSwan backendPlugin package installed on the image

Проверете маршрутите, резолвера и пресвързването на чист акаунт

Свързано не е приемливият тест. В Windows Get-VpnConnection показва профила, а route print показва дали частният префикс е попаднал на тунелния интерфейс. В macOS scutil --nc list потвърждава активната услуга, докато scutil --dns показва реда на резолвера, който системата наистина ще използва.

В Linux nmcli connection show --active доказва, че връзката е вдигната, а resolvectl status показва DNS за всяка връзка. Резолвер, наличен във файла на връзката, но липсващ в изхода за всяка връзка, означава, че разделеният DNS не се прилага. Това е разликата между имена, които се резолвват, и имена, които се резолвват през тунела, и тя променя кой екип за поддръжка поема следващата стъпка. Сравнете изхода за всяка връзка преди и след като връзката се вдигне, а не само след това.

Изпълнете цялата проверка като нов акаунт без кеширани удостоверения и без сертификат, инсталиран от администратор. После я повторете след заспиване и събуждане, и още веднъж след принудително повторно въвеждане на удостоверение. Тези два прехода показват повечето от проблемите с пресвързването, които първата връзка никога не разкрива.

Версионирайте пакета и запазете път за връщане назад

Маркирайте всеки пакет за платформа с ревизията на договора, която изпълнява, и отбележете версиите на клиента и шлюза, срещу които сте го приели. Когато поведението се промени след актуализация на клиента, маркерът сочи към договор за повторно тестване, а не към файл за догадки.

Пазете предишния пакет за всяка платформа достъпен и запишете командата за премахването му до него. Деинсталирането на VPN профил не е огледален образ на инсталирането му в Windows, macOS или Linux и разликите се показват в най-неподходящия момент. Упражнете премахването веднъж на резервно устройство, за да стане архивът план, а не надежда.

Подобни статии