Попросіть двох адміністраторів описати ту саму VPN, і один може відповісти «SSL VPN», а інший сказати «сайт-сайт», ніби це конкуруючі пункти меню. Це відповіді на різні питання, і ставлення до них як до альтернатив породжує порівняння, які неможливо розв'язати. Один ярлик каже, які кінцеві точки з'єднуються; інший — що несе трафік між ними. Тримайте осі окремо, і більша частина суперечки зникне.

Два ярлики, два окремі питання

Топологія відповідає, хто до чого приєднується. Проєкт віддаленого доступу приєднує окремих користувачів або пристрої до шлюзу, зазвичай з ідентичністю на користувача й пулом адрес. Проєкт «сайт-сайт» з'єднує дві мережі через шлюзи, тому цікавою ідентичністю є партнерський шлюз, а не людина за клавіатурою. Це різні експлуатаційні проблеми — від планування адрес до того, хто може відкликати доступ о 2 годині ночі.

Механізм відповідає, як будується й автентифікується тунель. IPsec з IKEv2, продукт на основі TLS, що несе IP усередині себе, і портал застосунків, обернений до браузера, — це вибір механізму, і кожен має свої переговори, набори шифрів і режими відмови. Жоден не передбачає топологію, і топологія не обирає механізм.

Помістіть дві осі в одну таблицю, і плутанина стане видимою, бо кожну клітинку сітки можна заповнити. Чого таблиця не може — сказати, яку комбінацію поставив ваш постачальник, оскільки назви продуктів зводять обидві осі в одну маркетингову фразу.

Звідки береться категоріальна помилка

Постачальники роками продавали «SSL VPN» як протилежність «IPsec VPN», через що порівняння механізмів виглядало як вибір топології. Сама фраза погано застаріла і за власними умовами, адже сучасні проєкти використовують підтримувані версії TLS, а назва SSL зберігається переважно як категорія продукту.

AxisQuestion it settlesWhat it cannot tell you
TopologyWhether users join a gateway or two networks join each otherWhich protocol carries the traffic, or how peers prove identity
MechanismWhich protocol suite builds the tunnel and negotiates keysWhether the endpoints are people, devices or routers
Access surfaceWhether the client sees a routed network or a set of published applicationsWhich topology or mechanism is underneath the portal
AuthenticationWhat proof each side presents, and to whomWhether the traffic is later authorized per resource

З того самого зведення випливають два пов'язані міфи. Перший — ніби IPsec означає «сайт-сайт»; IKEv2 проєктувався і для відносин клієнт–шлюз, тож окремий ноутбук може приєднуватися через IPsec. Другий — ніби продукт на основі TLS означає лише віддалений доступ; OpenVPN регулярно використовується для перенесення трафіку між двома майданчиками, а його використання TLS зосереджене на обміні керуванням і автентифікацією, а не на сеансі браузера.

Корисна перевірка для будь-якого опису: якщо заміна одного слова змінює і кінцеві точки, і протокол, речення змішує осі. «SSL VPN проти сайт-сайт» цю перевірку не проходить, бо перший термін називає родину механізмів, а другий — топологію.

Опишіть розгортання так, щоб його можна було порівняти

Напишіть чотири поля й заповніть їх: кінцеві точки, механізм, автентифікація та поверхня доступу. Філійне з'єднання можна прочитати як пару шлюзів IKEv2 між двома названими префіксами з автентифікацією за сертифікатом і без порталу на рівні користувача. Службу віддаленого доступу можна прочитати як клієнт на основі TLS, який видає адреси кожному користувачеві, вимагає другий фактор під час входу й публікує лише внутрішню зону DNS.

Ці речення порівнювані так, як назви продуктів — ні. Два проєкти віддаленого доступу можна виміряти за одним і тим самим користувацьким сценарієм і одним і тим самим шляхом відкликання, а два проєкти між майданчиками — за одним списком префіксів, політикою трафіку й вимогами до відмов. Ярлики організовують порівняння; вони його не замінюють.

Термінологія має й опубліковану опору. Документ IETF з термінології VPN відокремлює кілька моделей обслуговування, зокрема віддалений доступ і «сайт-сайт», від механізмів, якими вони будуються, і це саме та відмінність, яка постійно губиться.

Читайте узгоджений протокол, а не назву продукту

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

openssl s_client -connect vpn.example.net:443 -tls1_3 -brief

Для шлюзу IPsec еквівалентне спостереження походить із власного виводу стану реалізації, який повідомляє про використовувані пропозиції IKE і ESP. Так чи інакше, суть одна: вісь механізму треба читати з живої сесії, бо клієнт і шлюз можуть домовитися до чогось старішого, ніж очікував будь-який із адміністраторів.

ipsec statusall | grep -E "IKE|ESP"

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

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

Схожі статті