Jo hawwe it sertifikaat weromlutsen, in nije list makke, en it âlde profyl bringt noch altyd in tunnel op. Oan de weromluting sels is neat stikken: in CRL is in ûndertekene ferklearring dat in searjenûmer net mear jildich is, en dy feroaret tagong pas as de komponint dy't TLS beëiniget him laadt, foar de juste útjouwer, foardat er it akseptbeslút nimt. Dêr sit it meastepart fan dizze gefallen, en dêrom binne weromluting en wegering twa ferskillende feiten.

Wurkje de fiif kontrôles hjirûnder yn folchoarder troch, en stop by de earste dy't net hâldt, want elke lettere kontrôle ferûnderstelt dat de eardere wier binne.

Kontrolearje hokker komponint it akseptbeslút nimt

Neam it proses dat it kliïntsertifikaat falidearret, want allinnich dat proses kin in list hanthavenje. Op in OpenVPN-tsjinner is it de daemon sels, konfigurearre mei crl-verify. By ocserv is it de rigel crl yn ocserv.conf. By strongSwan binne de ynfier de laden CRL's tegearre mei strictcrlpolicy. In TLS-beëinigjende proxy of apparaat foar de VPN kin ek de echte ferifiearder wêze, en as dat sa is, sjocht de daemon dêrefter it kliïntsertifikaat nea.

WireGuard heart yn in oare kategory. It hat gjin sertifikaten en gjin weromlutingslist; in peer wurdt talitten op syn publike kaai yn 'e konfiguraasje, dus tagong beëinigje betsjut dy kaai fuorthelje. As jo by in útwreiding mei allinnich WireGuard nei in CRL sykje, is dat meganisme dêr net.

Pas ek op foar de falstrik oan 'e kliïntkant. In kliïnt dy't wegert te ferbinen om't er it tsjinnersertifikaat net lije mei, hanthavet de keatling fan 'e tsjinner en lûkt net syn eigen bewiis werom. In brûkerssertifikaat wurdt allinnich weromlutsen dêr't dat brûkerssertifikaat falidearre wurdt, en dat is hast altyd de tsjinnerkant.

Kontrolearje foar hokker útjouwer de list ûndertekene is

In CRL jildt foar ien útjaande CA. Mei in woartel en in intermediate komme bledsertifikaten fan 'e intermediate, dus de list dy't taak is, is de CRL fan 'e intermediate; de list fan 'e woartel seit neat oer dy blêden. In ferifiearder dy't nei it ferkearde bestân wiist, parsearret it fleurich, fynt gjin passende ynskriuwing en akseptearret alles.

Befêstigje de pearearring foardat jo de daemon oanreitsje. De útjouwer op it sertifikaat moat mei it ûnderwerp fan 'e list oerienkomme:

openssl x509 -in client.crt -noout -issuer -serial
openssl crl  -in intermediate.crl -noout -issuer -lastupdate -nextupdate

As beide fan deselde CA komme, is it searjenûmer dat foar it sertifikaat printe is de wearde dy't yn 'e list ferskine moat. As se net oerienkomme, hâlde jo de ferkearde CRL of de ferkearde kopy dêrfan fêst.

Jildichheid heart by deselde kontrôle. In nextUpdate yn it ferline makket de list ferâldere, en in ferifiearder dy't fail-closed wurket, sil dan elke kliïnt ôfwize ynstee fan allinnich de weromlutsen ien.

Kontrolearje dat it searjenûmer yn 'e kopy sit dy't de daemon laden hat

Weromluting skriuwt in ynskriuwing yn 'e CA-databank, en opnij generearjen skriuwt in nij bestân. Gjin fan beide aksjes berikt in rinnende daemon dy't de âlde kopy by it opstarten laden hat. Stjit de list út en sykje it searjenûmer:

openssl crl -in intermediate.crl -noout -text | grep -i -A2 'Serial Number'
openssl ca -revoke client.crt
openssl ca -gencrl -out intermediate.crl

Kontrolearje dan hoe't jo ymplemintaasje it bestân oppakt. OpenVPN lêst in paad dat oan crl-verify jûn is ien kear by it opstarten, dus in nije list freget om in werstart of in werstartsinjaal; deselde opsje nei in map wiisd, wurdt by elke ferbining opnij lêzen, en dêrom bestiet de mapmodus. strongSwan moat syn bewizen werlaadzje, bygelyks mei swanctl --load-creds. Dat it bestân op skiif korrekt is en dat de ferifiearder it brûkt, binne twa ferskillende feiten.

Kontrolearje it belied foar in ûntbrekkende of ferfallen list

Dit is it beslút dat in protte útwreidingen nea eksplisyt nimme, en it bepaalt oft weromluting jo beskermet of elkenien bûtenslút. Fail-closed betsjut dat gjin brûkbere weromlutingsynformaasje in wegering oplevert; fail-open betsjut dat de ferifiearder sûnder dy ynformaasje trochgiet. strongSwan biedt de kar as strictcrlpolicy. OpenVPN mei crl-verify wegert te starten op in bestân dat it net lêze of parsearje kin, en in ferfallen list ferskynt as in TLS-ferifikaasjeflater oer in ferfallen CRL ynstee fan as in stil akseptearjen.

State of the revocation dataFail-closed resultFail-open result
List missing or unreadableVerification fails, so expect an outageEvery client connects, including the revoked one
List past nextUpdateValidation errors until a fresh list is deployedOld status is trusted indefinitely
Revoked serial present in the loaded listHandshake rejected for that certificateHandshake rejected for that certificate

Hokker rjochting jo ek kieze, de automatisearring telt mear as de kar: in taak dy't de CRL foar nextUpdate opnij generearret, en in warskôging as de ynsette kopy âlder wurdt, hâlde elk belied derfan in ynsidint te wurden. Online kontrôle mei OCSP ferpleatst de aktualiteit nei in responder, mar deselde regel jildt, want in ferifiearder dy't net konfigurearre is om it antwurd te kontrolearjen, feroaret neat.

Kontrolearje de aktive sesje, dan de kopyen fan 'e kaai

Weromluting wurdt evaluearre by sertifikaatfalidaasje, dy't plakfynt by it ferbinen en by it opnij ûnderhanneljen. In festige sesje bliuwt rinne oant er opnij ûnderhannelet, en de standert fan OpenVPN is ien kear yn 'e oere mei reneg-sec 3600. As de persoan no fan it netwurk ôf moat, beëinigje dan de sesje en publisearje de list, en befêstigje dêrnei dat de werferbining wegere wurdt.

Skied it bewiis fan syn kopyen. In profyl op ien laptop fuorthelje stopet in oare kopy fan deselde partikuliere kaai net mei autentisearjen; weromluting is wat elke kopy nutteleas makket, en pas as de eardere kontrôles hâlde. Jou in ferfangend apparaat syn eigen sertifikaat, sadat ien weromlutsen wurde kin sûnder de oare oan te reitsjen.

Foardat jo it dien neame: de falidearjende komponint is identifisearre, de útjouwer fan 'e list komt oerien mei de útjouwer fan it blêd, it weromlutsen searjenûmer sit yn 'e kopy dy't de daemon echt laden hat, it belied foar ûntbrekkende of ferfallen listen is bewust en monitord, en de aktive sesje is beëinige ynstee fan ôfwachte. De formaten dêrefter steane yn RFC 5280.

Relatearre artikelen