Dues màquines que només es parlen entre elles poden mantenir aquesta topologia i tot i així obtenir claus de trànsit negociades. La forma de la xarxa i el mode de protecció són eleccions independents, i confondre’ls és el que fa que la gent intenti rotar un secret estàtic canviant un fitxer mentre tots dos dimonis continuen en marxa. Canviar el fitxer de claus sota una parella en funcionament no rota res. El mode de clau estàtica, que OpenVPN 2.6 marca com a obsolet, manté una sola clau durant tota la vida del túnel, de manera que el fitxer al disc i la clau en memòria només tornen a coincidir després que tots dos extrems es reiniciïn. Si el requisit és la renovació automàtica, el mode de protecció ha de canviar.

Què no pot fer el mode de clau estàtica

En mode secret, tots dos parells comparteixen una clau prèviament compartida que xifra i autentica el túnel directament. No hi ha cap handshake, així que no hi ha cap mecanisme perquè cap dels dos costats proposi material de clau nou, demostri una identitat o es recuperi d’una discrepància sense intervenció de l’operador. Totes dues propietats deriven de l’absència d’un canal de control i no d’una opció que falti, i cap indicador de configuració n’afegeix un a aquest mode.

El manual de l’OpenVPN 2.6 és explícit que la clau persisteix fins que se’n genera una de nova. Això és acceptable per a un enllaç de laboratori o una parella fixa d’aparells amb un procediment de rotació documentat, i és inacceptable allà on un secret de llarga durada és un risc real. Un canvi de fitxer no crea una clau nova per a una parella en funcionament; crea dos parells que no coincideixen. Substituir el fitxer, per tant, afegeix una interrupció sense afegir rotació.

També no hi ha cap noció d’identitat de parell més enllà de la possessió del fitxer. Qui tingui la clau és un parell, i res al túnel no registra quin costat és quin, així que la revocació és tot o res.

Passar a TLS sense redissenyar l’enllaç

El mode TLS afegeix un canal de control i, amb ell, la capacitat de negociar claus del canal de dades. En un desplegament punt a punt, un costat assumeix el paper de servidor i l’altre el de client, però la topologia continua sent un enllaç entre dos parells: cada costat coneix el punt final de l’altre i no apareix cap pool ni cap servei multiusuari. Els papers són un detall de l’handshake, no una arquitectura nova.

Doneu a cada màquina la seva pròpia identitat. Cada costat necessita un certificat i una clau privada, l’àncora de confiança que valida l’altre i una regla de verificació de parell que anomeni qui s’espera. No reutilitzeu la clau privada d’un parell a l’altre per estalviar temps; això converteix dues identitats en una i elimina la capacitat de revocar qualsevol dels costats per separat. L’enrolament és el lloc per fer-ho bé, perquè arreglar-ho més tard vol dir reemitir certificats.

Manteniu el contracte de xarxa sense canvis mentre la protecció canvia. Les mateixes adreces de túnel, rutes i serveis permesos haurien d’aplicar-se abans i després, de manera que una fallada durant la migració sigui un problema de protecció i no una sorpresa d’encaminament disfressada. Anoteu les adreces i les rutes abans del canvi; comparar-les després és més ràpid que reconstruir-les de memòria.

Alguns desplegaments també protegeixen el canal de control amb la seva pròpia clau estàtica, que no rota amb el canal de dades. Aquesta clau guarda l’handshake i no la càrrega útil, així que comprometre-la exposa la negociació i no el trànsit. Emmagatzemeu-la a part del material del canal de dades i doneu-li una data de substitució que posseeixi una persona concreta. Rotar-la vol dir reiniciar tots dos parells en una finestra coordinada, i per això mereix una entrada al calendari i no un record.

Qui renova què, i quan

En mode TLS, la renovació es regeix per límits configurats: un interval de temps, un recompte de bytes o un recompte de paquets. El control de temps documentat és en què es basa la majoria de desplegaments, i el valor efectiu més baix entre tots dos parells pot iniciar la substitució, així que apujar-lo només en un costat no aturarà l’esdeveniment. Els límits per volum existeixen perquè un enllaç ocupat pot esgotar una clau molt abans que ho faci el rellotge. Cap dels dos límits no és una comprovació de salut i cap no us diu que una renovació hagi reeixit.

Per això diagnosticar una renegociació recurrent a partir d’un sol fitxer de configuració és enganyós. Llegiu els paràmetres dels dos parells i després mireu la transició al registre en lloc de suposar una fallada. Una renovació que es completa netament sembla una ràfega curta de trànsit del canal de control, no una desconnexió.

Manteniu els objectes separats al cap. El certificat demostra identitat a llarg termini i se substitueix segons un calendari que vosaltres controleu. La clau del canal de dades s’actualitza automàticament, i un intercanvi d’autenticació separat, si el desplegament el requereix, segueix la política del compte i pot necessitar els seus propis arranjaments per a intercanvis posteriors.

Desactivar la renovació completament, posant l’interval a zero, no és una solució per a un registre sorollós. Converteix un esdeveniment sa del cicle de vida en una clau permanent, cosa que us torna a la propietat que intentàveu deixar enrere.

Acceptar el canvi

Construeu la configuració nova a partir de l’exemple suportat de la versió instal·lada, no d’un fragment mínim antic els algorismes i camins de fitxers del qual s’han heretat d’algun altre lloc. Coordineu el canvi perquè tots dos parells es modifiquin alhora, i manteniu un camí de recuperació aprovat per si un costat no arrenca. Baixeu l’enllaç deliberadament en lloc d’esperar una interrupció per provar la reversió. Una reversió assajada val més que una reversió descrita.

Proveu tres coses: la verificació inicial d’identitat té èxit, el flux d’aplicació previst funciona i una renovació controlada passa sense perdre trànsit. Després llegiu la transició al registre pel que demostra realment: un identificador de clau nou significa que els parells han completat una substitució, no que el túnel s’hagi tornat a connectar. Tracteu-ho com a evidència d’un pas i comproveu els comptadors de trànsit abans de donar la migració per acabada.

El que una promesa de zero interrupcions amagaria és la fallada que encara no heu vist. Una renovació que falla, un certificat que caduca o un defecte de camí encara poden pertorbar l’enllaç, i cap d’ells no queda descartat per una prova neta. La propietat per la qual val la pena dissenyar és més estreta i més útil: la substitució rutinària de claus deixa de ser un canvi manual de fitxer.

Articles relacionats