Inventari de certificats VPN: què pot demostrar el registre de la CA
Una carpeta del servidor, un registre de la CA, una llista de revocació i una taula de sessions responen preguntes diferents. Mantingueu-los separats quan inventarieu identitats VPN.
La vostra passarel·la accepta un certificat de client que no ha vist mai, perquè allò amb què està configurada és una entitat emissora de confiança, i el certificat arriba durant l’aplec de mans. Així és com el protocol ha de funcionar, i per això mateix un llistat de directori al servidor és un inventari deficient. L’emissor sap què ha creat, el servidor sap què s’hi ha connectat, i l’estat de revocació sap què s’ha retirat. Un inventari que barreja aquests tres registres acaba afirmant una cosa que cap d’ells no ha dit.
La passarel·la confia en un emissor, no en un llistat de fitxers
La validació compara un certificat presentat amb una àncora de confiança, de manera que una identitat creada ahir pel mateix emissor es connecta sense haver existit mai al disc del servidor. No cal copiar res perquè això passi, i ningú no ho ha d’aprovar a mà. Els registres propis del servidor descriuen, doncs, arribades, no la població d’identitats que podrien arribar.
La bretxa inversa és igual de molesta. Un directori pot contenir certificats caducats, revocats i identitats emeses per a dispositius que mai no es van desplegar. Comptar fitxers respon quants fitxers hi ha, que és una pregunta que ningú no ha fet. Comenceu en canvi pels registres que tenen significat.
Quatre preguntes, quatre registres diferents
Cada tipus de registre respon bé una pregunta i malament les altres, i per això un informe que els fusiona sembla complet mentre és incorrecte d’una manera concreta. La taula següent els ordena per la pregunta que resolen i no pel sistema que els produeix.
| Question you are answering | Where the answer lives | How quickly it changes | What it will never show |
|---|---|---|---|
| Was this identity ever created? | The issuer's issuance database | Only when something is issued | Whether the device still exists |
| Is a copy sitting on this host? | The paths you actually inspected | Whenever anyone copies files | Certificates that were never copied here |
| Has the issuer withdrawn it? | Published revocation state | When the issuer next publishes | Withdrawals that are not published yet |
| Is it connected right now? | The live session table | Continuously | Anything about past or future sessions |
Un arxiu de certificats públics no és un secret, ja que no conté claus privades, però tampoc no és per compartir. Els subjectes i els noms de dispositiu revelen detalls operatius, i l’informe ha de quedar-se amb el públic que el necessita. Les claus privades queden completament fora de l’inventari, perquè l’inventari necessita metadades i no credencials.
Emissor més número de sèrie és l’única clau estable
Els subjectes es reciclen i els noms de fitxer es reutilitzen, de manera que un nom que l’any passat identificava un dispositiu ara pot identificar-ne un altre. Cap dels dos no és una clau, i un informe basat en qualsevol d’ells acabarà fusionant dues identitats en una línia.
La parella emissor i número de sèrie identifica un certificat de manera única, i tots dos camps surten del mateix certificat. Enregistreu-los amb el subjecte, les dates de validesa, la font d’on ha vingut la còpia i la persona o el dispositiu responsable. Afegiu l’estat de revocació i de desplegament com a camps separats amb els seus propis temps d’observació, perquè un certificat dins de la seva finestra de validesa no queda autoritzat automàticament. Aquests dos fets viuen en sistemes diferents, i fusionar-los amaga el cas en què una identitat s’ha retirat mentre el seu fitxer encara sembla vigent.
Llegiu un certificat alhora
Un comodí que s’expandeix per un directori no és una interfície per lots, i amaga quin fitxer ha produït quina sortida. Llegiu les metadades certificat a certificat, i llegiu la part de revocació des del seu propi artefacte. La referència d’OpenSSL x509 llista els camps que imprimeixen aquestes opcions.
openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40
Per a un PKI Easy-RSA gestionat, consulteu la base de dades d’emissió a través del flux de treball que l’eina admet en lloc de suposar una disposició de directoris, i manteniu els originals en només lectura mentre es munta l’inventari. El format del registre és prou regular per comptar les entrades vàlides i llistar les retirades sense obrir la base de dades a mà.
grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5
Un inventari que sobreviu a la propera emissió
Un abocament puntual d’un directori queda obsolet en el moment que s’emet el certificat següent, així que construïu l’informe a partir del flux d’emissió i deixeu que s’actualitzi com a part del funcionament normal. Això també fa l’informe reproduïble, cosa que importa quan dues persones discrepen sobre què s’ha emès.
Utilitzeu el resultat per a decisions de renovació i retirada i no com un exercici de full de càlcul. Esborrar una còpia local no invalida les còpies remotes que ja existeixen. Retireu la identitat pel flux de revocació i autorització configurat, i després enregistreu la retirada amb la seva data. Una identitat que ha desaparegut del servidor però que l’emissor encara confia no s’ha retirat, i aquesta diferència separa un inventari exacte d’un que només és tranquil·litzador.