O fagi lé ìwé-ẹ̀rí náà, o ṣẹ̀dá àkọsílẹ̀ tuntun, àmọ́ profáìlì àtijọ́ ṣì ń gbé tunnel kan ró. Fífi fagi lé kò já: CRL jẹ́ gbólóhùn tí a fọwọ́ sí pé nọ́mbà ìtẹ̀lentẹ̀lẹ kò tún wúlò, ó sì ń yí àwọn àǹfààní padà nígbà tí ẹ̀yà tí ń parí TLS bá gbé e wọlé, fún olùgbéjáde tí ó tọ́, kí ó tó ṣe ìpinnu ìtẹ́wọ́gbà. Ibẹ̀ ni ọ̀pọ̀lọpọ̀ irú àwọn ọ̀ràn báyìí wà, ìdí nìyẹn tí fífi fagi lé àti kíkọ̀ yàtọ̀ síra.

Lọ gbà àwọn ìgbésẹ̀ àyẹ̀wò márùn-ún tí ó wà nísàlẹ̀ ní ìtẹ̀sí, kí o sì dúró ní èyí àkọ́kọ́ tí kò bá ṣe, nítorí ẹ̀kọ̀ọ̀kan tí ń bọ̀ ń gbà pé àwọn ti ṣáájú tọ̀nà.

Ṣàyẹ̀wò ẹ̀yà wo ni ó ń ṣe ìpinnu ìtẹ́wọ́gbà

Dárúkọ ìlànà tí ń ṣàyẹ̀wò ìwé-ẹ̀rí aládàáni, nítorí ìlànà yẹn nìkan ló lè mú àkọsílẹ̀ ṣẹ. Ní orí àpótí OpenVPN ìgbà ni daemon fúnra rẹ̀, tí a ṣètò pẹ̀lú crl-verify. Nínú ocserv ó jẹ́ ìlà crl nínú ocserv.conf. Nínú strongSwan àwọn ìwọlé ni CRL tí a gbé wọlé pẹ̀lú strictcrlpolicy. Proxy tàbí ẹ̀rọ tí ń parí TLS níwájú VPN lè jẹ́ olùṣàyẹ̀wò gidi pẹ̀lú, àti bí ó bá rí bẹ́ẹ̀, daemon tí ó wà lẹ́yìn rẹ̀ kò rí ìwé-ẹ̀rí aládàáni rárá.

WireGuard wà nínú ẹ̀ka mìíràn. Kò ní ìwé-ẹ̀rí, kò sì ní àkọsílẹ̀ fífi fagi lé; a gba peer pẹ̀lú kọ́kọ́rọ́ gbangba rẹ̀ nínú ìṣètò, nítorí náà pípa àǹfààní dúró túmọ̀ sí yíyọ kọ́kọ́rọ́ yẹn kúrò. Bí o bá ń wá CRL nínú ìfilélẹ̀ tí ó ní WireGuard nìkan, ẹrọ yẹn kò sí níbẹ̀.

Ṣọ́ra fún tẹ́ńpìlì ní ẹ̀gbẹ́ aládàáni pẹ̀lú. Aládàáni tí ó kọ̀ láti sopọ̀ nítorí kò fẹ́ràn ìwé-ẹ̀rí àpótí ń mú ìdè àpótí ṣẹ, kì í fagi lé àmì-ìdánimọ̀ tirẹ̀. Ìwé-ẹ̀rí olùmúlò ni a ń fagi lé níbẹ̀ tí a ti ń ṣàyẹ̀wò ìwé-ẹ̀rí olùmúlò yẹn, àti pé ìyẹn fẹ́rẹ̀ẹ́ jẹ́ ẹ̀gbẹ́ àpótí nígbà gbogbo.

Ṣàyẹ̀wò fún olùgbéjáde wo ni a fi àkọsílẹ̀ náà fọwọ́ sí

