Két profil, az egyik csatlakozik, a másik nem, és a gyors módja annak, hogy lássa miért, egy diff. A baj az, hogy ugyanaz a diff kiírja a beágyazott privát kulcsot, a statikus kulcsot és minden hitelesítő adatblokkot, amit a fájl hordoz, az emberek pedig bemásolják a kimenetet egy csevegésbe, mielőtt észrevennék. Annak eldöntése, mit hasonlít össze, a parancs futtatása előtt jön. Hasonlítsa össze a szerkezetet és a szerepeket védett másolatokon, és készítsen külön szerkesztett fájlt, amikor valaki másnak látnia kell.

Mit hordoz valójában egy .ovpn-fájl

A .ovpn fájl olyan konfiguráció, amelynek opcionális beágyazott blokkjai vannak. Tartalmazhat CA-tanúsítványt, ügyféltanúsítványt, privát kulcsot, tls-auth vagy tls-crypt kulcsot, valamint külső fájlokra mutató vagy hitelesítő adatokat kérő direktívákat. Két fájl majdnem azonosnak tűnhet, és csak egy blokk belsejében térhet el, vagy egyetlen direktívában, amely teljesen megváltoztatja a szállítást. A sorok száma semmit sem mond arról, melyik történt meg.

A kulcsblokkon belüli eltérés nem nyilvános bizonyíték semmire. Az újra kiadott tanúsítvány és az új kulcsú tanúsítvány ugyanolyan alakú változást hozhat létre, tehát a blokk eltérése azt mondja, hogy az anyag más, nem azt, hogy melyik döntés hozta létre. Kezelje jelzésként a mezők összehasonlítására, ne megállapításként.

Szerep szerint hasonlítson, ne sor szerint

Kövesse a kapcsolat saját sorrendjét: először a végpont és a szállítás, aztán a bizalom és a várt identitás, aztán a felhasználói hitelesítés, aztán az útvonalak, a DNS és a szkriptkampók. Ez a sorrend megfelel annak, amit a kliens tesz, így az első eltérés, amibe belefut, az első dolog, ami elszakíthatta a kapcsolatot. Az abc-sorrendű összehasonlítás ehelyett szétszórja a kapcsolódó beállításokat a teljes kimeneten.

A mezőkre figyelő átvizsgálás ezeket az elemeket nézi, ebben a sorrendben. Minden, amit a kliens interaktívan kérdez, a hitelesítési sorhoz tartozik, nem a bizalmi sorokhoz.

  • remote, proto és port, minden kapcsolatblokkot beleértve.
  • ca és cert: kibocsátó, tárgy és lejárati dátum.
  • Van-e egyáltalán privát kulcs, soha nem az, hogy mit tartalmaz.
  • tls-auth vagy tls-crypt jelenléte és kulcsirány.
  • Hitelesítési direktívák, beleértve a hitelesítőadat-fájlra való bármilyen hivatkozást.
  • Kapcsolódáskor futó útvonalak, DNS-beállítások és szkriptkampók.

Ha egy fájl több kapcsolatblokkot tartalmaz, tartsa minden beállítást a végpontjánál. Csak az első remote sor összehasonlítása kihagyhatja azt az alternatívát, amelyet a kliens ezen a hálózaton ténylegesen választ.

Miért rossz eszköz az egyszerű diff

Az egyszerű diff szöveghez készült, nem titkokhoz. Boldogan kiír egy privát kulcsot a képernyő előzményeibe, és nem mondja meg, hogy a direktíva, amelyre mered, nem függ össze a hibával. A mezőkinyerés egyszerre biztonságosabb és olvashatóbb, mert a tanúsítvány anyaga metaadatként hasonlítható össze bájtok helyett.

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

Az első két parancs identitást és érvényességet ír ki anélkül, hogy hozzányúlna a kulcshoz, így a kimenetük biztonságosan beilleszthető. A grep direktívaneveket és értékeket ír ki, de soha nem a blokkok törzsét, ami alkalmassá teszi az első helyes átvizsgálásra, ha szállítási vagy útvonal-eltérést gyanít. Ha magát a blokkot kell összehasonlítani, a hash-ét hasonlítsa össze a tartalom helyett.

Készítsen szerkesztett másolatot a jegyhez

Távolítsa el a valódi titkokat és a szükségtelen azonosítókat, miközben megtartja a mezőneveket és annyi szerkezetet, hogy az eltérés magyarázható legyen. Az azonos alakú jelölő még mindig elárulja, hol van az anyag és milyen hosszú volt, ezért döntse el, hogy ez is elfogadható-e. Ellenőrizze magát a végleges mellékletet, ahelyett hogy megbízna a parancsban, amiről emlékszik, hogy lefuttatta. Ne szerkessze a működő eredetit csak példa készítéséhez, mert a szerkesztett profil nem feltétlenül futtatható, és soha nem szabad újra importálni.

Tartsa az eredetiket fájlnév és hash alapján azonosíthatóan, ahelyett hogy három hasonló nevű könyvtárba másolná őket. Egy hash-sztring elég annak bizonyítására, melyik fájlt vizsgálták, és semmibe sem kerül, ha kiszivárog. A változás lezárása után nyesse meg a másolatokat, hogy a következő ember egyetlen hiteles fájlt örököljön.

Tartsa az összehasonlítást egy hibához kötve

Az összehasonlítás akkor éri meg az árát, ha egyetlen importálásra vagy egyetlen kapcsolódási hibára válaszol. Először nevezze meg a sikertelen lépést, aztán csak azokat a mezőket hasonlítsa össze, amelyektől az a lépés függ; a kliens összes hitelesítő adatának egy könyvtárba gyűjtése valószínűbbé teszi a következő szivárgást és lassabbá a következő diagnózist. Minél szűkebb a kérdés, annál rövidebb az azt megválaszolni képes mezők listája.

Ha új fájl érkezett az üzemeltetőtől, erősítse meg a terjesztési útvonalát, mielőtt lecseréli a bizalmi anyagot. A változás után vizsgálja meg az importált másolatot, amelyet a kliens ténylegesen kiválasztott, és a kialkudott eredményt, mert egy direktívát egy másik kliensverzió figyelmen kívül hagyhat vagy másként olvashat. A lemezen lévő fájl nem bizonyítéka a lefutott kapcsolatnak. A direktívák szemantikája a OpenVPN 2.6 kézikönyvében.

Kapcsolódó cikkek