Wat Äre VPN-Client prüft, ier en engem Zertifikat vertraut
Féiert eng Zertifikatswarnung duerch déi véier Paarten, déi Äre Client prüft: CA-Vertrauen, Kettebau, Peernumm an -zweck, an d’Revocatiounspolitik.
Äre VPN-Client seet, den Zertifikat konnt net verifizéiert ginn, an den Dialog hält do op. D’Datei ass do, de Server leeft, an deeselwechte Profil huet de leschte Mount op engem aneren Laptop funktionéiert. Ënner där Warnung vun enger Zeil huet de Client den Zertifikat vum Peer duerch véier Paarten agesat: eng Zertifikatsautoritéit, déi Dir konfiguréiert hutt, biergt fir de Signaturwee, dee Wee erreecht d’Autoritéit, den Peernumm ass deen, deen Dir gefrot hutt, an den Zertifikat ass elo fir dësen Zweck benotzbar. Fannt d’Paart, déi sech zougemaach huet, an d’Reparatur ass meeschtens eng Datei; iwwerspréngt dee Schrëtt an Dir importéiert de ganze Nomëtteg Bündel nei.
Liest den Dialog, ier Dir de Profil ännert
Zertifikatsfeeler gi vun der Bibliothéik ënnen drun formuléiert, net vum VPN-Produkt, deen Dir installéiert hutt, dofir ass dee geneeë String Ären éischte Beweis. «Lokalen Ausstellerzertifikat kann net geholl ginn» weist op de Wee oder op den Vertrauensanker. «Den Zertifikat ass ofgelaf oder nach net gülteg» weist op d’Zäit. «Net ënnerstëtzten Zertifikatszweck» weist op de verlängerte Schlësselgebrauch. Eng Nummdiskrepanz seet Iech, wéi en Numm en wollt. Keen vun de véier gëtt duerch eng Neiinstallatioun vum Client reparéiert.
Hieft d’Logging, ier Dir eppes ännert. OpenVPN mëllt de Verifikatiounsfehler ëm den Handshake, soubal Dir et mat --verb 4 ausféiert, an strongSwan schreift seng Identitéits- a Ketteentscheedungen an de charon-Log. Bestätegt duerno, wéi en Zertifikat Dir ënnersicht, well d’Leit routineméisseg d’Datei op der Plack testen, während de Profil eng méi al Kopie abett. Wann de Profil PEM-Bléck abett, ass den agebetteten Zertifikat deen, deen getest gëtt.
Eng Zertifikatsautoritéit ënnerschreift Identitéiten, net Permissiounen
D’Autoritéit hält en Numm an e Signaturschlëssel. Si stellt Zertifikater aus, déi e ëffentleche Schlëssel no hirer eegener Politik un deen Numm binden, mat engem Gültegkeetsfenster a Gebrauchsrestriktiounen. Äre Client brauch just den Zertifikat vun der Autoritéit, fir den Aussteller ze erkennen; hien brauch ni de Signaturschlëssel, an dee Schlëssel un Clienten ze liwweren géif hinnen d’Méiglechkeet ginn, all Identitéit ze fabrizéieren, där d’Deployement vertraut.
Engem Autoritéit ze vertrauen mécht all Zertifikat, deen si ënnerschriwwen huet, zum Kandidat, net de richtegen Peer. En Webserver-Zertifikat vun der selwechter interner CA ass och e Kandidat. Dofir ginn et d’Numm- an Zweckpaarten, an dofir ass e kompromittéierte CA-Schlëssel méi wichteg wéi all eenzege Server: hien erreecht all Identitéit, déi d’Autoritéit jeemools ausgestallt huet. Gitt Clientzertifikater pro Apparat aus, sou datt e verluerene Laptop eng Revocatioun ass an net eng Schlësselerneierung fir d’ganzt Deployement.
Baut de Wee nei op, deen de Client versicht ze bauen
De Wee geet vum Peer-Zertifikat, duerch null oder méi Zwëschenzertifikater, bis op eng Wuerzel an Ärem Vertrauensspäicher. En fehlenden Zwëschenzertifikat ass dee heefegste Kettefehler, an aus Clientsiicht gesäit en genau sou aus wéi eng net vertrauenswürdeg Wuerzel. Liest fir d’éischt d’Blat, a loosst duerno OpenSSL de Wee aus dem Material bauen, deen Dir wëllt liwweren.
openssl x509 -in server.crt -noout -subject -issuer -dates
openssl verify -CAfile root.crt -untrusted intermediate.crt server.crt
openssl verify -show_chain -CAfile root.crt -untrusted intermediate.crt server.crt
Exitstatus null bedeit, datt de Wee aus deenen Dateie gebaut gouf; e Fehler nennt den Zertifikat, deen en net erreecht huet. Wann openssl verify geléngt, während de Client nach ëmmer refuséiert, läit den Ënnerscheed doran, wat de Server tatsächlech schéckt oder a wéi enger Vertrauensdatei de Profil lued. An OpenVPN kënnen Zwëschenzertifikater an der Serverzertifikatsdatei matrieden oder separat mat --extra-certs geliwwert ginn, an e Bündel mat zwou Wuerzelen ënnert demselwechten Subjektnumm schéckt ee vun Äre Clienten an de falschen Aascht.
Numm an Zweck si getrennt Paarten
De Kettebau freet ni, ob den Numm Ären ass. OpenVPN prüft en nëmmen, wann de Profil --verify-x509-name setzt, an déi méi al Gewunnecht, nëmmen den allgemengen Numm ze passen, brécht bei Zertifikater, deenen hir Identitéiten am subjectAltName liewen. IKEv2-Deployementer passen déi konfiguréiert Identitéit mat SAN-Andräg oder mam ënnerscheedlechen Numm, jee no Client, an e Wildcard- oder %any-Wäert schalt de Verglach, vun deem Dir geduecht hutt, Dir hätt en, roueg aus.
Duerno kommen Zäit an Zweck. E Laptop, deem seng Auer e puer Stonnen vir ass, lehnt en Zertifikat of, deen nach net gülteg ass, an en ofgelafene Zwëschenzertifikat léisst de Wee feelen, während d’Blat aktuell ass. Zweckfeeler kommen vun engem Zertifikat ouni serverAuth am verlängerte Schlësselgebrauch, oder mat engem keyUsage, dee d’Handshake-Signatur net erlaabt, wat OpenSSL als net ënnerstëtzten Zertifikatszweck mëllt. Stellt aus der richteger Schabloun nei aus; näischt an där Noriicht ass e Grond, d’Verifikatioun auszeschalten.
Revocatioun leeft nëmmen, wann een se konfiguréiert huet
Eng CRL oder eng OCSP-Antwert gëtt net automatesch consultéiert. Op engem OpenVPN-Server ginn Clientzertifikater nëmmen dann mat enger Lëscht verglach, wann --crl-verify op eng weist. D’Clientseite-Prüfung vum Serverzertifikat hänkt vun der Implementatioun of a fehlt dacks. strongSwan brauch säi Revocatiouns-Plugin an eng Politik, ier et fir e Peer an eng CRL kuckt.
Dat erkläert den Ticket, deen Dir schlussendlech kritt: e revozéierten Clientzertifikat verbënnt sech nach ëmmer, an all kommen zum Schluss, d’Revocatioun ass futti. Näischt huet geprüft. Verëffentlecht a frëscht d’CRL op, oder haalt d’Clientzertifikater kuerz genuch lieweg, datt eng verouderte Revocatioun nëmme kuerz zielt, an übt de Revocatiounswee op engem Laborzertifikat, ier Dir en während engem Tëschefall braucht.
Eng Reparaturuerdnung, déi d’Verifikatioun unhält
Sortéiert no Symptom, ier Dir Dateien ufässt, well all Zeil vun der Tabell Iech op en aneren Objet schéckt.
| Client says | Most likely gate | First check |
|---|---|---|
| unable to get local issuer certificate | trust anchor or missing intermediate | your own openssl verify against the files the profile loads |
| expired or not yet valid | validity window | leaf and intermediate dates against the device clock |
| unsupported certificate purpose | extended key usage | serverAuth present, keyUsage allows the handshake |
| name mismatch | peer identity | subjectAltName entries versus the profile name |
Maacht d’Lëscht an engem Duerchgang: bestätegt d’Datei, déi de Profil lued, baut de Wee selwer, prüft, datt de Server den Zwëschenzertifikat schéckt, vergläicht d’Auer, liest den SAN, liest den EKU, verbënnt Iech dann nei a kuckt, wéi déiselwecht Logzeil verschwënnt. Wann engem Apparat guer keng CA ka ginn, ass Pinning déi éierlech Alternativ, well OpenVPN 2.6 --peer-fingerprint akzeptéiert an d’Vertrauen op ee Schlëssel enkert, amplaz d’Prüfung ewechzehuelen. RFC 5280 ass d’Referenz fir wat all eenzel vun deene Felder bedeit.