Joku perui varmenteen CA-konsolissa, ja nyt käyttäjä ei voi yhdistää. Ensimmäinen vaisto on etsiä kumoaminen, eikä sitä useimmissa PKI-järjestelmissä ole: peruutus on sarjanumerosta ilmoitettu tosiasia, ja tuettu paluutie on uusi varmenne, ei käännetty tietue. Käy alla olevat tarkistukset järjestyksessä läpi, koska sallittu korjaus riippuu syykoodista ja siitä, oliko avain koskaan paljastunut.

Tunnista varmenne, älä henkilö

Yleiset nimet toistuvat. Käyttäjällä, joka rekisteröityi uudelleen viime neljänneksellä, voi olla kaksi varmenteet samalla CN:llä ja eri sarjanumeroilla, ja toisen peruuttaminen jättää toisen toimimaan. Selvitä ensin tarkka objekti:

openssl x509 -in client.crt -noout -serial -issuer -subject -dates
openssl crl -in ca.crl -noout -text | head -40

Kirjoita ylös sarjanumero, myöntäjä, peruutuspäivä ja CRL:ään kirjattu syy. Vahvista sitten, mitkä laitteet esittävät kyseisen sarjanumeron, koska peruutettu varmenne voi olla yhä asennettu kannettavaan tietokoneeseen, puhelimeen ja varareitittimeen, ja korvaava varmenne, joka saavuttaa vain yhden niistä, aiheuttaa toisen tapauksen.

Nopea käyttäytymistarkistus vahvistaa tilan muuttamatta mitään:

openssl verify -crl_check -CAfile ca.crt -CRLfile ca.crl client.crt

Jos se ilmoittaa varmenteen peruutetuksi, CRL ja asiakas ovat samaa mieltä; jos se vahvistuu puhtaasti, kädessäsi oleva asiakas ei ole peruutettu, ja etsintä jatkuu.

Tarkista, käyttikö CA keskeytystä vai pysyvää peruutusta

RFC 5280 määrittelee certificateHold tilapäiseksi tilaksi ja removeFromCRL signaaliksi, joka vapauttaa sen. Tämä elinkaari on todellinen, mutta se ei ole yleinen kumoamispainike. Syykoodin lukeminen kertoo, oliko myöntäjä koskaan tarkoittanut tukea vapauttamista.

Ansa on olettaa, että tilapäinen aikomus tarkoittaa tilapäistä tietuetta. Jos CA-tietueessa on keyCompromise tai cessationOfOperation, varmenne on pysyvästi peruutettu riippumatta siitä, mitä painiketta painanut henkilö aikoi. Päinvastoin, tietue, joka on merkitty certificateHold, CA:lla, joka ei toteuta keskeytyksen vapautusta, on käytännössä pysyvä, koska mikään ei koskaan julkaise vapautusta.

OpenSSL-pohjaiset CA:t havainnollistavat rajan. Komento ca hyväksyy -crl_reason-arvoja, mukaan lukien certificateHold ja removeFromCRL, mutta ei luo delta-CRL:iä — OpenSSL CA -dokumentaatio mainitsee tämän rajoituksen CRL-tulosteelleen. Täysi CRL, joka yksinkertaisesti jättää sarjanumeron pois, on erilainen julkaisumalli kuin delta, joka sanoo "tämä tietue on vapautettu", joten removeFromCRL-arvon liittäminen OpenSSL-pohjaiseen VPN-CA:han ei tuota standardien määrittelemää vapautusta.

Jos avain on saattanut paljastua, vaihda se

Peruutettu varmenne on ilmoitus siitä, että tähän avaimeen ei ehkä voi enää luottaa. Jos peruutus oli asiallisesti oikea — kannettava tietokone katosi, avain kopioitiin jaetulle levylle, yksityinen avain liitettiin tikettiin — saman varmenteen palauttaminen kääntää päinvastaiseksi turvapäätöksen, joka toimi tarkoitetulla tavalla.

