DH-Fichier oder tls-auth-Schlëssel? Zwee OpenVPN-Fichieren ënnerscheeden
Een Fichier hält ëffentlech Gruppeparameter, deen aneren ass gedeelt geheime Material. Dräi Konditiounen entscheeden, zu wéi enger Direktiv jiddwereen gehéiert.
Zwee Fichieren, zwou Direktiven an d'Gewunnecht, béid no deem ze nennen, wat si konfiguréieren. Sou landt en dh.pem op enger tls-auth-Linn an de Client schléit mat enger Noriicht iwwer en onerwaarte Schlësselformat feel. D'Entscheedung virun Iech ass net, wéi en Fichier méi staark ass. Si ass, wéi eng Roll d'Deployment tatsächlech brauch, an dräi Konditiounen entscheeden dat: wéi en Schlësselaustausch Ären TLS-Stack verhandelt, ob Dir iwwerhaapt eng Authentifikatioun vum Steierkanal wëllt, an ob d'Material geheim muss bleiwen.
Äntwert se an der Rei an d'Fichiersfro äntwert sech selwer. Loos se aus an d'Direktivennimm fänken un, austauschbar auszesinn, wat genee deen Zoustand ass, aus deem de Feeler entsteet.
Lies d'Etikett virum Fichiersnumm
Déi éischt Linn vum Fichier seet méi wéi säin Numm, well en Numm eng mënschlech Konventioun ass an d'Etikett vum Tool produzéiert gëtt. Diffie-Hellman-Parameter droen eng PEM-Etikett BEGIN DH PARAMETERS. En OpenVPN-Static-Key ass eng ganz aner Struktur, mat sengem eegene Kapp an hexadezimale Payload.
Ëmbenennen konvertéiert näischt. E Parameterfichier mam Numm ta.key ass nach ëmmer Parameter, an e stattesche Schlëssel mam Numm dh.pem ass nach ëmmer e statesche Schlëssel; de Parser liest den Inhalt an hält d'Onstëmmegkeet of. Kontrolléiert ier Dir de Profil ännert:
head -n 1 dh.pem
head -n 1 ta.keyDräi Konditiounen, déi entscheeden, wéi en Fichier Dir braucht
Déi éischt Konditioun ass den Austausch. En Diffie-Hellman-Handshake an engem endleche Feld brauch eng Grupp, an d'Direktiv dh ass dee Punkt, wou de Server d'Parameter dofir nennt. En Handshake iwwer eng elliptesch Curve brauch dee Fichier guer net, well d'Curve d'Parametergrupp ass. Wann Äre Server nëmme mat ECDHE-Suiten verhandelt, ass en DH-Fichier doudeg Gewiicht amplaz zousätzlech Kraaft.
Déi zweet Konditioun ass d'Authentifikatioun vum Steierkanal, eng separat Funktioun mat hirem eegene Material. En tls-auth-Fichier ass e gedeelte statesche Schlëssel, deen déi zwou Säiten halen, benotzt fir d'Pakete vum Steierkanal ze ënnerschreiwen, domat eng net-authentifizéiert Säit den Handshake net emol fäerdeg maache kann. Et gëtt en, egal ob Dir DH an engem endleche Feld benotzt oder net, an en huet näischt mat de Gruppeparameter ze dinn.
Déi drëtt Konditioun ass Geheimhaltung an Distributioun. DH-Parameter dierfe publizéiert ginn, ouni d'Sitzung ze schwächen, well déi geheim Wäerter pro Handshake generéiert ginn an d'Säiten ni verloossen. En statesche Schlëssel däerf net publizéiert ginn: et sinn déi selwecht Byten op béide Säiten, en dréit sech net vu selwer, an jiddweree mat him ka gëlteg Ënnerschrëfte vum Steierkanal produzéieren. Déi zwou Äntwerten weisen op ganz ënnerschiddlech Ëmgangsregele hin, dofir kann deen een Fichier an engem Repository leien an deen aneren net.
Produzéiert dat richtegt Material fir all Roll
Benotzt dat Tool, dat de Format produzéiert, deen d'Direktiv erwaart, amplaz tëschent hinnen ëmzekonvertéieren. Fir de gedeelte Schlëssel op OpenVPN 2.6 nennt déi getypte Form vum Generator den Zweck explizit.
openvpn --genkey tls-auth ta.keyDee Kommando erstellt neit geheimt Material; en reparéiert oder inspizéiert keen existente Schlëssel, an en nach eng Kéier lafe léisst Iech en anere Schlëssel, deen déi aner Säiten net hunn. Kopéiert de resultéierende Fichier op d'Säiten, déi en brauchen, duerch eng Kanäl, déi Dir fir all gedeelte Geheimnis géift benotzen, a halt d'Richtungskonventioun konsequent: mat tls-auth benotzt eng Säit key-direction 0 an déi aner key-direction 1.
DH-Parameter kommen, wann Dir se braucht, aus der Parametergeneratioun an net aus engem Schlësselgenerator, an hirem Urspronk ass wichteg och wann den Output ëffentlech ass. Eng Grupp aus enger onbekannter Quell gëtt net vertrauenswierdeg, well se ëffentlech ass; se muss nach ëmmer eng Grupp sinn, iwwer déi Är Säiten eens sinn, an eng, déi net duerch hir Gréisst oder Konstruktioun geschwächt gëtt.
Wat dh none bedeit an wat net
dh none ass eng richteg Direktiv mat enger enker Bedeitung: kee Parameterfichier fir en endlecht Feld gëtt gelueden, well den Handshake Diffie-Hellman iwwer eng elliptesch Curve benotzt. Et ass keng Kuerzform fir „de DH-Schrëtt iwwersprangen“ am Sënn vun eppes ze schwächen, an et seet OpenVPN sécher net, en anere Fichier als Ersatz ze akzeptéieren.
Aus dem falsche Liesen folgen zwee Feeler. Den éischten ass unzehuelen, dh none hiewe géif d'Bedierfnes un tls-auth op, woubäi déi zwou verschidden Saache steieren. Den zweeten ass eng veraltete dh-Linn nieft enger nëmme-Curve-Konfiguratioun ze halen an dann ze froen, wéi en Fichier de Server tatsächlech benotzt; wann d'Direktiv do ass, gëtt de Fichier gelies, an en broche Wee do léisst den Start aus engem Grond feelen, deen näischt mam auszehandelnde Austausch ze dinn huet.
Wann de falsche Fichier schonn ausgerullt ass
Stell de geduechte Geheimnis vum Profilbesëtzer erëm hier a loos d'Zertifikatsverifikatioun a Rou, wärend Dir dat maacht. De Feeler ass eng Formatinongruenz, keen Trauensfeeler, an d'Verifikatioun auszeschalten, fir de Feeler ze ëmgoen, ersetzt e Startprobleem duerch e stille Problem.
Dann trenn déi zwou Evenementer, déi d'Leit gären zesummenwerfen. En DH-Parameterfichier ze publizéieren ass bal harmlos, well d'Parameter vum Design hier ëffentlech waren. De Schlëssel tls-auth opzedecken ass en anert Evenement: de Schlëssel authentifizéiert d'Pakete vum Steierkanal fir all Säit, déi en hält, dofir muss den Ersatz iwwer de ganzen Deployment koordinéiert ginn amplaz op engem eenzegen Host ugewannt.
Eng Kontroll vu fënnef Minutten entscheet, a wéi engem Fall Dir sidd: lies déi éischt Linn vun all Fichier, bestäteg d'Direktiv, déi drop verweist, a bestäteg, datt d'Distributioun vum Fichier deem entsprécht, wat d'Material verlaangt. Dat ass eng méi kleng Aarbecht wéi eng funktionéierend PKI nei ze erstellen, an dat ass et, op wat d'dräi Konditiounen déi ganzen Zäit gewisen hunn.