Dalawang profile, ang isa kumokonekta at ang isa hindi, at ang mabilis na paraan upang makita kung bakit ay isang diff. Ang problema ay ang parehong diff ay nagpi-print ng inline na pribadong susi, ang static na susi at anumang bloke ng kredensyal na dala ng file, at ang mga tao ay nagpapadikit ng output sa isang chat bago nila ito mapansin. Ang pagpapasya kung ano ang ikinukumpara mo ay nauna sa pagpapatakbo ng command. Ikumpara ang istruktura at mga tungkulin sa mga protektadong kopya, at bumuo ng hiwalay na na-redact na file kapag may ibang tao na kailangang makakita nito.

Ano ba talaga ang dala ng isang .ovpn file

Ang isang .ovpn file ay isang configuration na may opsyonal na inline na mga bloke. Maaari itong maglaman ng CA certificate, client certificate, pribadong susi, susi na tls-auth o tls-crypt, at mga direktiba na tumuturo sa panlabas na file o humihingi ng kredensyal. Dalawang file ang maaaring halos magkatulad at magkaiba lamang sa loob ng isang bloke, o magkaiba sa isang direktiba na ganap na nagbabago ng transport. Walang sinasabi ang bilang ng linya tungkol sa alin sa mga ito ang nangyari.

Ang pagkakaiba sa loob ng isang bloke ng susi ay hindi pampublikong ebidensya ng anuman. Ang muling inisyung certificate at ang isang may bagong susi ay maaaring gumawa ng parehong hugis ng pagbabago, kaya sinasabi ng pagkakaiba ng bloke na iba ang materyal, hindi kung aling desisyon ang gumawa nito. Ituring itong senyales upang ikumpara ang mga field, hindi bilang natuklasan.

Ikumpara ayon sa tungkulin, hindi ayon sa linya

Sundin ang sariling pagkakasunod-sunod ng koneksyon: una ang endpoint at transport, pagkatapos ang tiwala at inaasahang pagkakakilanlan, pagkatapos ang pagpapatunay ng user, pagkatapos ang mga ruta, DNS at script hook. Ang pagkakasunod-sunod na iyon ay tumutugma sa ginagawa ng client, kaya ang unang pagkakaiba na makikita mo ay ang unang bagay na maaaring nakasira sa koneksyon. Ang paghahambing ayon sa alpabeto ay nagkakalat ng kaugnay na mga setting sa buong output.

Ang isang pass na may kamalayan sa field ay tumitingin sa mga item na ito, sa ganoong pagkakasunod-sunod. Anumang hinihingi ng client nang interaktibo ay kabilang sa row ng pagpapatunay, hindi sa mga row ng tiwala.

  • remote, proto at port, kasama ang bawat bloke ng koneksyon.
  • ca at cert: issuer, subject at petsa ng pag-expire.
  • Kung may pribadong susi man, hindi kailanman kung ano ang nilalaman nito.
  • tls-auth o tls-crypt presensya at direksyon ng susi.
  • Mga direktiba ng pagpapatunay, kasama ang anumang sanggunian sa file ng kredensyal.
  • Mga ruta, opsyon sa DNS at script hook na tumatakbo sa pagkonekta.

Kapag ang isang file ay may ilang bloke ng koneksyon, itago ang bawat opsyon kasama ang endpoint nito. Ang paghahambing lamang sa unang linya remote ay maaaring makaligtaan ang alternatibong aktwal na pinipili ng client sa network na ito.

Bakit mali ang isang plain diff

Ang plain diff ay ginawa para sa teksto, hindi para sa mga lihim. Ipi-print nito nang masaya ang isang pribadong susi sa scrollback, at hindi nito sasabihin sa iyo na ang direktibang tinititigan mo ay walang kaugnayan sa pagkabigo. Ang pagkuha ng field ay parehong mas ligtas at mas madaling basahin, dahil ang materyal ng certificate ay maaaring ikumpara bilang metadata sa halip na byte.

openssl x509 -in ca.crt -noout -subject -issuer -enddate
openssl x509 -in client.crt -noout -subject -issuer -enddate
grep -E '^(remote|proto|port|tls-auth|tls-crypt|route|dhcp-option)' profile.ovpn

Ang unang dalawang command ay nagpi-print ng pagkakakilanlan at validity nang hindi hinahawakan ang susi, kaya ligtas na i-paste ang output nila. Ang grep ay nagpi-print ng mga pangalan at halaga ng direktiba ngunit hindi kailanman ang katawan ng bloke, na ginagawa itong tamang unang pass kapag pinaghihinalaan mo ang pagkakaiba ng transport o routing. Kung kailangang ikumpara ang bloke mismo, ikumpara ang hash nito sa halip na ang nilalaman.

Bumuo ng na-redact na kopya para sa ticket

Alisin ang tunay na mga lihim at hindi kailangang identifier habang pinapanatili ang mga pangalan ng field at sapat na istruktura upang ipaliwanag ang pagkakaiba. Ang isang marker na parehong hugis ay naglalantad pa rin kung saan naroroon ang materyal at gaano ito kahaba, kaya magpasya kung katanggap-tanggap rin iyon. Suriin ang huling attachment mismo sa halip na magtiwala sa command na natatandaan mong pinatakbo mo. Huwag i-edit ang gumaganang orihinal para lamang makagawa ng halimbawa, dahil ang na-redact na profile ay hindi kinakailangang maipapatupad at hindi dapat kailanman muling i-import.

Panatilihing makikilala ang mga orihinal sa pamamagitan ng pangalan ng file at hash sa halip na kopyahin ang mga ito sa tatlong direktoryo na may magkatulad na pangalan. Sapat ang isang hash string upang patunayan kung aling file ang sinuri at wala itong gastos kung tumagas. Putulin ang mga kopya pagkatapos magsara ang pagbabago, upang ang susunod na tao ay magmana ng isang awtoritatibong file.

Panatilihing nakatali ang paghahambing sa isang pagkabigo

Ang paghahambing ay sulit sa gastos kapag sinasagot nito ang isang tanong tungkol sa isang import o isang pagkabigo ng koneksyon. Pangalanan muna ang hakbang na nabibigo, pagkatapos ay ikumpara lamang ang mga field na nakasalalay rito; ang pagsasama-sama ng lahat ng kredensyal ng client sa isang direktoryo ay ginagawang mas malamang ang susunod na tagas at mas mabagal ang susunod na diagnosis. Habang mas makitid ang tanong, mas maikli ang listahan ng mga field na makakasagot dito.

Kung ang isang bagong file ay galing sa operator, kumpirmahin ang landas ng pamamahagi nito bago palitan ang materyal ng tiwala. Pagkatapos ng pagbabago, siyasatin ang na-import na kopya na aktwal na pinili ng client at ang napagkasunduang resulta, dahil ang isang direktiba ay maaaring balewalain o basahin nang iba ng ibang bersyon ng client. Ang file sa disk ay hindi patunay ng koneksyong tumakbo. Ang semantika ng mga direktiba ay nasa manwal ng OpenVPN 2.6.

Kaugnay na mga artikulo