Certbot inaripoti usasishaji uliofanikiwa, faili kwenye diski zina tarehe mpya, na wateja bado wanakutana na utambulisho wa zamani. SoftEther huweka cheti chake cha SSL cha seva katika usanidi wake wa ngazi ya seva, kwa hivyo faili mpya kwenye diski haibadilishi chochote hadi jani na ufunguo wake viingizwe. Mfululizo ulio hapa chini unashughulikia uingizaji mmoja wa mkono, kifuniko kinachokimbia baada ya kila usasishaji, na ukaguzi unaosoma kile msikilizaji anachowasilisha kwa kweli. Kila hatua huacha ushahidi unaoweza kulinganisha baada ya usasishaji unaofuata.

Faili iliyosashwa haibadilishi utambulisho wa seva

Utoaji na usambazaji ni matukio tofauti yenye mbinu tofauti za kushindwa. Mteja wa ACME huandika faili kwenye saraka ya ukoo na kurekodi mafanikio; SoftEther huendelea kutumia cheti kilichopakiwa mwisho kwenye usanidi wake. Hivyo hali ya kutoka sifuri inaelezea faili, si huduma, na hizi mbili zinaweza kutokubaliana mradi hakuna anayeangalia. Chukua uingizaji kama hatua ya usambazaji na usasishaji kama ingizo lake.

Tofauti hiyo pia inaeleza kushindwa kwa nusu kunakochanganya: cheti cha zamani kinaendelea kufanya kazi hadi kuisha kwake, kwa hivyo mwanzoni hakuna kinachoonekana kimevunjika. Kinapoisha, wateja wote hushindwa kwa wakati mmoja, jambo ambalo linaonekana kama kukatika badala ya hatua ya usambazaji iliyokosekana. Kukagua utambulisho unaowasilishwa baada ya kila usasishaji hubadilisha mshangao huo kuwa uchunguzi wa kawaida.

Chagua changamoto inayofaa msikilizaji

Cheti lazima kitaje mwenyeji ambao wateja huthibitisha, kwa hivyo tumia jina la DNS la umma badala ya lebo ya ndani au anwani. HTTP-01 inahitaji changamoto ijibiwe kwenye lango 80 kwa muda mfupi, ambayo ni msikilizaji wa muda na kamwe si sababu ya kuhamisha lango la SoftEther yenyewe. DNS-01 huthibitisha udhibiti kupitia rekodi na haihitaji HTTP inayoingia hata kidogo.

Usasishaji usio na uangalizi unamaanisha muunganiko wa DNS wenye kiotomatiki na vitambulisho vilivyowekwa kwenye eneo moja, si rekodi ya TXT inayoandikwa kwa mkono kila baada ya miezi miwili. Wildcard hubadilisha aina ya changamoto, si hitaji la uendeshaji huo wa kiotomatiki. Amua hili kabla ya cheti cha kwanza kuwepo, kwa sababu kubadilisha aina ya changamoto baadaye kunamaanisha kugusa usanidi wa mteja na ukuta wa moto pamoja.

Weka artefacts katika mpangilio ukiwa hapa. Jani na vyeti vya kati huja kama faili tofauti na kama faili moja ya mnyororo iliyounganishwa, ufunguo wa faragha ni tofauti tena, na uingizaji unahitaji mnyororo wenye ufunguo unaolingana, si cheti cha umma peke yake.

Leta mnyororo katika ngazi ya seva

Tengeneza nakala rudufu ya usanidi wa seva na uthibitishe kwamba bado unafikia kiolesura cha usimamizi kabla ya kugusa cheti. Unganisha kama msimamizi wa seva na si msimamizi wa Virtual Hub, kwa sababu cheti ni mali ya kitu cha seva. Kisha pakia mnyororo na ufunguo kwa njia kamili, kutoka faili ambazo akaunti inayotekeleza amri inaweza kusoma. Kumbuka kwamba njia ni kamili kwa sababu amri huzitatua kutoka saraka ya kazi ya mchakato ulioendesha vpncmd:

ServerCertSet /LOADCERT:/etc/letsencrypt/live/vpn.example.com/fullchain.pem /LOADKEY:/etc/letsencrypt/live/vpn.example.com/privkey.pem

