Programu yako ya VPN hukagua nini kabla ya kuamini cheti
Pitia onyo la cheti kupitia milango minne ambayo mteja wako hukagua: imani ya CA, ujenzi wa mnyororo, jina na madhumuni ya mwenzake, na sera ya kufuta.
Mteja wako wa VPN anasema cheti hakikuweza kuthibitishwa, na mazungumzo yanaishia hapo. Faili ipo, seva inafanya kazi, na wasifu huo ulifanya kazi kwenye laptop nyingine mwezi uliopita. Chini ya onyo hilo la mstari mmoja mteja alipitisha cheti cha mwenzake kupitia milango minne: mamlaka ya vyeti uliyoisanidi inathibitisha njia ya sahihi, njia hiyo inafika kwa mamlaka, jina la mwenzake ni lile uliloomba, na cheti kinatumika sasa kwa madhumuni haya. Tafuta mlango uliofungwa na ukarabati kwa kawaida ni faili moja; ruka hatua hiyo na utaingiza tena vifurushi mchana kweupe.
Soma mazungumzo kabla ya kuhariri wasifu
Makosa ya cheti huundwa na maktaba iliyo chini, si bidhaa ya VPN uliyosakinisha, kwa hiyo mfuatano kamili ni ushahidi wako wa kwanza. «Haiwezi kupata cheti cha mtoaji wa ndani» inaelekeza kwenye njia au kwenye nanga ya imani. «Cheti kimeisha muda au bado si halali» inaelekeza kwenye muda. «Madhumuni ya cheti hayatumiki» yanaelekeza kwenye matumizi yaliyopanuliwa ya ufunguo. Kutokulingana kwa jina kunakuambia jina lililohitajika. Hakuna hata moja kati ya manne inayorekebishwa kwa kusakinisha upya mteja.
Pandisha kiwango cha ukaguzi kabla ya kubadilisha kitu chochote. OpenVPN huripoti kushindwa kwa uthibitishaji karibu na kupeana mkono unapoiendesha na --verb 4, na strongSwan huandika maamuzi yake ya utambulisho na mnyororo kwenye kumbukumbu ya charon. Kisha thibitisha ni cheti kipi unachokagua, kwa sababu watu kwa kawaida hujaribu faili iliyo kwenye diski wakati wasifu unaingiza nakala ya zamani. Wasifu unapoingiza vitalu vya PEM, cheti kilichoingizwa ndicho kinachojaribiwa.
Mamlaka ya vyeti husaini utambulisho, si ruhusa
Mamlaka inashikilia jina na ufunguo wa kusaini. Hutoa vyeti vinavyofunga ufunguo wa umma kwa jina hilo kwa mujibu wa sera yake, pamoja na kipindi cha uhalali na vikwazo vya matumizi. Mteja wako anahitaji cheti cha mamlaka tu ili kumtambua mtoaji; hahitaji kamwe ufunguo wa kusaini, na kutuma ufunguo huo kwa wateja kungewapa uwezo wa kuunda utambulisho wowote ambao usambazaji unaamini.
Kuamini mamlaka hufanya kila cheti ilichosaini kuwa mtarajiwa, si mwenzake sahihi. Cheti cha seva ya wavuti kutoka CA hiyo hiyo ya ndani pia ni mtarajiwa. Ndiyo sababu milango ya jina na madhumuni ipo, na ndiyo sababu ufunguo wa CA uliovunjwa ni muhimu zaidi kuliko seva yoyote moja: unafikia kila utambulisho ambao mamlaka iliwahi kutoa. Toa vyeti vya wateja kwa kila kifaa, ili laptop iliyopotea iwe kufuta moja badala ya kutengeneza upya funguo kwa usambazaji wote.
Jenga upya njia ambayo mteja anajaribu kuijenga
Njia huanza kutoka cheti cha mwenzake, ikipitia sifuri au zaidi vyeti vya kati, hadi mzizi ulio kwenye hazina yako ya imani. Cheti cha kati kinachokosekana ni hitilafu ya mnyororo inayojulikana zaidi, na kutoka upande wa mteja inaonekana sawa kabisa na mzizi usioaminiwa. Soma jani kwanza, kisha acha OpenSSL ijenge njia kutoka nyenzo unazokusudia kutuma.
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
Hali ya kutoka sifuri inamaanisha njia ilijengwa kutoka faili hizo; kushindwa kunataja cheti ambacho hakikuweza kufikiwa. Ikiwa openssl verify itafanikiwa wakati mteja bado anakataa, tofauti iko katika kile seva inatuma kwa kweli au katika faili ya imani ambayo wasifu hupakia. Katika OpenVPN vyeti vya kati vinaweza kusafiri na faili ya cheti cha seva au kutolewa kando na --extra-certs, na kifurushi kilicho na mizizi miwili iliyoandikwa chini ya jina moja la somo kitamtuma mmoja wa wateja wako kwenye tawi lisilofaa.
Jina na madhumuni ni milango tofauti
Ujenzi wa mnyororo hauji kamwe kama jina ni lako. OpenVPN hukagua tu wakati wasifu unaweka --verify-x509-name, na tabia ya zamani ya kulinganisha jina la kawaida tu huvunjika kwenye vyeti ambavyo utambulisho wake unaishi katika subjectAltName. Usambazaji wa IKEv2 hulinganisha utambulisho uliosanidiwa na maingizo ya SAN au na jina la kutofautisha, kulingana na mteja, na thamani ya wildcard au %any huzima kimyakimya ulinganisho ambao ulidhani unayo.
Kisha huja muda na madhumuni. Laptop ambayo saa yake iko mbele kwa saa chache hukataa cheti ambacho bado si halali, na cheti cha kati kilichoisha muda hushindwa njia wakati jani ni halali. Kushindwa kwa madhumuni hutoka kwenye cheti kisicho na serverAuth katika matumizi yaliyopanuliwa ya ufunguo, au chenye keyUsage isiyoruhusu sahihi ya kupeana mkono, ambayo OpenSSL huiripoti kama madhumuni ya cheti yasiyotumika. Toa tena kutoka kiolezo sahihi; hakuna chochote katika ujumbe huo ambacho ni sababu ya kuzima uthibitishaji.
Kufuta hufanya kazi tu ikiwa mtu alisanidi
CRL au jibu la OCSP halishauriwi kiotomatiki. Kwenye seva ya OpenVPN, vyeti vya wateja hulinganishwa na orodha tu wakati --crl-verify inaelekeza kwenye moja. Ukaguzi wa cheti cha seva upande wa mteja hutegemea utekelezaji na mara nyingi haupo. strongSwan inahitaji programu-jalizi yake ya kufuta na sera kabla ya kuangalia CRL kwa mwenzake.
Hiyo inaeleza tikiti utakayopokea mwishowe: cheti cha mteja kilichofutwa bado kinaunganisha, na kila mtu anahitimisha kuwa kufuta kumevunjika. Hakuna kitu kilikuwa kinakagua. Chapisha na uhuisha CRL, au weka vyeti vya wateja vya muda mfupi vya kutosha kwamba kufuta kwa zamani kuwa na maana kwa muda mfupi, na ufanye mazoezi ya njia ya kufuta kwenye cheti cha maabara kabla ya kuihitaji wakati wa tukio.
Mpangilio wa ukarabati unaoweka uthibitishaji hewani
Panga kwa dalili kabla ya kugusa faili, kwa sababu kila safu ya jedwali inakutuma kwenye kitu tofauti.
| 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 |
Pitia orodha kwa mzunguko mmoja: thibitisha faili ambayo wasifu hupakia, jenga njia wewe mwenyewe, angalia kama seva inatuma cheti cha kati, linganisha saa, soma SAN, soma EKU, kisha unganisha tena na utazame mstari huo huo wa kumbukumbu ukipotea. Ikiwa kifaa hakiwezi kupewa CA kabisa, pinning ndiyo njia mbadala ya uaminifu, kwa sababu OpenVPN 2.6 inakubali --peer-fingerprint na kupunguza imani kwa ufunguo mmoja badala ya kuondoa ukaguzi. RFC 5280 ni rejea ya maana ya kila moja ya sehemu hizo.