Zwee OpenVPN-Profile vergläichen ouni Schlësselen ze lecken
En Text-Diff kann inline Schlësselen esou liicht opdecken wéi en eng geännert Direktiv weist. Vergläicht no Roll op geschützte Kopien, a baut duerno eng separat redigéiert Diagnosedatei.
Zwee Profiler, deen een verbënnt an deen aneren net, an de séiere Wee fir ze gesinn firwat ass en Diff. De Problem ass, datt deeselwechten Diff de agebauten private Schlëssel, de statesche Schlëssel an all Credential-Block deen d'Datei dréit dréckt, an d'Leit paste d'Ausgab an engem Chat era ier si et mierken. Entscheeden wat Dir vergläicht kënnt virum Kommando auszeféieren. Vergläicht Struktur a Rollen op geschützte Kopien, a baut eng separat redigéiert Datei wann een aneren se musse gesinn.
Wat eng .ovpn-Datei tatsächlech dréit
Eng .ovpn-Datei ass eng Konfiguratioun mat optionalen agebauten Blöck. Si kann en CA-Zertifikat, en Client-Zertifikat, e private Schlëssel, e tls-auth oder tls-crypt-Schlëssel, an Direktiven déi op extern Dateien weisen oder no Umeldungsinformatioune froen enthalen. Zwou Dateie kënnen bal identesch ausgesinn an sech nëmmen innerhalb vun engem Block ënnerscheeden, oder an enger Direktiv déi den Transport komplett ännert. D'Zuel vun den Zeilen seet Iech näischt doriwwer wat dovu geschitt ass.
En Ënnerscheed innerhalb vun engem Schlësselblock ass kee ëffentleche Beweis fir näischt. En nei ausgestallte Zertifikat an ee mat engem neie Schlëssel kënnen déiselwecht Form vun Ännerung produzéieren, also seet den Blockënnerscheed datt d'Material anescht ass, net wéi eng Entscheedung en erstallt huet. Behandelt en als Signal fir Felder ze vergläichen, net als Befund.
Vergläicht no Roll, net no Zeil
Follegt der eegener Reihenfolg vun der Verbindung: fir d'éischt Endpunkt an Transport, dann Vertrauen an erwaart Identitéit, dann Benotzerauthentifizéierung, dann Routen, DNS an Skripthaken. Déi Sequenz entsprécht deem wat de Client mécht, also ass den éischten Ënnerscheed deen Dir begéint dat éischt wat d'Verbindung konnt gebrach hunn. Alphabetescht vergläiche verstreet dogéint associéiert Astellungen iwwer déi ganz Ausgab.
En feldbewusste Passage kuckt dës Elementer, an där Reihenfolg. Alles wat de Client interaktiv freet gehéiert an d'Authentifizéierungszeil an net an d'Vertrauenszeilen.
remote,protoa Port, inklusiv all Verbindungsblock.caancert: Aussteller, Sujet an Oflechtdatum.- Ob iwwerhaapt e private Schlëssel do ass, ni wat en enthält.
tls-authodertls-crypt-Präsenz a Schlësselrichtung.- Authentifizéierungsdirektiven, inklusiv all Referenz op eng Umeldungsdatei.
- Routen, DNSoptiounen a Skripthaken déi bei der Verbindung lafen.
Wann eng Datei méi Verbindungsblöck huet, haalt all Optioun bei hirem Endpunkt. Nëmmen déi éischt remote-Zeil ze vergläiche kann d'Alternativ verpassen déi de Client an dësem Netzwierk tatsächlech wielt.
Firwat en einfachen Diff dat falscht Instrument ass
En einfachen Diff ass fir Text gebaut, net fir Geheimnisser. En dréckt gäre e private Schlëssel an de Scrollback, an en seet Iech net datt d'Direktiv an déi Dir stierft fir de Fehler irrelevant ass. Feldextraktioune si gläichzäiteg sécherer a liesbarer, well Zertifikatsmaterial als Metadaten amplaz Bytes vergläicht ka ginn.
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
Déi zwou éischt Kommandoen drécke Identitéit a Gültegkeet ouni de Schlëssel unzefassen, also ass hir Ausgab sécher ze pasten. grep dréckt Direktivnimm a Wäerter awer ni d'Blöckkierper, wat en zum richtegen éischten Passage mécht wann Dir en Transport- oder Routingënnerscheed vermutt. Wann e Block selwer vergläicht muss ginn, vergläicht säin Hash amplaz vum Inhalt.
Baut eng redigéiert Kopie fir den Ticket
Entfernt richteg Geheimnisser an onnéideg Identifizéierer wärend Dir Feldnimm an genuch Struktur behält fir den Ënnerscheed z'erklären. En Marker vun der selwechter Form verréit nach ëmmer wou d'Material sëtzt a wéi laang et war, also entscheet ob och dat akzeptabel ass. Kontrolléiert den endgültegen Uschloss selwer amplaz dem Kommando ze vertrauen deen Dir Iech erënnert ausgefouert ze hunn. Ännert net d'aarbechtend Original just fir en Beispill ze produzéieren, well e redigéierte Profil net onbedéngt ausféierbar ass an ni erëm importéiert soll ginn.
Haalt d'Originaler erkennbar duerch Dateinumm an Hash amplaz se an dräi Verzeechnisser mat ähnlechen Nimm ze kopéieren. En Hash-String duerf fir ze beweisen wéi eng Datei gepréift gouf a kascht näischt wann en leckt. Schneider d'Kopien of nodeems d'Ännerung zou ass, sou datt déi nächst Persoun eng eenzeg autoritativ Datei ierft.
Haalt de Verglach un e Fehler gebonnen
E Verglach verdéngt seng Käschten wann en eng Fro iwwer een Import oder een Verbindungsfehler beäntwert. Nennt fir d'éischt de Schrëtt deen feelt, vergläicht dann nëmmen d'Felder vun deenen dee Schrëtt ofhänkt; all Umeldungsinformatioune vum Client an engem Verzeechnis ze sammelen mécht déi nächst Leck méi wahrscheinlech an déi nächst Diagnos méi lues. Je méi enk d'Fro, dest méi kuerz d'Lëscht vun de Felder déi se beäntweren kënnen.
Wann eng nei Datei vum Bedreiwer koum, bestätegt hire Verdeelungswee ier Dir Vertrauensmaterial ersetzt. No der Ännerung, iwwerpréift déi importéiert Kopie déi de Client tatsächlech gewielt huet an dat ausgehandelt Resultat, well eng Direktiv vun enger anerer Clientversioun ignoréiert oder anescht gelies ka ginn. D'Datei op der Disk ass kee Beweis fir d'Verbindung déi gelaf ass. D'Semantik vun den Direktive steet am OpenVPN 2.6-Handbuch.