On ha de desar Linux la vostra contrasenya de VPN? No al perfil
Els indicadors de secret del NetworkManager decideixen si el perfil, un agent d'anells de claus o ningú té la contrasenya. La resposta depèn de quan s'inicia la connexió.
La contrasenya de VPN ha de viure en algun lloc: al perfil de connexió, en un anell de claus que l'escriptori desbloqueja o enlloc. El NetworkManager anomena aquesta tria un indicador de secret, i triar el dolent és la raó per la qual una connexió funciona després d'iniciar sessió i falla com a servei. L'indicador és una línia de configuració i decideix quin d'aquests tres resultats obteniu.
Tres indicadors cobreixen gairebé tots els casos, i la decisió tracta de quan s'inicia la connexió.
Tres indicadors de secret, tres comportaments
Un indicador 0 vol dir que el secret es desa amb la connexió, en qualsevol magatzem que tingui el perfil. Un indicador 1 el fa propietat de l'agent: el secret prové d'un agent de secrets com un anell de claus d'escriptori, i el NetworkManager el demana en activar. Un indicador 2 vol dir no desat, així que el secret no s'escriu mai i cal proporcionar-lo cada vegada. L'indicador 4 marca un secret com a no necessari, per a connexions que realment no en necessiten cap.
| Flag | Where it lives | Works unattended |
|---|---|---|
| 0 saved | Connection profile | Yes, if the store is readable |
| 1 agent-owned | Secret agent or keyring | Only if that agent is available |
| 2 not-saved | Nowhere | No |
Definiu els indicadors per secret, no per connexió. Una connexió pot tenir una contrasenya propietat de l'agent i una frase de pas de clau privada desada.
Decidiu segons quan s'inicia la connexió
Si un usuari amb sessió iniciada inicia la connexió, la propietat de l'agent és el valor per defecte sensat: l'anell de claus es desbloqueja amb l'inici de sessió i el secret no seu mai en un fitxer. Si la connexió ha de pujar abans que ningú iniciï sessió, la propietat de l'agent és la tria equivocada, perquè no hi ha cap anell de claus de sessió per desbloquejar.
Aquesta és tota la decisió. Tota la resta és una variant.
Per a un servei anterior a l'inici de sessió, el patró suportat és un magatzem d'àmbit de sistema o un fitxer de clau protegit, i els permisos del fitxer esdevenen la protecció. No resoleu el problema enganxant la contrasenya en un script de shell que s'executa en arrencar.
Què us dona l'anell de claus i què no
Un anell de claus manté el secret fora del perfil de connexió i el lliga a una sessió d'usuari. No fa el secret disponible per a un servei sense sessió ni xifra res al fil. Són propietats separades que la gent sovint fusiona. El que sí que compra és un radi d'impacte més petit quan un fitxer de perfil es filtra.
La clau privada a què fa referència el perfil necessita els seus propis permisos, independentment d'on visqui la contrasenya.
Diagnòstic sense abocar secrets
Els noms de connexió, els UUID i els indicadors solen ser suficients per explicar una fallada. nmcli connection show llista el perfil, i els indicadors de secret us diuen d'on havia de venir la contrasenya.
Eviteu --show-secrets als tiquets i al xat. Un cop enganxat, és una credencial en una transcripció.
Emmagatzemar no és revocar
Treure un secret d'un anell de claus no invalida la credencial que l'operador remot ja ha acceptat. La revocació del compte és una acció del costat del servidor, i l'emmagatzematge local és un assumpte a part amb un propietari a part.
Decidiu les dues coses abans de l'incident, no durant. Una connexió interactiva d'usuari i un servei anterior a l'inici de sessió necessiten respostes diferents, i un script de shell compartit no és cap de les dues. La documentació del NetworkManager sobre els indicadors de secret llista els valors completament.