Клиентът казва, че е свързан, сървърът вижда партньор, а приложението все още не достига до никъде. В този момент полезният въпрос не е кой шифър да смените, а кой канал е отказал. OpenVPN назовава две функции изрично: контролен канал, който договаря и управлява сесията, и канал за данни, който носи защитения трафик. IKEv2 изразява подобно разделение чрез IKE асоциацията и CHILD асоциацията. Изпълнете проверките по-долу по ред, защото поправка на пътя на данните, приложена към повреда в пътя на контрола, прахосва прозорец за промяна.

Назовайте канала, преди да го отстранявате

Страната на контрола договаря материала за сигурност, удостоверява партньорите и управлява връзката. Страната на данните носи избрания трафик, след като нужното състояние съществува.

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

Проверете контролния обмен

Уверете се, че ръкостискането завършва и че двете страни са съгласни за транспорта, версията на TLS и метода за удостоверяване. Журналите на OpenVPN печатат отделни редове за контролния канал и за канала за данни и именно редът на контрола показва несъответствие на сертификат, версия на TLS или tls-crypt.

Ако контролният обмен се провали, погледнете достижимия порт, веригата от сертификати и датите ѝ на валидност, системния часовник, припокриването на шифри между клиент и сървър и всеки ключ tls-auth или tls-crypt. Голяма верига от сертификати може да се провали и на MTU на пътя, преди да завърши каквото и да е удостоверяване, което изглежда като изтичане на времето, а не като криптографска грешка.

Поправяйте отказите на контрола с настройки за контрола. Увеличаването на шифъра за данни или смекчаването на политиката за удостоверяване на данните няма да завърши ръкостискане, което така и не е преминало обмена на сертификати.

Проверете канала за данни отделно

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

След това проверете какво е инсталирала сесията. PUSH_REPLY може да добави маршрути, DNS сървър и директива redirect-gateway и всяко от тях може да изпрати трафик там, където приложението не може да го използва. За IKEv2 еквивалентният въпрос е дали селекторите на CHILD асоциацията съответстват на адресите в действителния поток.

tls-auth и tls-crypt принадлежат на контролния канал. Те удостоверяват или криптират ръкостискането и не избират шифъра за данни на приложението. Ако добавите един от тях с очакване за промяна в пътя на данните, единственото, което сте променили, е ръкостискането.

Свържете имената с IKEv2 и OpenVPN

IKEv2 има IKE асоциация за сигурност и една или повече CHILD асоциации. IKE асоциацията носи контролния обмен; CHILD асоциацията носи защитения трафик и неговите селектори. Те се договарят и подновяват ключовете си по отделни графици, така че едната може да е здрава, докато другата не е.

ESP няма вътре в себе си контролен канал в стил TLS. Контролният протокол е IKE, а ESP е защитеният полезен товар. Да наричате ESP канала за данни е свободно съкращение, което става объркващо, когато четете прихващане на пакети, защото прихващането показва IKE съобщенията и ESP пакетите като различни протоколи по линията.

Дръжте съответствието явно в бележките си: контролният канал на OpenVPN и IKE SA са страната на управлението, каналът за данни на OpenVPN и CHILD SA са страната на трафика, а реализациите не са взаимозаменяеми, дори когато разделението изглежда подобно.

Спрете да сменяте грешната настройка

Извървете пътя в една посока: контролен обмен, защита на данните, препращане, после разрешаване на имена. Спрете на първия етап, който се провали, и поправете само него. Свързана сесия с работещ ping към шлюза, но без трафик на приложението, е проблем с препращането или селекторите, а не с ръкостискането.

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

Документацията на протокола OpenVPN е източникът за разделението контрол-данни; използвайте я, когато интерфейсът на доставчика използва други думи за същите две функции.

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