Myönnä uusi avainpari rekisteröintiprosessin kautta, jaa uusi profiili ja jätä vanha sarjanumero peruutetuksi koko sen elinkaaren ajaksi. Päivitä kaikki, mikä kiinnittää identiteetin sarjanumeroon tai sormenjälkeen, mukaan lukien pääsyluettelot, laiteinventaariot ja valvonta, joka odottaa tiettyä varmennetta.

Mukavuusargumentti vanhan palauttamiseksi on todellinen, mutta siihen pitää vastata nimenomaisesti, ei hiljaa. "Käyttäjä tarvitsee pääsyn tänään" on syy nopeuttaa myöntämistä, ei syy perua avaimen peruutusta, josta et voi vastata.

Jos kyse oli hallinnollisesta virheestä, vaihda valvotusti

Kun peruutus oli yksinkertaisesti väärä eikä avain ollut koskaan paljastunut, korjaus on silti valvottu vaihto eikä muokkaus. Käytä myöntäjän tuettua prosessia, pidä sarjanumero ja myöntöhistoria ehjänä ja vältä kahta houkuttelevaa oikotietä: tilamerkinnän kääntäminen tiedostossa index.txt arvosta R takaisin arvoon V ja myöntörivin poistaminen, jotta uusi varmenne voi käyttää sarjanumeron uudelleen.

OpenSSL-CA:ssa tietokanta on sarkaineroteltu ja helposti väärin luettavissa, mikä tekee käsin muokkaamisesta houkuttelevaa:

awk -F'\t' '$1=="R" {print $4, $3, $6}' index.txt

Lue sitä, älä kirjoita sitä. Tiedoston muokkaaminen muuttaa seuraavaa CRL:ää ilman mitään auditointijälkeä, ja mikä tahansa toinen CA-instanssi tai varmuuskopio, jolla on vielä alkuperäinen rivi, on myöhemmin eri mieltä sen kanssa.

Kun olet myöntänyt korvaavan varmenteen, julkaise tuore CRL tavallisen mekanismin kautta ja anna asiakkaiden noutaa se. CRL:n poistaminen, sen eliniän lyhentäminen olemattomaksi tai peruutuksen tarkistuksen poistaminen käytöstä asiakasprofiilissa korjaa yhden käyttäjän heikentämällä kaikkia muita peruutuksia, joita CA on koskaan julkaissut.

Vahvista tuore pääsy ja säilytä tietue

Testaa uudella yhteydellä, älä istunnolla, joka oli jo auki. Elävä tunneli ei välttämättä suorita uudelleen niitä pääsyn tarkistuksia, jotka tuore kättely tekee, ja CRL-välimuistit tarkoittavat, että asiakas voi jatkaa yhdistämistä, kunnes se päivittyy. Katkaise, yhdistä uudelleen ja vahvista palvelimen lokista, mikä sarjanumero hyväksyttiin.

Kirjaa, mitä tapahtui, kun se on vielä tuoretta: mikä sarjanumero peruutettiin, kenen toimesta, millä syyllä, mikä korvaava varmenne myönnettiin ja milloin CRL julkaistiin uudelleen. Juuri tämä tietue mahdollistaa seuraavan peruutuksen tarkastelun, ja se on myös todiste siitä, että virhe käsiteltiin eikä piilotettu.

Käytä tulevaisuudessa lyhyisiin keskeytyksiin pääsyn keskeytysmekanismia, jos käyttöönotossa on sellainen — identiteettikerroksessa poistettu käyttötili käytöstä, poistettu ryhmäjäsenyys, pidätetty asiakasprofiili. Se pitää tilapäisen käytäntöpäätöksen erillään kysymyksestä, onko myönnetty varmenne yhä luotettava, ja juuri se ero katosi ensimmäisellä kerralla.

Aiheeseen liittyvät artikkelit