Aquesta clau OpenVPN publicada és una CA, una clau de parell o tls-auth?
Una paraula, tres objectes molt diferents. Llegiu la directiva, decidiu si la filtració és material de confiança o material d’identitat i repareu només el que s’ha filtrat.
Algú informa que la clau VPN és pública, i aquesta frase amaga tres situacions completament diferents. Pot ser un certificat de CA que tots els clients haurien de tenir, una clau d’identitat privada que no hauria d’haver sortit mai d’una màquina, o bé un secret compartit del canal de control que els dos extrems han de conservar. La reparació, la urgència i l’abast de l’impacte difereixen en cada cas, així que la primera tasca és la classificació i no l’acció. Si equivoqueu la categoria, cada pas posterior serà un esforç inútil.
Comenceu per la directiva, no pel nom del fitxer
Llegiu la configuració activa i trobeu quina directiva apunta al material en qüestió. Les opcions TLS d’OpenVPN fan servir ca per al material de certificat de confiança, cert per al certificat del parell local i key per a la clau privada que li correspon.
Els noms dels fitxers no demostren res. Un fitxer anomenat key.pem pot contenir un certificat, i un bloc incrustat al perfil pot contenir exactament el mateix objecte que un fitxer separat al disc. Obriu el fitxer i mireu-ne la capçalera en lloc de confiar en el nom. Aquesta sola comprovació elimina la major part de l’ambigüitat de l’informe.
Si el perfil és un paquet PKCS#12, desempaqueteu-lo en un lloc controlat per veure què conté realment. Un sol paquet pot portar un certificat, la seva cadena i una clau privada, cosa que significa que la filtració del paquet és la filtració de tots tres.
Escriviu la classificació abans que ningú canviï cap fitxer: objecte, directiva, quins parells el tenen i qui el pot llegir. D’aquesta frase depèn la resta de la resposta.
Un certificat de CA està dissenyat per compartir-se
Un certificat de CA públic és material de confiança. Els clients el necessiten per verificar el servidor, i distribuir-lo és el cas normal i no un incident. Publicar-lo no publica la clau privada de signatura de la CA, que és l’objecte que permetria a un atacant crear identitats noves.
Val la pena explicitar aquesta distinció al tiquet, perquè les dues coses es confonen constantment. La pregunta que cal respondre és si el fitxer filtrat és el certificat o la clau de signatura, i una ullada ràpida al contingut del fitxer ho resol. Un certificat porta una clau pública i una signatura; la clau de signatura no hi apareix en absolut.
La distribució encara mereix cura. Els clients haurien d’obtenir el certificat pel camí aprovat de lliurament de perfils, no d’un lloc on enganxar-lo, i un certificat que arriba per una ruta no fiable es pot substituir en trànsit.
Una clau de parell i un secret tls-auth no són
La clau privada d’un parell és material d’identitat. Un cop copiada, el servidor ja no pot distingir el dispositiu previst de qualsevol que tingui la còpia, perquè la possessió exclusiva era la propietat que es demostrava. Continuar l’autorització i la substitució són decisions del propietari del VPN, no de qui ha trobat el fitxer.
Un secret tls-auth és una tercera cosa. Afegeix autenticació HMAC al voltant dels paquets del canal de control perquè els que no estan autenticats correctament es descartin abans d’un intercanvi TLS, i no és ni la clau privada del parell ni la clau que xifra les dades de l’aplicació.
Si aquest secret compartit és públic, la barrera que oferia ha desaparegut per a tothom qui el té. No se’n segueix que cada posseïdor superi les comprovacions de certificat i d’usuari que hi ha al darrere, i per això la classificació importa més que el nivell d’alarma. Digueu quina barrera ha caigut i digueu quines queden.
Repareu el rol que s’ha filtrat, no un de veí
Un secret compartit no es pot tornar a fer privat canviant el nom del fitxer o amagant l’enllaç de descàrrega. Substituir vol dir generar un valor nou i distribuir-lo a cada parell en un canvi coordinat, i substituir només una banda trenca l’acord per a tothom qui encara té el valor antic.
Si s’ha exposat la identitat d’un parell, feu servir el procés de revocació i de reenrolament de l’operador per a aquesta identitat. Canviar la contrasenya d’un compte no relacionat no invalida un certificat copiat, i intercanviar el fitxer tls-auth tampoc.
Confirmeu què aplica realment el servidor desplegat abans de confiar en qualsevol d’aquestes coses. Una llista de revocació que no s’actualitza, o una comprovació de rol que es va desactivar durant una caiguda, canvien del tot la resposta. Llegiu la configuració en execució i no la còpia del repositori.
Jutgeu el trànsit passat amb els seus propis termes
Un fitxer exposat no diu per si sol si les sessions capturades anteriorment es poden desxifrar. Això depèn del mètode d’establiment de claus, del material exposat i de quins registres existeixen, i tant ‘tot el trànsit s’ha perdut’ com ‘no ha passat res’ són conjectures sense aquestes dades.
No publiqueu una altra còpia de la credencial mentre pregunteu a quina categoria pertany. Compartiu en canvi els noms de les directives i les metadades no secretes pel camí de suport aprovat.
La conclusió útil anomena l’objecte, el seu rol, la protecció que s’ha perdut i l’acció coordinada necessària. Qualsevol cosa més curta és un titular i no una avaluació.