Dva profila, eden se poveže in drugi ne, in hiter način, da vidite zakaj, je diff. Težava je v tem, da ista diff natisne vgrajeni zasebni ključ, statični ključ in vsak blok poverilnic, ki ga datoteka nosi, ljudje pa izpis prilepijo v klepet, preden to opazijo. Odločitev, kaj primerjate, pride pred zagonom ukaza. Primerjajte strukturo in vloge na zaščitenih kopijah, in ko mora to videti nekdo drug, zgradite ločeno redigirano datoteko.

Kaj datoteka .ovpn v resnici nosi

Datoteka .ovpn je konfiguracija z neobveznimi vgrajenimi bloki. Lahko vsebuje potrdilo CA, odjemalsko potrdilo, zasebni ključ, ključ tls-auth ali tls-crypt, in direktive, ki kažejo na zunanje datoteke ali zahtevajo poverilnice. Dve datoteki sta lahko skoraj enaki in se razlikujeta le znotraj bloka, ali v eni direktivi, ki popolnoma spremeni prenos. Število vrstic vam ne pove ničesar o tem, kaj od tega se je zgodilo.

Razlika znotraj bloka ključa ni javni dokaz ničesar. Ponovno izdano potrdilo in potrdilo z novim ključem lahko ustvarita enako obliko spremembe, zato neujemanje bloka pove, da je gradivo drugačno, ne pa katera odločitev ga je ustvarila. Obravnavajte ga kot signal za primerjavo polj, ne kot ugotovitev.

Primerjajte po vlogi, ne po vrstici

Sledite lastnemu vrstnemu redu povezave: najprej končna točka in prenos, nato zaupanje in pričakovana identiteta, nato preverjanje pristnosti uporabnika, nato poti, DNS in skriptni kavlji. To zaporedje ustreza temu, kar počne odjemalec, zato je prva razlika, na katero naletite, prva stvar, ki je lahko prekinila povezavo. Abecedna primerjava namesto tega razprši povezane nastavitve po celotnem izpisu.

Pregled, ki je pozoren na polja, gleda te elemente v tem vrstnem redu. Vse, kar odjemalec vpraša interaktivno, sodi v vrstico preverjanja pristnosti, ne v vrstice zaupanja.

  • remote, proto in vrata, vključno z vsakim blokom povezave.
  • ca in cert: izdajatelj, zadeva in datum poteka.
  • Ali zasebni ključ sploh obstaja, nikoli ne, kaj vsebuje.
  • tls-auth ali tls-crypt prisotnost in smer ključa.
  • Direktive preverjanja pristnosti, vključno z vsako navedbo datoteke s poverilnicami.
  • Poti, možnosti DNS in skriptni kavlji, ki se izvajajo ob povezavi.

Ko datoteka vsebuje več blokov povezave, držite vsako možnost pri njeni končni točki. Primerjava le prve vrstice remote lahko zgreši alternativo, ki jo odjemalec v tem omrežju dejansko izbere.

Zakaj je navaden diff napačno orodje

Navaden diff je zgrajen za besedilo, ne za skrivnosti. Z veseljem natisne zasebni ključ v zgodovino zaslona in vam ne pove, da direktiva, v katero strmite, ni povezana z okvaro. Izvlečki polj so hkrati varnejši in berljivejši, ker je gradivo potrdila mogoče primerjati kot metapodatke namesto kot bajte.

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

Prva dva ukaza natisneta identiteto in veljavnost, ne da bi se dotaknila ključa, zato je njun izpis varen za lepljenje. grep natisne imena in vrednosti direktiv, nikoli pa teles blokov, kar ga naredi pravi prvi pregled, ko sumite na razliko v prenosu ali usmerjanju. Če je treba primerjati sam blok, primerjajte njegov hash, ne vsebine.

Zgradite redigirano kopijo za zahtevek

Odstranite prave skrivnosti in nepotrebne identifikatorje, ob tem pa obdržite imena polj in dovolj strukture, da razložite razliko. Oznaka enake oblike vseeno razkrije, kje gradivo sedi in kako dolgo je bilo, zato se odločite, ali je sprejemljivo tudi to. Preverite samo končno prilogo, namesto da bi zaupali ukazu, ki se ga spomnite, da ste ga zagnali. Ne urejajte delovnega izvirnika samo zato, da bi ustvarili primer, ker redigirani profil ni nujno izvršljiv in se ne sme nikoli znova uvoziti.

Ohranite izvirnike prepoznavne po imenu datoteke in hashu, namesto da jih kopirate v tri mape s podobnimi imeni. Hash niz zadostuje za dokaz, katera datoteka je bila pregledana, in ne stane nič, če izteče. Po zaprtju spremembe kopije obrežite, da naslednja oseba podeduje eno verodostojno datoteko.

Držite primerjavo vezano na okvaro

Primerjava je vredna svojih stroškov, ko odgovori na vprašanje o enem uvozu ali eni okvari povezave. Najprej poimenujte korak, ki ne uspe, nato primerjajte le polja, od katerih je ta korak odvisen; zbiranje vseh odjemalčevih poverilnic v eno mapo naredi naslednje uhajanje verjetnejše in naslednjo diagnostiko počasnejšo. Bolj ko je vprašanje ozko, krajši je seznam polj, ki lahko odgovorijo nanj.

Če je nova datoteka prišla od operaterja, potrdite njeno pot distribucije, preden zamenjate gradivo zaupanja. Po spremembi preglejte uvoženo kopijo, ki jo je odjemalec dejansko izbral, in dogovorjeni rezultat, ker je direktivo lahko druga različica odjemalca prezrla ali prebrala drugače. Datoteka na disku ni dokaz povezave, ki je tekla. Semantika direktiv je v priročniku OpenVPN 2.6.

Sorodni članki