Kaksi profiilia, toinen yhdistää ja toinen ei, ja nopea tapa nähdä miksi on diff. Ongelma on, että sama diff tulostaa upotetun yksityisen avaimen, staattisen avaimen ja kaikki tiedoston sisältämät tunnistetietolohkot, ja ihmiset liittävät tulosteen chattiin ennen kuin huomaavat. Päätös siitä, mitä vertaat, tulee ennen komennon ajamista. Vertaa rakennetta ja rooleja suojatuilla kopioilla ja rakenna erillinen redaktioitu tiedosto, kun jonkun muun täytyy nähdä se.

Mitä .ovpn-tiedosto oikeastaan sisältää

Tiedosto .ovpn on kokoonpano, jossa on valinnaisia upotettuja lohkoja. Se voi sisältää CA-varmenteen, asiakasvarmenteen, yksityisen avaimen, avaimen tls-auth tai tls-crypt sekä direktiivejä, jotka osoittavat ulkoisiin tiedostoihin tai kysyvät tunnistetietoja. Kaksi tiedostoa voivat näyttää lähes identtisiltä ja erota vain lohkon sisällä tai yhdessä direktiivissä, joka muuttaa siirron kokonaan. Rivimäärä ei kerro sinulle mitään siitä, mikä näistä tapahtui.

Avainlohkon sisäinen ero ei ole julkista todistetta mistään. Uudelleen myönnetty varmenne ja uudella avaimella varustettu varmenne voivat tuottaa saman muotoisen muutoksen, joten lohkon eroavuus kertoo, että materiaali on erilaista, ei sitä, mikä päätös sen aiheutti. Käsittele sitä merkkinä kenttien vertaamisesta, älä löydöksenä.

Vertaa roolin, älä rivin mukaan

Noudata yhteyden omaa järjestystä: ensin päätepiste ja siirto, sitten luottamus ja odotettu identiteetti, sitten käyttäjän todennus, sitten reitit, DNS ja skriptikoukut. Tämä järjestys vastaa sitä, mitä asiakas tekee, joten ensimmäinen ero, jonka kohtaat, on ensimmäinen asia, joka on voinut katkaista yhteyden. Aakkosjärjestyksessä vertaaminen sen sijaan hajottaa toisiinsa liittyvät asetukset pitkin tulostetta.

Kenttätietoinen läpikäynti katsoo näitä kohteita tässä järjestyksessä. Kaikki, mitä asiakas kysyy vuorovaikutteisesti, kuuluu todennusriville, ei luottamusriveille.

  • remote, proto ja portti, mukaan lukien jokainen yhteyslohko.
  • ca ja cert: myöntäjä, kohde ja päättymispäivä.
  • Onko yksityinen avain ylipäätään läsnä, ei koskaan mitä se sisältää.
  • tls-auth tai tls-crypt-läsnäolo ja avaimen suunta.
  • Todennusdirektiivit, mukaan lukien viittaus tunnistetietotiedostoon.
  • Reitit, DNS-valinnat ja skriptikoukut, jotka ajetaan yhdistettäessä.

Kun tiedostossa on useita yhteyslohkoja, pidä jokainen valinta päätepisteensä yhteydessä. Vain ensimmäisen remote rivin vertaaminen voi jättää huomaamatta vaihtoehdon, jonka asiakas todella valitsee tässä verkossa.

Miksi tavallinen diff on väärä työkalu

Tavallinen diff on tehty tekstille, ei salaisuuksille. Se tulostaa mielellään yksityisen avaimen näytön historiaan eikä kerro sinulle, että direktiivi, jota tuijotat, ei liity vikaan. Kenttäpoiminnat ovat sekä turvallisempia että luettavampia, koska varmennemateriaalia voi verrata metatietoina bittien sijaan.

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

Kaksi ensimmäistä komentoa tulostavat identiteetin ja voimassaolon koskematta avaimeen, joten niiden tuloste on turvallista liittää. grep tulostaa direktiivien nimet ja arvot mutta ei koskaan lohkojen sisältöä, mikä tekee siitä oikean ensimmäisen läpikäynnin, kun epäilet siirron tai reitityksen eroa. Jos itse lohko täytyy vertailla, vertaa sen tiivistettä sisällön sijaan.

Rakenna redaktioitu kopio tikettiä varten

Poista todelliset salaisuudet ja tarpeettomat tunnisteet säilyttäen kenttien nimet ja riittävä rakenne eron selittämiseen. Saman muotoinen merkki paljastaa silti, missä materiaali sijaitsee ja kuinka pitkä se oli, joten päätä, onko edes se hyväksyttävää. Tarkista itse lopullinen liite sen sijaan, että luottaisit komentoon, jonka muistat ajaneesi. Älä muokkaa työskentelyalkuperäistä vain esimerkin tuottamiseksi, koska redaktioitu profiili ei välttämättä ole suoritettavissa eikä sitä pitäisi koskaan tuoda uudelleen.

Pidä alkuperäiset tunnistettavina tiedostonimen ja tiivisteen avulla sen sijaan, että kopioisit ne kolmeen samannimiseen hakemistoon. Tiiviste merkkijonona riittää todistamaan, mikä tiedosto tarkistettiin, eikä maksa mitään, jos se vuotaa. Karsi kopiot, kun muutos suljetaan, jotta seuraava henkilö perii yhden auktoritatiivisen tiedoston.

Pidä vertailu sidottuna vikaan

Vertailu ansaitsee kustannuksensa, kun se vastaa kysymykseen yhdestä tuonnista tai yhdestä yhteysviasta. Nimeä ensin epäonnistuva vaihe ja vertaa sitten vain kenttiä, joista se vaihe riippuu; kaikkien asiakkaan tunnistetietojen kerääminen yhteen hakemistoon tekee seuraavasta vuodosta todennäköisemmän ja seuraavasta diagnoosista hitaamman. Mitä kapeampi kysymys, sitä lyhyempi luettelo kentistä, jotka voivat vastata siihen.

Jos uusi tiedosto tuli operaattorilta, vahvista sen jakelupolku ennen luottamusmateriaalin korvaamista. Tarkista muutoksen jälkeen tuotu kopio, jonka asiakas todella valitsi, ja neuvoteltu tulos, koska toinen asiakasversio voi jättää direktiivin huomiotta tai lukea sen eri tavalla. Levyllä oleva tiedosto ei ole todiste ajetusta yhteydestä. Direktiivien semantiikka on OpenVPN 2.6 -käsikirjassa.

Aiheeseen liittyvät artikkelit