Eng Säit vum Tunnel ënnerschreift de Steierkanal mat engem Schlësselslot, deen déi aner Säit ni iwwerpréift, an d'Verbindung stierft mat engem Authentifizéierungsfehler, ier eng eenzeg Zertifikat ausgetosch gëtt. Sou gesäit eng Richtungsabweichung bei tls-auth aus, an si ass deterministesch: déiselwecht zwou Dateie schléit bei all Versuch fehl, aus all Netz. Näischt am Log nennt d'Optioun, déi Dir sicht, dofir bauen d'Leit Schlësselen nei an stellen Zertifikater aus, déi ni futti waren. D'Léisung ass, déi zwou Säiten komplementär ze maachen oder béid bidirektional ze loossen, amplaz d'Préifung ze schwächen.

De Feeler geschitt virun den Zertifikater

Bei tls-auth hunn déi zwou Parteien deeselwechte gedeelte Schlëssel a jiddweree benotzt ee vun zwou Slots, déi dovun ofgeleet sinn: een Slot ënnerschreift d'Steierpaketter déi erausgoen, deen anere préift déi, déi erakommen. Richtung 0 a Richtung 1 ginn dës Rollen an ëmgedréiter Reihenfolg zou, dofir muss d'Paar komplementär sinn, fir datt d'HMAC-Préifungen zesummepassen. Wann d'Zouuerdnung op enger Säit ëmgedréit gëtt, sicht den Empfänger eng Ënnerschrëft am falsche Slot an hëlt de Paket net un. D'Sessioun endt do, dofir geet de Feeler ëm d'Authentifizéierung vun de Paketter an net ëm eppes, wat de Zertifikatsspäicher produzéiere géif.

Den Determinismus ass wichteg fir d'Diagnos, well e Problem mat der Zäit oder dem Wee eng aner Spuer hannerléisst: ënnerbrach Ausfäll, eng Richtung déi feelt, oder eng Sessioun déi nëmmen an engem bestëmmten Netz stierft. Eng Richtungsabweichung schléit all Kéier beim éischten Handshake fehl, an si schléit identesch op enger anerer Maschinn mat deenen zwou selwechten Dateien fehl. Liest de Log bei --verb 4 a fannt deen éischten ofgeleente Paket amplaz vun der leschter Zeil. Wann déi Oflehnung virun engem Zertifikatsaustausch geschitt, sinn de gedeelte Schlëssel a seng Richtung déi zwou Saachen, déi et wäert sinn ze préifen.

What you seeWhat it rules outNext check
Authentication error before any certificate is sentThe data channel is irrelevant; the control channel never authenticatedCompare tls-auth and its direction on both ends
Certificate or handshake failure after the control channel authenticatesThe shared key and its direction already agreeCheck the CA, the certificate dates and the hostname
Session completes but throughput or cipher warnings appearDirection was never the problemCompare the data-channel cipher settings
Startup stops on an options errorThe number itself is not the issueRe-read the inline versus external directive syntax

Wou d'Zuel lieft

D'Handbuch vum OpenVPN 2.6 dokumentéiert zwou Plazen fir d'Richtung: dat zweet Argument vum tls-auth, wann de Schlëssel an enger eegener Datei läit, an eng eegestänneg key-direction-Zeil, wann de Schlëssel am Profil agebaut ass. Béid setzen deeselwechte Wäert, dofir soll e Profil déi eng oder déi aner Form benotzen, ni béid. Ewechloossen ass och eng Wiel, an et setzt béid Parteien an eng bidirektional Uerdnung, déi funktionéiert, wann keng Säit eng Richtung nennt. Zwou Parteie mat der selwechter Zuel sinn net an där Uerdnung: jiddweree erwaart, an engem Slot ze ënnerschreiwen an am aneren ze préifen, a béid maachen dat op déi selwecht Manéier.

# server.conf, external key
tls-auth ta.key 0

# client.ovpn, external key
tls-auth ta.key 1

# client.ovpn, inline key
key-direction 1

Déi agebaut Form ass eng Direktiv op enger eegener Zeil, keen Attribut um Eröffnungs-Tag vum Schlësselblock, an en Argument un deen Tag ze hänken ass e Feeler, keng Richtungsännerung. D'Plaz zielt och: d'Direktiv steet ausserhalb vum Block, zu deem se gehéiert, dofir gëtt e Wäert, dee bannent dem Block geschriwwe gëtt, als Schlësselmaterial gelies. Kopéiert d'Uerdnung, déi den Distributeur vum Profil virgesinn huet, amplaz eng Koppel ze erféieren, well e Profil, deen géint een Server funktionéiert, ass vläicht schonn op der anerer Säit gespigelt.

Wat d'Optioun onberéiert léisst

Si verschlësselt keen Applikatiounstraffic. tls-auth setzt en HMAC ëm d'Paketter vum Steierkanal, wärend den Datekanal duerch Sessiounsschlësselen, déi beim Handshake ausgehandelt ginn, geschützt ass, dofir huet eng Fro iwwer Duerchfloss oder Chiffre näischt mat der Richtungszuel ze dinn. D'Astellung füügt och keng zweet Verschlësselungsschicht derbäi, an genau déi Unhuele schéckt d'Leit op d'Sich no engem méi laange Schlëssel.

Si gëllt net fir tls-crypt, en anere Steierkanalmechanismus mat sengen eegenen Optiounen an Schlësselbehandlung, an si seet näischt iwwer d'Zertifikatsidentitéit vun enger Partei. Eng funktionéierend Richtungsiwwereneestëmmung beweise dofir nëmmen, datt béid Säiten d'accord sinn, wéi de Steierkanal authentifizéiert gëtt, net datt d'Vertrauenskette validéiert gouf.

Riicht d'Paar aus, da verbënnt Iech erëm

Vergläicht déi zwou Konfiguratiounen, ier Dir eng vun hinnen ännert, well déi Säit ze änneren, déi schonn richteg war, d'Aarbecht verduebelt. De grep hei drënner weist, wéi ee Mechanismus all Datei wielt; dee ausféierleche Laf weist, ob de Steierkanal iwwerhaapt authentifizéiert gouf. Haalt béid Ausgaben, sou datt déi nächst Ännerung mat engem bekannten Zoustand verglach ka ginn.

grep -n -E 'tls-auth|tls-crypt|key-direction' server.conf client.ovpn
openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'hmac|tls error|control channel'

Startt béid Parteien no all Ännerung nei, well dës Optiounen beim Start eemol gelies ginn an d'Nei-Luede vun enger Säit d'Paar fir d'ganz Liewensdauer vun der aler Sessioun inkonsistent léisst. Wann d'Deployment de Moment ouni konfiguréiert Richtung funktionéiert, reproduzéiert d'Astellung op enger Partei de Feeler, mat deem Dir ugefaangen hutt; entweder loosst béid a Rou oder konfiguréiert béid. Ännert een Enn op eemol a behält déi virecht Datei, sou datt eng Regressioun eng Zwee-Minutte-Réckgäng ass an net en Neibau.

Notéiert de Mechanismus, d'Schlësseldatei an d'Richtung fir all Enn an den Deployment-Notizen, well soss liest déi nächst Persoun zwou ähnlech Dateien an unhëlt, datt d'Zuelen mussen iwwerenee passen. D'Richtung ass en Detail vun der Koordinatioun, keen Sécherheetsupgrade: si trennt déi zwou Richtunge vum Steierkanal an mécht soss näischt.

Ähnlech Artikelen