CRL ní ààlà sí CA kan tí ń gbé jáde. Pẹ̀lú gbòǹgbò àti agbẹ̀gẹ̀, àwọn ìwé-ẹ̀rí ewé wá láti ọ̀dọ̀ agbẹ̀gẹ̀, nítorí náà àkọsílẹ̀ tí ó ṣe pàtàkì ni CRL agbẹ̀gẹ̀; àkọsílẹ̀ gbòǹgbò kò sọ nǹkan kan nípa àwọn ewé yẹn. Olùṣàyẹ̀wò tí a tọ́ sí fáìlì tí kò tọ́ yóò ṣàyẹ̀wò rẹ̀ pẹ̀lú ìdùnnú, kò ní rí àkọsílẹ̀ tí ó bá mu, yóò sì gba gbogbo rẹ̀.

Jẹ́rìí ìbámu kí o tó fi ọwọ́ kan daemon. Olùgbéjáde lórí ìwé-ẹ̀rí gbọdọ̀ bá subject àkọsílẹ̀ mu:

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

Nígbà tí àwọn méjèèjì bá wá láti CA kan, nọ́mbà ìtẹ̀lentẹ̀lẹ tí a tẹ̀ fún ìwé-ẹ̀rí ni iye tí ó gbọdọ̀ farahàn nínú àkọsílẹ̀. Bí wọn kò bá bá mu, o di CRL tí kò tọ́ tàbí ẹ̀dà tí kò tọ́ rẹ̀ mú.

Wíwúlò wà nínú àyẹ̀wò kan náà. nextUpdate nínú ìgbà tí ó ti kọjá ń sọ àkọsílẹ̀ di àtijọ́, olùṣàyẹ̀wò tí ó kùnà ní pípadé yóò kọ̀ gbogbo aládàáni dípò ẹni tí a fagi lé nìkan.

Ṣàyẹ̀wò pé nọ́mbà ìtẹ̀lentẹ̀lẹ wà nínú ẹ̀dà tí daemon gbé wọlé

Fífi fagi lé ń kọ àkọsílẹ̀ sínú ibi-ìpamọ́ CA, àtúnṣe ń kọ fáìlì tuntun. Kò sí èyí tí ó dé ọ̀dọ̀ daemon tí ń ṣiṣẹ́ tí ó gbé ẹ̀dà àtijọ́ wọlé nígbà ìbẹ̀rẹ̀. Yọ àkọsílẹ̀ jáde kí o sì wá nọ́mbà ìtẹ̀lentẹ̀lẹ:

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

Lẹ́yìn náà ṣàyẹ̀wò bí ìmúṣe rẹ ṣe ń gba fáìlì náà. OpenVPN ń ka ipa tí a fún crl-verify ní ẹ̀ẹ̀kan nígbà ìbẹ̀rẹ̀, nítorí náà àkọsílẹ̀ tuntun nílò àtúnbẹ̀rẹ̀ tàbí àmì àtúnbẹ̀rẹ̀; àṣàyàn kan náà tí a tọ́ sí folda ni a ń kà lẹ́ẹ̀kan sí i ní gbogbo ìsopọ̀, ìdí nìyẹn tí ipò folda fi wà. strongSwan gbọdọ̀ tún àwọn àmì-ìdánimọ̀ rẹ̀ gbé wọlé, fún àpẹẹrẹ pẹ̀lú swanctl --load-creds. Fáìlì tí ó tọ́ lórí disiki àti bí olùṣàyẹ̀wò ṣe ń lò ó jẹ́ òtítọ́ méjì tí ó yàtọ̀.

Ṣàyẹ̀wò ìlànà fún àkọsílẹ̀ tí ó sọnù tàbí tí ó ti pẹ̀

Èyí ni ìpinnu tí ọ̀pọ̀lọpọ̀ ìfilélẹ̀ kì í ṣe ní gbangba rárá, ó sì ń pinnu bóyá fífi fagi lé ń dáàbò bò ọ́ tàbí ń tì gbogbo ènìyàn mọ́ òde. Fail-closed túmọ̀ sí pé láìsí ìsọfúnni fífi fagi lé tí ó ṣeéṣe, ìkọ̀ yóò ṣẹlẹ̀; fail-open túmọ̀ sí pé olùṣàyẹ̀wò ń tẹ̀síwájú láìsí rẹ̀. strongSwan ń fi àṣàyàn hàn gẹ́gẹ́ bí strictcrlpolicy. OpenVPN pẹ̀lú crl-verify kọ̀ láti bẹ̀rẹ̀ lórí fáìlì tí kò lè kà tàbí ṣàyẹ̀wò, àkọsílẹ̀ tí ó ti pẹ̀ yóò sì farahàn gẹ́gẹ́ bí àṣìṣe àyẹ̀wò TLS nípa CRL tí ó ti pẹ̀ dípò gbígba ní ìdákẹ́jẹ́ẹ́.

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

