Certbot teatab edukast uuendusest, kettal olevad failid kannavad uusi kuupäevi ja kliendid kohtavad endiselt vana identiteeti. SoftEther hoiab oma SSL-serverisertifikaati oma serveritasandi konfiguratsioonis, nii et uus fail kettal ei muuda midagi enne, kui lehtsertifikaat ja selle võti on imporditud. Alljärgnev jada hõlmab ühte käsitsi importi, ümbris, mis jookseb pärast iga uuendust, ja kontroll, mis loeb, mida kuulaja tegelikult esitab. Iga samm jätab tõendid, mida saate pärast järgmist uuendust võrrelda.

Uuendatud fail ei muuda serveri identiteeti

Väljaandmine ja juurutamine on eraldi sündmused eraldi tõrkemustritega. ACME klient kirjutab failid liini kataloogi ja märgib edu; SoftEther kasutab edasi sertifikaati, mis laaditi viimati selle konfiguratsiooni. Seega kirjeldab nulliline väljumisstaatus faile, mitte teenust, ja need kaks võivad lahkneda seni, kuni keegi ei vaata. Käsitlege importi juurutussammuna ja uuendust selle sisendina.

See eristus seletab ka segadust tekitavat pooltõrget: vana sertifikaat töötab kuni aegumiseni, nii et alguses ei tundu miski katki. Kui see aegub, ebaõnnestuvad kõik kliendid korraga, mis näeb välja nagu katkestus, mitte vahele jäetud juurutussamm. Esitatud identiteedi kontrollimine pärast iga uuendust muudab selle üllatuse rutiinseks tähelepanekuks.

Valige väljakutse, mis sobib kuulajaga

Sertifikaat peab nimetama hosti, mida kliendid kontrollivad, seega kasutage avalikku DNS-nime, mitte sisemist silti või aadressi. HTTP-01 nõuab, et väljakutsele vastataks korraks pordil 80, mis on ajutine kuulaja ega ole kunagi põhjus SoftEtheri enda porti liigutada. DNS-01 tõendab kontrolli kirje kaudu ja ei vaja üldse sissetulevat HTTP-d.

Järelevalveta uuendamine tähendab automatiseeritud DNS-integratsiooni ühe tsooni piiratud mandaatidega, mitte käsitsi trükitud TXT-kirjet iga paari kuu tagant. Metamärk muudab väljakutse tüüpi, mitte vajadust selle automatiseerimise järele. Otsustage see enne, kui esimene sertifikaat on olemas, sest väljakutse tüübi hilisem vahetamine tähendab kliendi konfiguratsiooni ja tulemüüri korraga puudutamist.

Hoidke artefaktid korras, kuni olete siin. Lehtsertifikaat ja vahesertifikaadid saabuvad eraldi failidena ja ühe kombineeritud ahelafailina, privaatvõti on jälle eraldi ning import vajab ahelat koos vastava võtmega, mitte avalikku sertifikaati üksi.

Importige ahel serveritasandil

Tehke serveri konfiguratsioonist varukoopia ja kinnitage, et pääsete veel haldusliidesele ligi, enne kui sertifikaati puutute. Ühenduge serveriadministraatorina, mitte Virtual Hubi administraatorina, sest sertifikaat kuulub serveriobjektile. Seejärel laadige ahel ja võti absoluutse tee kaudu failidest, mida käsku käivitav konto saab lugeda. Pange tähele, et teed on absoluutsed, sest käsk lahendab need selle protsessi töökataloogist, mis vpncmd käivitas:

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

Lugege käsu väljundit, selle asemel et eeldada edu, ja seejärel lugege ahel uuesti, selle asemel et usaldada faili, mille edastasite. Piir kogu PEM-paketti importivate buildide ja ainult esimese sertifikaadi võtvate buildide vahel ei ole ühes kohas dokumenteeritud, seega otsustab kontroll selle teie ees oleva buildi jaoks. Loendage sertifikaadid, mida kuulaja esitab; leht ilma vahesertifikaatideta on importija allkiri, kes tarbis ainult esimese ploki.

Hoidke imporditud võti loetav ainult serverit käivitavale kontole ja hoidke haldusparool shelli ajaloost eemal. Selle esimese impordi puhul tippige parool viibale, selle asemel et seda käsurealt argumendina edastada. Need kaks harjumust ei maksa midagi ja kõrvaldavad kõige tavalisema viisi, kuidas sertifikaadi juurutus lekitab midagi, mida see pidi kaitsma. Tehke seda enne esimest importi, mitte pärast seda.

Haakige juurutus, mitte uuendus

Kui käsitsi import töötab, pange täpselt need sammud väikesesse ümbrisse ja kutsuge see ACME kliendist välja pärast edukat uuendust. Certbot seab haagise jaoks RENEWED_LINEAGE ja RENEWED_DOMAINS, seega saab ümbris tegutseda ühe sertifikaadi kallal masinas, mis haldab mitut. Filtreerige liini järgi, selle asemel et reageerida hosti igale uuendusele. Ümbris on juurutuskood, mis jookseb serveri õigustega, seega vaadake see üle nagu iga teine skript selles positsioonis.

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

Järelevalveta jooksev haagis vajab oma kaitstud mandaadihoidlat ja inimesteni jõudvat tõrkesignaali. Kui väljaandmine õnnestub ja import ebaõnnestub, proovige importi uuesti, selle asemel et taotleda teist sertifikaati, sest teine taotlus peidab juurutustõrke värske faili taha. Certboti uuendamise dokumentatsioon ütleb selgelt, et jooks, mis ei uuenda midagi, on tavaline tulemus, seega eristab haagis neid kahte.

Võrrelge esitatud ahelat failiga

Lugege kuulajat, mitte ketast. Ühenduge kliendipoolse pordiga serverinimega, mida kliendid kasutavad, ja võrrelge seejärel sõrmejälge ja tarnitud ahelat liiniga, mille haagis paigaldas. Kaks käsku katavad selle ja esimene näitab ka, kas vahesertifikaadid üldse saabuvad:

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

Seejärel looge uus kliendiühendus, sest enne importi loodud sessioonid autentiti eelmise identiteedi vastu ega tõenda uue kohta midagi. Kui kliendid kinnitavad vana lehe, vajavad nad koordineeritud uuendust isegi siis, kui avalik ahel on kehtiv, ja see ülesanne kuulub samasse runbooki kui uuendus. Teenuse ees olev pöördproksi võib esitada head sertifikaati, samal ajal kui VPN-i kuulaja hoiab veel vana, ja seetõttu peab kontroll nimetama pordi, kuhu kliendid tegelikult jõuavad. Kirjutage sõrmejälg uuenduskuupäeva kõrvale, et järgmine võrdlus oleks kontroll, mitte mäluakti.

Seotud artiklid