Certbot ilmoittaa onnistuneesta uusinnasta, levyllä olevissa tiedostoissa on uudet päivämäärät, ja asiakkaat kohtaavat yhä vanhan identiteetin. SoftEther pitää SSL-palvelinvarmennettaan omassa palvelintason kokoonpanossaan, joten uusi tiedosto levyllä ei muuta mitään ennen kuin lehtivarmenne ja sen avain on tuotu. Seuraava sarja kattaa yhden käsin tehdyn tuonnin, kääreen joka ajetaan jokaisen uusinnan jälkeen, ja tarkistuksen joka lukee mitä kuuntelija tosiasiassa esittää. Jokainen vaihe jättää todisteita, joita voit verrata seuraavan uusinnan jälkeen.

Uusittu tiedosto ei muuta palvelimen identiteettiä

Myöntäminen ja käyttöönotto ovat erillisiä tapahtumia, joilla on erilliset vikatilat. ACME-asiakas kirjoittaa tiedostot linjan hakemistoon ja kirjaa onnistumisen; SoftEther jatkaa sen varmenteen käyttöä, joka ladattiin viimeksi sen kokoonpanoon. Nollapoistumistila kuvaa siis tiedostoja, ei palvelua, ja ne kaksi voivat olla eri mieltä niin kauan kuin kukaan ei katso. Kohtele tuontia käyttöönottovaiheena ja uusintaa sen syötteenä.

Tämä ero selittää myös hämmentävän puolittaisen epäonnistumisen: vanha varmenne toimii vanhenemiseensa asti, joten aluksi mikään ei näytä rikkinäiseltä. Kun se vanhenee, kaikki asiakkaat epäonnistuvat kerralla, mikä näyttää katkokselta eikä väliin jääneeltä käyttöönottovaiheelta. Esitetyn identiteetin tarkistaminen jokaisen uusinnan jälkeen muuttaa tuon yllätyksen rutiinihavainnoksi.

Valitse kuuntelijalle sopiva haaste

Varmenteen on nimettävä isäntä, jonka asiakkaat vahvistavat, joten käytä julkista DNS-nimeä sisäisen tunnisteen tai osoitteen sijaan. HTTP-01 vaatii, että haasteeseen vastataan hetken ajan portissa 80, mikä on väliaikainen kuuntelija eikä koskaan syy siirtää SoftEtherin omaa porttia. DNS-01 todistaa hallinnan tietueen kautta eikä tarvitse lainkaan saapuvaa HTTP:tä.

Valvomaton uusinta tarkoittaa automatisoitua DNS-integraatiota, jonka tunnukset on rajattu yhteen vyöhykkeeseen, ei käsin kirjoitettua TXT-tietuetta parin kuukauden välein. Jokerimerkki muuttaa haasteen tyyppiä, ei tarvetta tuolle automaatiolle. Päätä tämä ennen kuin ensimmäinen varmenne on olemassa, koska haastetyypin vaihtaminen myöhemmin tarkoittaa asiakaskokoonpanon ja palomuurin koskettamista yhtä aikaa.

Pidä artefaktit järjestyksessä kun olet täällä. Lehtivarmenne ja välivarmenteet tulevat erillisinä tiedostoina ja yhtenä yhdistettynä ketjutiedostona, yksityinen avain on jälleen erillinen, ja tuonti tarvitsee ketjun ja sitä vastaavan avaimen eikä julkista varmennetta yksinään.

Tuo ketju palvelintasolla

Varmuuskopioi palvelimen kokoonpano ja varmista, että pääset yhä hallintaliittymään ennen kuin kosket varmenteeseen. Yhdistä palvelimen ylläpitäjänä etkä Virtual Hub -ylläpitäjänä, koska varmenne kuuluu palvelinobjektille. Lataa sitten ketju ja avain absoluuttisella polulla tiedostoista, jotka komennon suorittava tili voi lukea. Huomaa, että polut ovat absoluuttisia, koska komento ratkaisee ne sen prosessin työhakemistosta, joka suoritti vpncmd:n:

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

