Uudet VPN-kirjautumiset epäonnistuvat, vaikka varmenteet ovat voimassa: tarkista CRL
Kelvollinen asiakasvarmenne ja vanhentunut mitätöintiluettelo ovat kaksi eri objektia kahdella eri kellolla. Lue luettelo, jonka palvelin lataa, ja luo se sitten uudelleen.
Varmenteet, joilla on kuukausia jäljellä, ja kirjautumiset, jotka epäonnistuvat heti, viittaavat kahteen eri objektiin kahdella eri kellolla. Palvelin hylkää yhteydet, koska sen tarkistama mitätöityjen varmenteiden luettelo on ohittanut oman vanhenemispäivänsä, ei siksi että käyttäjien varmenteet olisivat vanhentuneet. Käyttäjän varmenteen uusiminen ei tee mitään tuolle luettelolle.
Kahden aikataulun erottaminen on koko diagnoosi, ja se muuttaa sitä, millainen korjauksen on oltava.
Kaksi kelloa, ja vain toinen niistä on varmenne
Varmenteella on voimassaoloikkuna. Varmenteiden mitätöintiluettelolla on oma ikkunansa sekä julkaisija ja allekirjoitus, ja tarkistajat kieltäytyvät luottamasta luetteloon, jonka seuraavan päivityksen aika on ohitettu. Kun näin käy, asiakas esittää täysin kelvollisen varmenteen ja palvelin katkaisee silti yhteyden luetteloa koskevalla viestillä. Käyttäjät tulkitsevat viestin tarkoittavan, että varmenne on vanhentunut, mikä lähettää uusimispyynnön väärään paikkaan.
Kahdella objektilla on myös eri omistajat: varmenne tulee sen myöntäneeltä CA:lta, kun taas luettelon luo aikataulun mukaan se, joka kyseistä CA:ta ylläpitää. Käyttäjä ei voi päivittää sitä, eikä varmenteiden uudelleenmyöntäminen voi pidentää sitä.
Lue luettelo, jonka palvelu tosiasiallisesti lataa
Aloita käynnissä olevasta konfiguraatiosta enkä odottamastani tiedostosta. crl-verify-polku voi olla absoluuttinen, profiiliin nähden suhteellinen tai kuvaksi leivottu kopio, ja tarkistaja lukee tuota kopiota. Tutki se paikallaan komennolla openssl crl -in /etc/openvpn/crl.pem -noout -issuer -lastupdate -nextupdate ja vertaa päivämääriä palvelimen kelloon.
Vahvista sitten, että tiedosto on todella käytössä oleva: tarkista sen allekirjoitus komennolla openssl crl -in /etc/openvpn/crl.pem -CAfile /etc/openvpn/ca.crt -noout, joka ilmoittaa tarkistustuloksen sen sijaan, että tulostaisi kentät hiljaa. Toisen CA:n allekirjoittama luettelo tai toiseen hakemistoon jäänyt vanhentunut kopio epäonnistuu täsmälleen kuten vanhentunut luettelo.
Luo uudelleen mitätöintitietokannasta, älä tyhjästä
Uuden luettelon on tultava CA:n nykyisestä mitätöintitietokannasta hyväksytyn allekirjoitusprosessin kautta. Tyhjän luettelon luominen tai hakemiston vanhasta varmuuskopiosta uudelleen luominen kumoaa hiljaa jokaisen kyseisen varmuuskopion jälkeen lisätyn identiteetin mitätöinnin. Tämä muuttaa kirjautumiskatkoksen tietoturvan taantumaksi, eikä kukaan huomaa sitä, koska oire katoaa.
Pidä luontivaihe versionhallinnassa CA-työkalujen kanssa, jotta väli ja allekirjoitusavain dokumentoidaan eikä muisteta. Runbook-merkintä, jossa nimetään komento, allekirjoittaja ja julkaisukohde, riittää. Sitten kuka tahansa päivystyksessä voi luoda uudelleen arvaamatta, mikä hakemistotiedosto on määräävä. Tallenna luettelon sarjanumero ja seuraavan päivityksen aika käyttöönoton tietueen kanssa.
Käytä käyttöön siellä, missä tarkistaja katsoo
Kopioi uusi luettelo polkuun, jota palvelu lukee, aseta omistajuus ja tila niin, että palvelutili voi lukea sen mutta muut eivät, ja lataa tai käynnistä uudelleen dokumentoidun toiminnan mukaisesti. Jos daemon tallentaa luettelon välimuistiin käynnistyksessä, tiedoston korvaaminen ilman uudelleenlatausta ei muuta mitään, mitä käynnissä oleva prosessi huomaisi. Vahvista aikaleima, jonka prosessi ilmoittaa uudelleenlatauksen jälkeen.
Jos useat palvelut tarkistavat asiakkaita, käytä sitä jokaisessa niistä. Yhden päätepisteen päivittäminen ja toisen jättäminen vanhaan kopioon tuottaa vian, joka näkyy vain niille käyttäjille, jotka päätyvät toiselle. Pidä lyhyt luettelo näistä päätepisteistä samassa runbookissa. Käyttöönoton jälkeen tarkista jokaisen ilmoittama luettelopäivämäärä sen sijaan, että olettaisit kopion saapuneen.
Tee seuraava määräaika näkyväksi ennen kuin se ohittuu
Pidempi julkaisuväli vähentää tämän tapauksen tiheyttä luomatta prosessia. Valitse väli operaattorin käytännöstä ja hälytä sitten käyttöönotetun luettelon seuraavan päivityksen kentästä riittävällä varoitusajalla uudelleen luomista ja käyttöönottoa varten. Hälytä käyttöönotetusta kopiosta, ei CA-isännästä, koska käyttöönotettu kopio on se, joka epäonnistuu.
Käyttöönoton jälkeen tarkista molemmat suunnat: sallittu käyttäjä yhdistää ja tunnettu mitätöity identiteetti epäonnistuu edelleen. Toinen tarkistus on se, joka nappaa puutteellisen uudelleenluonnin, ja se vaatii yhden komennon testiprofiilia vastaan, jota pidät juuri tätä tarkoitusta varten.