Чому SSL VPN і VPN «сайт-сайт» не є протилежностями
SSL VPN і VPN «сайт-сайт» описують різні осі: хто приєднується до мережі і як будується тунель. Називати обидва одночасно — категоріальна помилка.
Попросіть двох адміністраторів описати ту саму VPN, і один може відповісти «SSL VPN», а інший сказати «сайт-сайт», ніби це конкуруючі пункти меню. Це відповіді на різні питання, і ставлення до них як до альтернатив породжує порівняння, які неможливо розв'язати. Один ярлик каже, які кінцеві точки з'єднуються; інший — що несе трафік між ними. Тримайте осі окремо, і більша частина суперечки зникне.
Два ярлики, два окремі питання
Топологія відповідає, хто до чого приєднується. Проєкт віддаленого доступу приєднує окремих користувачів або пристрої до шлюзу, зазвичай з ідентичністю на користувача й пулом адрес. Проєкт «сайт-сайт» з'єднує дві мережі через шлюзи, тому цікавою ідентичністю є партнерський шлюз, а не людина за клавіатурою. Це різні експлуатаційні проблеми — від планування адрес до того, хто може відкликати доступ о 2 годині ночі.
Механізм відповідає, як будується й автентифікується тунель. IPsec з IKEv2, продукт на основі TLS, що несе IP усередині себе, і портал застосунків, обернений до браузера, — це вибір механізму, і кожен має свої переговори, набори шифрів і режими відмови. Жоден не передбачає топологію, і топологія не обирає механізм.
Помістіть дві осі в одну таблицю, і плутанина стане видимою, бо кожну клітинку сітки можна заповнити. Чого таблиця не може — сказати, яку комбінацію поставив ваш постачальник, оскільки назви продуктів зводять обидві осі в одну маркетингову фразу.
Звідки береться категоріальна помилка
Постачальники роками продавали «SSL VPN» як протилежність «IPsec VPN», через що порівняння механізмів виглядало як вибір топології. Сама фраза погано застаріла і за власними умовами, адже сучасні проєкти використовують підтримувані версії TLS, а назва SSL зберігається переважно як категорія продукту.
| Axis | Question it settles | What it cannot tell you |
|---|---|---|
| Topology | Whether users join a gateway or two networks join each other | Which protocol carries the traffic, or how peers prove identity |
| Mechanism | Which protocol suite builds the tunnel and negotiates keys | Whether the endpoints are people, devices or routers |
| Access surface | Whether the client sees a routed network or a set of published applications | Which topology or mechanism is underneath the portal |
| Authentication | What proof each side presents, and to whom | Whether 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"
Потім залишаються питання, на які не відповідає жоден ярлик. Які версії протоколу ще приймаються, як перевіряється ідентичність шлюзу, який набір алгоритмів дозволено, хто авторизує даного користувача для даного ресурсу і що відкликає доступ, коли пристрій втрачено. Схема топології та назва механізму — це початок цього списку, а не його заміна.
Тож збережіть два ярлики, але використовуйте їх за призначенням: короткий спосіб сказати, які кінцеві точки з'єднуються і як будується тунель. У той момент, коли один використовується, щоб виключити інший, опис перестає щось описувати.