Lue komennon tuloste sen sijaan että olettaisit onnistumisen, ja lue sitten ketju takaisin sen sijaan että luottaisit antamaasi tiedostoon. Raja kokonaisen PEM-nipun tuovien buildien ja vain ensimmäisen varmenteen ottavien buildien välillä ei ole dokumentoitu yhdessä paikassa, joten tarkistus ratkaisee sen edessäsi olevalle buildille. Laske varmenteet, jotka kuuntelija esittää; lehti ilman välivarmenteita on sellaisen tuojan allekirjoitus, joka kulutti vain ensimmäisen lohkon.

Pidä tuotu avain luettavana vain palvelinta suorittavalle tilille ja pidä hallintasalasana shellin historiasta poissa. Tässä ensimmäisessä tuonnissa kirjoita salasana kehotteeseen sen sijaan että antaisit sen komentoriviparametrina. Nämä kaksi tapaa eivät maksa mitään ja poistavat yleisimmän tavan, jolla varmenteen käyttöönotto vuotaa jotain, mitä sen piti suojella. Tee se ennen ensimmäistä tuontia, ei sen jälkeen.

Kytke käyttöönotto, ei uusinta

Kun manuaalinen tuonti toimii, laita juuri ne vaiheet pieneen kääreeseen ja kutsu se ACME-asiakkaasta onnistuneen uusinnan jälkeen. Certbot asettaa koukulle RENEWED_LINEAGE ja RENEWED_DOMAINS, joten kääre voi toimia yhdellä varmenteella koneessa, joka hallitsee useita. Suodata linjan mukaan sen sijaan että reagoisit isännän jokaiseen uusintaan. Kääre on käyttöönottokoodia, joka ajetaan palvelimen oikeuksilla, joten tarkista se kuin mikä tahansa muu skripti siinä asemassa.

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

Valvomatta ajettava koukku tarvitsee oman suojatun tunnustensäilytyksen ja ihmiselle asti kantautuvan vikasignaalin. Jos myöntäminen onnistuu ja tuonti epäonnistuu, yritä tuontia uudelleen sen sijaan että pyytäisit toista varmennetta, koska toinen pyyntö kätkee käyttöönoton vian tuoreen tiedoston taakse. Certbotin uusintadokumentaatio on selvä siitä, että ajo joka ei päivitä mitään on normaali lopputulos, joten koukku on se mikä erottaa ne kaksi.

Vertaa esitettyä ketjua tiedostoon

Lue kuuntelija, älä levyä. Yhdistä asiakkaisiin päin olevaan porttiin palvelinnimellä, jota asiakkaat käyttävät, ja vertaa sitten sormenjälkeä ja toimitettua ketjua siihen linjaan, jonka koukku asensi. Kaksi komentoa kattaa sen, ja ensimmäinen näyttää myös saapuvatko välivarmenteet ylipäätään:

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

Tee sitten uusi asiakasyhteys, koska ennen tuontia muodostetut istunnot todennettiin edellistä identiteettiä vastaan eivätkä todista mitään uudesta. Jos asiakkaat kiinnittävät vanhan lehden, ne tarvitsevat koordinoidun päivityksen vaikka julkinen ketju olisi kelvollinen, ja se tehtävä kuuluu samaan runbookiin kuin uusinta. Palvelun edessä oleva käänteinen välityspalvelin voi esittää hyvää varmennetta, kun taas VPN-kuuntelija pitää yhä vanhaa, ja siksi tarkistuksen on nimettävä portti, johon asiakkaat todella pääsevät. Kirjaa sormenjälki uusintapäivämäärän viereen, jotta seuraava vertailu on tarkistus eikä muistinvarainen toimi.

Aiheeseen liittyvät artikkelit