La vostra clau VPN la pot llegir tothom: què cal corregir
Una clau privada hauria de ser llegible només pel servei que la utilitza i per ningú més. Corregiu el mode, trobeu les còpies i renoveu la clau si el fitxer ha quedat exposat.
El primer senyal sol ser un avís, no una avaria. Un client es nega a carregar una clau perquè el fitxer és llegible pel grup o per tothom, o una revisió de seguretat troba client.key amb mode 644 en un directori de perfil que també conté paquets exportats. Encara no ha fallat res, i per això mateix es descarta l'avís. La clau funciona, el túnel s'aixeca i el fitxer és llegible per tots els comptes de la màquina.
El símptoma és un avís de permisos, no una caiguda
En un sistema tipus Unix, una clau privada hauria de ser llegible només pel compte que executa el servei. Un mode 600 amb el propietari correcte és la disposició habitual. Un mode 644 vol dir que qualsevol usuari local pot copiar la clau, i en un amfitrió de compilació compartit això és un públic real.
Els clients que ho comproven us fan un favor. Els que no ho fan no són prova que el fitxer sigui segur, i una connexió correcta no diu res sobre qui més pot llegir el material que la va fer possible. Tracteu l'avís com la troballa sencera. És exacte i va arribar abans que ningú copiés el fitxer.
Ajusteu el mode a la identitat del servei
L'accés només del propietari escau a una clau que utilitza aquest propietari. Un servei amb un grup compartit deliberadament pot necessitar una altra disposició controlada, com ara lectura de grup en una clau propietat d'un compte de servei. Fixar cegament un sol mode numèric a tots els fitxers trenca els clients compatibles, i chmod -R 777 no és la solució de res.
Comproveu el propietari i el compte de servei abans de canviar res. Els certificats CA públics i les claus d'identitat privades tenen requisits de secret diferents encara que siguin al mateix directori, així que un mode recursiu aplicat a tota la carpeta tracta els dos com si fossin el mateix objecte.
ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn
En altres plataformes, feu servir el magatzem de claus o el model de control d'accés documentat en lloc de traduir els modes Unix a una conjectura. Un nom de fitxer que acaba en private és una etiqueta, no un mecanisme d'aplicació.
Trobeu les còpies que el mode no cobreix
Els editors, els arxius de còpia de seguretat, els perfils exportats i els paquets temporals poden conservar cadascun la mateixa identitat. Protegiu aquestes còpies segons el contingut, perquè estrènyer el fitxer original no fa res per la del tarball del mes passat.
Una contrasenya en un fitxer de clau és útil per al material emmagatzemat i no justifica publicar el fitxer xifrat al costat de la seva contrasenya. Els permisos protegeixen l'objecte actual del sistema de fitxers; no diuen res sobre una credencial ja copiada en un altre lloc.
Cerqueu les còpies abans de declarar la feina feta: grep -rl la línia de capçalera de la clau en directoris probables i una ullada a les exclusions de còpia de seguretat. El resultat sol ser més interessant que el fitxer amb què vau començar.
Després de la correcció, verifiqueu i renoveu
Comproveu que el servei previst encara s'autentica, i després confirmeu que cap compte innecessari ha obtingut accés. Limiteu la sortida de diagnòstic a metadades, perquè imprimir la clau no cal per demostrar que el fitxer és llegible i posa el material en un registre.
Si la clau ha quedat exposada, estrenyiu el mode i després substituïu la credencial i revoqueu l'antiga. L'especificació POSIX chmod explica què significa cada bit de mode, cosa que val la pena saber abans que la propera revisió us demani justificar el número triat.