Control channel at data channel ng VPN: suriin ang tamang layer
Maaaring makipagnegosasyon ang tunnel at wala pa ring dalang anuman. Suriin kung aling channel ang nabigo: ang setup ng control, proteksyon ng data, o ang ruta at DNS na lampas sa dalawa.
Sinasabi ng kliyente na konektado, nakikita ng server ang isang kapareha, at hindi pa rin umaabot ang aplikasyon kahit saan. Sa puntong iyon ang kapaki-pakinabang na tanong ay hindi kung aling cipher ang babaguhin, kundi kung aling channel ang nabigo. Tahasang pinangalanan ng OpenVPN ang dalawang tungkulin: isang control channel na nakikipagnegosasyon at namamahala sa session, at isang data channel na nagdadala ng protektadong trapiko. Ipinapahayag ng IKEv2 ang katulad na paghahati sa pamamagitan ng IKE association at CHILD association. Gawin ang mga pagsusuri sa ibaba nang sunod-sunod, dahil ang pagwawasto sa data path na inilapat sa isang depekto sa control path ay nagsasayang ng window ng pagbabago.
Pangalanan ang channel bago ito i-debug
Ang panig ng control ay nakikipagnegosasyon sa materyal ng seguridad, nagpapatunay ng mga kapareha at namamahala sa koneksyon. Ang panig ng data ay nagdadala ng piniling trapiko kapag umiiral na ang kinakailangang estado.
Nabibigo sila nang magkaiba. Ang pagkabigo ng control ay karaniwang iniiwan kang walang anumang magagamit na session, o may session na muling nakikipagnegosasyon sa isang loop. Ang pagkabigo ng data ay nag-iiwan ng session na mukhang malusog habang ang mga pakete ay itinatapon, mali ang ruta, o pinoprotektahan ng mga parameter na hindi tatanggapin ng kabilang panig. Ang linya ng log na binabasa mo ay nagsasabi kung alin sa dalawa ang kinalalagyan mo, kaya basahin ang label bago ang teksto ng error.
Suriin ang palitan ng control
Kumpirmahin na natatapos ang handshake at nagkakasundo ang dalawang panig sa transport, bersyon ng TLS at paraan ng pagpapatunay. Ang mga log ng OpenVPN ay naglilimbag ng hiwalay na linya para sa control channel at data channel, at sa linya ng control lumilitaw ang hindi pagkakatugma ng sertipiko, bersyon ng TLS o tls-crypt.
Kung nabigo ang palitan ng control, tingnan ang naaabot na port, ang kadena ng sertipiko at ang mga petsa ng bisa nito, ang orasan ng sistema, ang pagtatagpo ng mga cipher sa pagitan ng kliyente at server, at anumang susi ng tls-auth o tls-crypt. Ang malaking kadena ng sertipiko ay maaari ring mabigo sa MTU ng landas bago matapos ang anumang pagpapatunay, na mukhang timeout at hindi error sa kriptograpiya.
Ayusin ang mga pagkabigo ng control gamit ang mga setting ng control. Ang pagtaas ng cipher ng data o pagluluwag ng patakaran ng pagpapatunay ng data ay hindi makakumpleto ng handshake na hindi kailanman lumampas sa palitan ng sertipiko.
Suriin ang data channel nang hiwalay
Kapag nakataas na ang session, kumpirmahin ang napagkasunduang cipher at mode ng data, ang pagkuha ng susi at ang pag-uugali sa pag-renew ng susi. Sa OpenVPN, ang linya ng data channel ay nagsasabi ng cipher at laki ng susi na aktuwal na nasimulan, at maaaring iba ang mga ito sa unang cipher sa profile.
Pagkatapos suriin kung ano ang inilagay ng session. Ang PUSH_REPLY ay maaaring magdagdag ng mga ruta, isang DNS server at isang direktiba ng redirect-gateway, at alinman sa mga ito ay maaaring magpadala ng trapiko sa lugar na hindi magagamit ng aplikasyon. Para sa IKEv2, ang katumbas na tanong ay kung tumutugma ang mga selektor ng CHILD association sa mga address sa aktuwal na daloy.
Ang tls-auth at tls-crypt ay kabilang sa control channel. Pinapatunayan o ini-encrypt nila ang handshake at hindi pinipili ang cipher ng data ng aplikasyon. Kung magdadagdag ka ng isa sa kanila na umaasa sa pagbabago sa data path, ang tanging nabago mo ay ang handshake.
Iugnay ang mga pangalan sa IKEv2 at OpenVPN
Ang IKEv2 ay may isang IKE security association at isa o higit pang CHILD association. Ang IKE association ay nagdadala ng mga palitan ng control; ang CHILD association ay nagdadala ng protektadong trapiko at ng mga selektor nito. Negosyado sila at binago ang mga susi ayon sa hiwalay na iskedyul, kaya ang isa ay maaaring malusog habang ang isa ay hindi.
Ang ESP ay walang control channel na parang TLS sa loob nito. Ang protocol ng control ay IKE, at ang ESP ay ang protektadong payload. Ang tawagin ang ESP na data channel ay isang maluwag na daglat na nagiging nakakalito kapag nagbabasa ng packet capture, dahil ipinapakita ng capture ang mga mensahe ng IKE at mga pakete ng ESP bilang magkaibang protocol sa kable.
Panatilihing malinaw ang pag-uugnay sa iyong mga tala: ang control channel ng OpenVPN at IKE SA ay panig ng pamamahala, ang data channel ng OpenVPN at CHILD SA ay panig ng trapiko, at ang mga implementasyon ay hindi mapagpapalit kahit magkahawig ang paghahati.
Itigil ang pagbabago ng maling setting
Lakbayin ang landas sa isang direksyon: palitan ng control, proteksyon ng data, pagpapasa, at pagkatapos ay paglutas ng pangalan. Huminto sa unang yugto na nabigo at ayusin lamang ang yugtong iyon. Ang konektadong session na gumagana ang ping papunta sa gateway ngunit walang trapiko ng aplikasyon ay problema sa pagpapasa o sa mga selektor, hindi problema sa handshake.
Isulat ang ebidensya para sa bawat yugto nang hiwalay sa ticket: ang linya ng log ng control, ang napagkasunduang parameter ng data, ang mga naka-install na ruta at isang tunay na kahilingan. Pinipigilan ng estrukturang iyon na mapahina ang isang gumaganang pagsusuri ng pagkakakilanlan upang ayusin ang isang problemang ruta sa paglaon na hindi nito kailanman ginawa, at pinipigilan ding maibenta ang pagbabago ng cipher ng data bilang pagwawasto sa error ng sertipiko.
Ang dokumentasyon ng protocol ng OpenVPN ang sanggunian para sa paghahati ng control at data; gamitin ito kapag ang interface ng vendor ay gumagamit ng ibang salita para sa parehong dalawang tungkulin.