Soma matokeo ya amri badala ya kudhani mafanikio, kisha soma tena mnyororo badala ya kuamini faili uliyotoa. Mpaka kati ya build zinazoingiza kifurushi kizima cha PEM na build zinazochukua cheti cha kwanza tu haujaandikwa mahali pamoja, kwa hivyo ukaguzi ndio unaoamua hilo kwa build iliyo mbele yako. Hesabu vyeti ambavyo msikilizaji anawasilisha; jani lisilo na vya kati ni sahihi ya muingizaji aliyetumia kizuizi cha kwanza tu.

Weka ufunguo ulioungizwa uweze kusomwa na akaunti inayoendesha seva peke yake, na weka neno la siri la usimamizi nje ya historia ya shell. Katika uingizaji huu wa kwanza, andika neno la siri kwenye kidokezo badala ya kulipitisha kama hoja ya amri. Tabia hizi mbili hazigharimu chochote na huondoa njia ya kawaida zaidi ambayo usambazaji wa cheti huvujisha kitu ambacho kilipaswa kulinda. Fanya hivyo kabla ya uingizaji wa kwanza, si baada yake.

Unganisha usambazaji, si usasishaji

Uingizaji wa mkono unapofanya kazi, weka hatua hizo hasa katika kifuniko kidogo na kiite kutoka kwa mteja wa ACME baada ya usasishaji uliofanikiwa. Certbot huweka RENEWED_LINEAGE na RENEWED_DOMAINS kwa ndoano, kwa hivyo kifuniko kinaweza kufanya kazi kwenye cheti kimoja kwenye mashine inayosimamia kadhaa. Chuja kwa ukoo badala ya kuitikia kila usasishaji kwenye mwenyeji. Kifuniko ni msimbo wa usambazaji unaokimbia kwa mamlaka ya seva, kwa hivyo kisome upya kama skripti nyingine yoyote katika nafasi hiyo.

certbot renew --deploy-hook /usr/local/sbin/softether-deploy.sh

Ndoano inayokimbia bila uangalizi inahitaji hazina yake ya vitambulisho iliyolindwa na ishara ya kushindwa inayomfikia mtu. Ikiwa utoaji utafanikiwa na uingizaji ukashindwa, jaribu tena uingizaji badala ya kuomba cheti kingine, kwa sababu ombi la pili huficha kasoro ya usambazaji nyuma ya faili mpya. Nyaraka za Certbot kuhusu usasishaji zinasema wazi kwamba uendeshaji usioboresha chochote ni matokeo ya kawaida, kwa hivyo ndoano ndiyo inayotofautisha hivyo viwili.

Linganisha mnyororo uliowasilishwa na faili

Soma msikilizaji, si diski. Unganisha kwenye lango linaloelekea wateja kwa jina la seva ambalo wateja hutumia, kisha linganisha alama ya kidole na mnyororo uliotolewa na ukoo ambao ndoano iliweka. Amri mbili zinashughulikia hilo, na ya kwanza pia inaonyesha kama vyeti vya kati hufika kabisa:

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com -showcerts </dev/null 2>/dev/null | grep -c 'BEGIN CERTIFICATE'
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -dates -fingerprint -sha256

Kisha tengeneza muunganisho mpya wa mteja, kwa sababu vikao vilivyoanzishwa kabla ya uingizaji vilithibitishwa dhidi ya utambulisho wa awali na havithibitishi chochote kuhusu ule mpya. Ikiwa wateja wanabandika jani la zamani, wanahitaji usasishaji ulioratibiwa hata wakati mnyororo wa umma ni halali, na kazi hiyo ni ya runbook moja na usasishaji. Proksi ya kinyume mbele ya huduma inaweza kuwasilisha cheti kizuri wakati msikilizaji wa VPN bado anashikilia kile cha zamani, na ndiyo sababu ukaguzi lazima utaje lango ambalo wateja wanafika kweli. Andika alama ya kidole kando ya tarehe ya usasishaji, ili ulinganisho ujao uwe ukaguzi na si tendo la kumbukumbu.

Makala zinazohusiana