Font APT de VPN: què atorga i com limitar-la
Una font APT de VPN és un permís permanent, no una baixada. Limiteu la clau a aquesta font, llegiu la transacció i escriviu el pas de retirada abans d’afegir-la.
Baixar un client VPN és una decisió única; afegir-ne el repositori APT no ho és. El segon diu al gestor de paquets d’on poden venir futurs programes, cosa que és una transferència permanent d’autoritat i no una baixada. Pot ser l’arranjament correcte quan el proveïdor manté el repositori adequadament. Tot i així mereix una decisió deliberada, i la majoria de guies d’instal·lació la salten.
Una signatura autentica un arxiu, no el seu codi
APT verifica les metadades signades del repositori i després confia en les sumes de comprovació d’aquestes metadades per als paquets que baixa. El que això demostra és que l’arxiu coincideix amb el que va publicar el titular de la clau, i res sobre el codi que conté. Un paquet signat correctament encara pot portar scripts de mantenidor insegurs, i aquests scripts s’executen com a root mentre s’instal·la el paquet. El manual d’apt-secure traça exactament aquesta línia entre l’autenticació de l’arxiu i una revisió del programari.
Així, la pregunta útil no és si la signatura valida, ja que una signatura trencada atura la instal·lació igualment. És de qui trieu confiar en la signatura a partir d’ara. Una clau de signatura robada és pitjor que un paquet robat, perquè l’atacant continua produint metadades vàlides molt després de la primera versió dolenta. La rotació és l’única reparació, i depèn que el proveïdor publiqui una clau nova per un canal que pugueu verificar de manera independent.
Per això la identitat de la clau mereix tanta atenció com l’URL del repositori. Una clau presa d’una adreça en una resposta antiga d’un fòrum no estableix res sobre l’editor, mentre que HTTPS protegeix el transport fins a qui va respondre al telèfon. La seguretat del transport i la identitat de l’editor són qüestions separades, i només la primera es resol amb un certificat.
Limiteu la clau a la font, no al sistema
L’APT modern accepta una referència Signed-By específica de la font. Una clau gestionada per l’operador pot viure a /etc/apt/keyrings/, i l’entrada de la font anomena la clau que pot autenticar aquell arxiu. Això és més estret que abocar la mateixa clau en un conjunt de confiança global, on pot avalar fonts que mai no volíeu permetre. Seguiu la versió d’APT instal·lada i les instruccions actuals del proveïdor en lloc de barrejar fragments de diferents generacions de guies.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listNo repareu mai un error de signatura desactivant la verificació ni marcant com a fiable un arxiu desconegut. Això canvia un error visible per un d’invisible, i l’invisible dura fins que algú audita la llista de fonts. Si la clau no coincideix, la correcció correcta és trobar la clau correcta, no treure la comprovació.
Obteniu els detalls del repositori i la identitat de la clau del projecte o d’un administrador gestionat. Una clau copiada d’una entrada de blog és una afirmació sobre l’autoria, no una prova. Quan un proveïdor publica un canal de rotació, anoteu-lo alhora que la clau, perquè aquest canal és el que fa possible la rotació següent.
Fixar la font no és una llista blanca de paquets
Restringir una clau a una font limita quin arxiu pot autenticar, no quins paquets pot publicar aquest arxiu. El repositori pot enviar molt més que el client VPN que volíeu, i la selecció de candidats i les prioritats de l’APT decideixen quina versió elegible guanya. Reviseu la transacció proposada abans de confirmar-la, inclosa la llista de dependències, perquè les dependències arriben del mateix arxiu. L’abast d’una clau no pot expressar ’només aquest paquet’.
Si necessiteu un control més fort, expresseu-lo com a política sobre noms o versions de paquets i manteniu aquesta política sota gestió de configuració. Llegir una transacció costa un minut; descobrir un paquet inesperat sis mesos després costa una revisió.
Els paquets inesperats són el moment d’aturar-se i no de continuar, i la pregunta per al propietari de l’arxiu és per què calen. Un repositori que publica una dotzena de paquets al voltant d’un client és normal per a un proveïdor que envia una suite d’escriptori. També és una superfície més gran del que implicava la guia d’instal·lació, i aquesta és la part que val la pena enregistrar. Cap dels dos resultats no és motiu per desconfiar de la signatura; tots dos són motius per escriure què heu acceptat.
Enregistreu l’autoritat i com retirar-la
Escriviu el propietari de l’arxiu, la versió del sistema operatiu admesa, el canal de rotació de la clau i el procediment de retirada. Aquests quatre fets són el que necessita un successor quan el client es retira o el proveïdor rota la seva clau. Sense ells, la persona següent hereta una línia de fonts i un fitxer de clau sense cap història.
La retirada és el pas que es descuida, així que escriviu-lo en el moment d’instal·lar. Suprimiu l’entrada de la font i la seva clau dedicada alhora, i comproveu si aquella clau es referencia en algun altre lloc abans de suprimir el fitxer. Una clau compartida suprimida sense aquesta comprovació converteix una neteja en una caiguda no relacionada, que és el pitjor resultat per a un canvi rutinari. Després confirmeu que les actualitzacions ordinàries encara es resolen un cop l’entrada ha desaparegut.
Una cosa queda després de retirar el repositori: qualsevol paquet ja instal·lat des d’ell continua funcionant fins que alguna cosa el substitueix. La pregunta honesta és quina autoritat vau afegir, i amb quina estretor es va expressar el seu paper.