Ọ̀nà yòówù tí o bá yàn, ìmúra-ẹni-lójú ṣe pàtàkì ju àṣàyàn lọ: iṣẹ́ tí ń tún CRL ṣe kí nextUpdate tó dé, àti ìkìlọ̀ nígbà tí ẹ̀dà tí a fi sílẹ̀ bá ń gbó, ń dáàbò bo ìlànà méjèèjì kí wọ́n má bàa di ìṣẹ̀lẹ̀. Àyẹ̀wò orí ayélujára pẹ̀lú OCSP ń gbé ìtuntun sí olùdáhùn, ṣùgbọ́n ìlànà kan náà ni ó wà, nítorí olùṣàyẹ̀wò tí a kò ṣètò láti ṣàyẹ̀wò ìdáhùn kò yí nǹkan kan padà.

Ṣàyẹ̀wò ìpàdé tí ń ṣiṣẹ́, lẹ́yìn náà àwọn ẹ̀dà kọ́kọ́rọ́

A ń ṣàyẹ̀wò fífi fagi lé nígbà àyẹ̀wò ìwé-ẹ̀rí, èyí tí ń ṣẹlẹ̀ nígbà ìsopọ̀ àti nígbà ìdúnàádúrà tuntun. Ìpàdé tí ó ti wà yóò ń lọ títí yóò fi ṣe ìdúnàádúrà tuntun, àti ìpín àkọ́kọ́ OpenVPN ni ẹ̀ẹ̀kan ní wákàtí pẹ̀lú reneg-sec 3600. Bí ẹni náà bá gbọdọ̀ jáde kúrò nínú nẹ́tíwọ́kì báyìí, parí ìpàdé náà pẹ̀lú ìgbéjáde àkọsílẹ̀, lẹ́yìn náà jẹ́rìí pé a kọ̀ ìsopọ̀tún.

Ya àmì-ìdánimọ̀ kúrò nínú àwọn ẹ̀dà rẹ̀. Pípa profáìlì rẹ́ lórí kọ̀m̀pútà gbé-n-dé kan kò dá àbò bo ẹ̀dà mìíràn ti kọ́kọ́rọ́ àdáni kan náà láti ṣe ìjẹ́rìí; fífi fagi lé ni ó ń sọ gbogbo ẹ̀dà di aláìlèṣeéṣe, àti nígbà tí àwọn àyẹ̀wò àtẹ̀yìnwá bá ṣe nìkan. Fún ẹ̀rọ àrọ́po ẹ̀dà ìwé-ẹ̀rí tirẹ̀ kí a lè fagi lé ọ̀kan láìfi ọwọ́ kan èkejì.

Kí o tó sọ pé ó ti parí: a ti dárúkọ ẹ̀yà tí ń ṣàyẹ̀wò, olùgbéjáde àkọsílẹ̀ bá olùgbéjáde ewé mu, nọ́mbà ìtẹ̀lentẹ̀lẹ tí a fagi lé wà nínú ẹ̀dà tí daemon gbé wọlé níti gidi, ìlànà fún àwọn àkọsílẹ̀ tí ó sọnù tàbí tí ó ti pẹ̀ wà ní ìmọ̀ọ́nú àti ní àbójútó, àti pé a parí ìpàdé tí ń ṣiṣẹ́ dípò kí a dúró dè é. Àwọn ọ̀nà ìkọ̀wé tí ó wà lẹ́yìn gbogbo èyí ni a ṣàlàyé nínú RFC 5280.

Àwọn àpilẹ̀kọ tó jọra