OpenVPN-Steierpaketer verfollegen: tls-auth virun TLS
Den tls-auth-HMAC sëtzt op dem Steier-Emballage, net an der TLS-Handshake. Stëmmt Schlëssel, Richtung an Digest openeen of a verifizéiert duerno, ouni de Schutz ewechzehuelen.
En tls-auth-Fehler gëtt meeschtens als Handshake-Problem gemellt, an et war ni ee. Den HMAC gëtt um Steierpaket gepréift, ier eng TLS-Verarbeitung geschitt, dofir erzeiht en falsche Schlëssel oder eng falsch Richtung e Fehler, dee wéi e Zertifikatsproblem ausgesäit an zwou Schichte méi fréi entscheet gëtt. Wann een den Emballage als eegent Objekt behandelt, gëtt d’Diagnos kuerz: liest d’Felder, bestätegt datt d’Kontroll fréi schléit, a vergläicht duerno déi dräi Saachen, op déi sech béid Säite musse eeneg sinn.
Liest den Emballage an der Reiefolleg, an där en opgebaut gëtt
E Steierpaket dréit eng Sessiounsidentitéit, den optionellen tls-auth-HMAC, Widderhuelungs- a Bestätegungsinformatiounen an eng zouverlässeg Message-Identitéit, an duerno kënnt d’Payload vum Messagestyp. Wann d’Message eng Handshake-Message ass, ass d’Payload justement TLS-Chiffrat. Dat ass déi ganz Bezéiung: TLS-Material reest an enger Message, déi den Emballage schonn schützt. Den OpenVPN-Netzwierkprotokoll-Referenz listet d’Felder vum Steierkanal an där Reiefolleg op.
D’Zouverlässegkeetsschicht gëtt liicht mat Kryptografie verwiesselt. Bestätegungen, Neisendung an d’Message-Identitéit existéieren, domat Steiermessagen iwwer en onzouverlässegen Transport eemol an an der Reiefolleg ukommen. Si sinn keng Authentifikatioun, an eng korrekt Message-Identitéit beweist näischt driwwer, wien de Paket geschéckt huet.
Hält dës Gruppéierung konzeptuell. Et ass keen Byte-Reiefolleg-Diagramm, an et duerft net, fir en Tag ze berechnen, well d’Felder, déi an den HMAC aginn, vun der Implementatioun, der Versioun an dem Modus ofhänken.
Weist, datt d’Kontroll virum Handshake schléit
En Empfänger mat dem gedeelte Schlëssel kann den HMAC verifizéieren an e gefälschte Paket direkt verwerfen, ouni Handshake-Zoustand ze reservéieren oder Aarbecht mam ëffentleche Schlëssel ze maachen. De Schutz deckt och déi éischt Handshake-Paketen of, an genau dofir erschéngt en falsche Schlëssel als feelgeschloen Verbindung an net als spéiten Authentifikatiounsfehler.
Erhéicht d’Verbositét vum Daemon a beobacht de Steierkanal amplaz vum tun-Apparat:
openvpn --config /etc/openvpn/server.conf --verb 6
Wat Dir sicht, ass en HMAC-Verifikatiounsfehler vum Steierkanal, deen op Paketniveau gemellt gëtt, virun all TLS-Warnung. Eng TLS-Warnung am Log bedeit, datt den Emballage akzeptéiert gouf an de Fehler no bannen gewandert ass, wat eng aner Enquête mat enger anerer Léisung ass.
D’Richtungsbehandlung sëtzt och hei. Wann eng statesch Schlësseldatei mat tls-auth benotzt gëtt, huelen déi zwou Säiten entgéintgesat Schlësselrichtungen un, an de Protokoll benotzt dës Deelung, domat e gefaangene Paket net op säi Sender zeréck reflektéiert ka ginn. D’Richtung emdréien hält de Schlëssel identesch an trotzdem feelt all Paket. Ännert eng Säit gläichzäiteg, a start dann béid Daemone nei, domat d’Puer zesummen gelueden gëtt.
Stëmmt Schlëssel, Richtung an Digest op béide Säiten of
Dräi Wäerter musse sech eeneg sinn an nëmmen een dovu ass d’Datei. Den Inhalt vum statesche Schlëssel muss op béide Säiten identesch sinn, d’Richtung muss entgéintgesat sinn, an den Digest, deen fir den HMAC benotzt gëtt, muss passen. Préift d’Konfiguratioun, ier Dir d’Schlësselmaterial beréiert, well eng eenzeg ëmgedréite Richtung méi Fehler erkläert wéi eng beschiedegt Datei:
grep -E 'tls-auth|tls-crypt|key-direction|auth ' /etc/openvpn/server.conf
Generéiert de gedeelte Geheimnis mam Instrument an net mat engem Editeur, a haalt d’Berechtegungen enk:
openvpn --genkey secret /etc/openvpn/ta.key
chmod 600 /etc/openvpn/ta.key
Méi al Versiounen hunn eng liicht aner Optiounsuerdnung fir d’Schlësselgeneratioun akzeptéiert, an d’Profile fir déi Versioune sinn nach ëmmer am Ëmlaf. D’generéiert Datei ass an béide Fäll déiselwecht Aart Objekt, dofir ass d’Préifung, ob béid Säite identesch Byte hunn, an net, wéi eng Schreifweis se gemaach huet.
Verwiesselt tls-auth net mat tls-crypt. Béid schützen de Steierkanal, awer tls-crypt verschlësselt en zousätzlech a verstoppt den Handshake virun Observateuren, an et ersetzt d’Richtungsdeelung duerch seng eege Schlësselbehandlung. E Profil mat deem eenen wäert net mam Géigeniwwer, dat fir deen aneren ageriicht ass, zesummeschaffen, an keng Digest-Ofstëmmung schléisst dës Gruef.
Reproduzéiert en Tag nëmmen aus dem richtege Format
Byte-exakt Reproduktioun ass eng aner Aufgab wéi eng VPN ze bedreiwen, an et fonctionnéiert nëmme mat den echte Inputen: der Implementatioun an der Versioun, déi de Paket gebaut hunn, dem gewielten Digest, der Richtung an de realen Byte, abegraff Sessiounsidentitéit a Bestätegungsarray. Eng textuell Duerstellung vun der Feldlëscht sinn déi Byte net.
D’Längt vum Tag follegt aus dem Digest, dofir brécht d’Uhu vun enger fixer Längt dee Moment, wou een se ännert. Hasht de Paket sou wéi d’Implementatioun et mécht, net sou wéi eng Tabell an engem Blogpost et presentéiert, a vergläicht mat enger Opnam vum selwechte Géigeniwwer an net mat enger Erwaardung, déi Dir vun Hand ofgeleet hutt.
Haalt dës Übung vu Produktiounsprofile fort. Näischt un der Reproduktioun vun engem Tag seet Iech, ob eng Deployement de Schutz soll aschalten.
Huet eng Onstëmmegkeet zréck, ouni de Schutz ewechzehuelen
Den uergende Test ass, tls-auth ze läschen, d’Verbindung gelungen ze gesinn an ze schléissen, de Schlëssel wier falsch. Déi Äntwert kascht Iech de Schutz a léiert näischt driwwer, ween vun den dräi Wäerter net iwwerenee war. Huelt amplaz déi guttgeheescht passend Konfiguratioun vun der Serversäit a vergläicht domat.
Bereet d’Ännerung sou vir, datt se ëmkehrbar ass. Haalt déi viregt Serverkonfiguratioun an d’Schlësseldatei, uwielt dat verbessert Puer, verifizéiert, datt e Client den Handshake fäerdeg mécht, an eréischt dann huet d’Sécherungskopie ewech. Wann d’Cliente nom Änneren feelen, restauréiert déi viregt Dateien amplaz eng drëtt Variant während enger Stéierung ze improviséieren. D’Restauratioun soll een eenzegen Uerder sinn, deen Dir schonn kennt, ier Dir ufänkt.
Erënnert Iech schlussendlech, wat eng bestanene Kontroll heescht. Si beweist, datt d’Géigeniwwer de gedeelte Schlëssel huet, net datt säi Zertifikat oder säi Kont autoriséiert ass, an si seet näischt iwwer den ausgehandelte Chiffre vum Datenkanal. Autorisatioun an Datebschutz ginn méi spéit opgeriicht, dofir ass eng propper Emballagekontroll en Ausgangspunkt an net en Uerteel.