SSL VPN или TLS обвивка? Сравнете границата, която се провали
Два дизайна могат да сложат TLS на порт 443 и да означават различни неща. Четири проверки: конфигурираният път, бекендът, пренасяният трафик и границата на отказа.
Два дизайна могат да работят с TLS на порт 443 и да означават напълно различни неща. Обвивката защитава една конфигурирана връзка между локален порт и отдалечен бекенд. Дизайнът за мрежов достъп пренася избран трафик и променя какво може да достигне клиентът. Изпълнете четирите проверки по-долу по ред и ще разберете кой от двата гледате, което обикновено е достатъчно, за да знаете кой слой се е провалил.
Започнете с връзката, която наистина сте конфигурирали
Запишете предния и задния край, преди да сравнявате продукти. Обвивката слуша на локален адрес и препраща към отдалечен, или стартира програма от отдалечената страна, и тази двойка е целият ѝ договор. Другите приложения на клиента не знаят нищо за нея, освен ако не ги насочите към нея. Това не е недостатък на инструмента, това е предназначението му.
Договорът на мрежовия дизайн е различен и се изразява в маршрути и политики, а не в двойка портове.
Отбележете кое от двете описания отговаря на вашата диаграма. Ако отговорът е едно съпоставяне на порт със сертификат по средата, имате обвивка, дори името на продукта да казва VPN. Ако отговорът е интерфейс на тунел и промени в маршрутите, имате мрежов дизайн, дори да работи на 443.
Проверете към какво се свързва обвивката
Прочетете настройките за слушане и свързване и ги проследете до реалния бекенд. Обвивка, която препраща към порт на база данни, не отваря уеб приложение, а обвивка, която изпълнява програма, стартира тази програма, вместо да публикува всичко останало на хоста. Бекендът е единственото, за което обвивката знае.
След това решете дали препращаният поток е открит текст, след като TLS приключи. Обвитата връзка защитава сегмента между двете обвивки, а какво се случва след далечната обвивка е отделен въпрос. Затова обвиването на нещо, което вече носи собствена защита, понякога е разумно, а понякога е просто излишни движещи се части. Проверете следващия хоп, вместо да приемате който и да е от двата отговора.
openssl s_client -connect wrapper.lab.example:443 -servername wrapper.lab.example -verify_return_error
sudo ss -ltnp | grep 443Първата команда показва сертификата, който реално се предлага на клиента, а втората — какво слуша на хоста. Сравнете това име на сертификат с очакваното, преди да четете каквото и да е друго.
Проверете какъв трафик пренася дизайнът
Дизайните за мрежов достъп пренасят избран трафик и се интегрират с маршрутизацията и политиката за достъп на клиента. Допускането не е оторизация, затова удостоверената връзка все още се нуждае от решение кои ресурси може да достигне. Портален без клиент е трети модел, който проксира поддържани операции, без някога да се появява като интерфейс tun.
Етикетът на продукта не казва кой от тези модели сте купили, а номерът на порта казва още по-малко.
Наслояването е възможно и не бива да обърква сравнението. Тунелен протокол сам може да бъде обвит в TLS в поддържано TCP разположение, което добавя слой около тунела, без да превръща обвивката в тунела. Това е дизайнерско решение със собствено поведение при производителност и откази и заслужава ред в диаграмата. Отбележете го, после сравнявайте основните модели, а не външната обвивка.
Проверете границата на отказа, не етикета
Запишете фактите за един неуспешен опит: адрес на предния край, слушател, самоличността, която клиентът е проверил, целта на бекенда и заявената операция. Успешното ръкостискане доказва, че външният TLS е завършил, и не казва нищо за бекенда. Отказът на бекенда е различно събитие от провал на самоличността на предния край и нито едно от двете не се подобрява, ако премахнете -verify_return_error от клиента. Сравнявайте подобно с подобно, защото успех през друго име на хост или порт не показва, че условията са били същите.
Порт 443 е условност, която пропуска TLS през междинни устройства. Той не прави произволен трафик подобен на уеб заявка за устройство за политики.
Завършете с едно изречение, което назовава двойката крайни точки, какво се пренася, кои приложения го използват и какво разрешение налага дестинацията. Дизайн, който не може да попълни тези четири празни места, не е завършен, каквото и да твърди етикетът му. Това изречение е и най-бързият начин да обясните дизайна на този, който отговаря за защитната стена.