OpenVPN imprimeix en arrencar un avís que suggereix auth-nocache, i la resposta temptadora és afegir l’opció i mirar com la línia desapareix. Aquest consell assumeix un inici de sessió interactiu. Quan l’usuari i la contrasenya viuen en un fitxer, la comparació canvia: l’opció deixa de protegir la còpia duradora, i en un client que abandona privilegis pot trencar la renegociació més endavant. Val la pena mantenir separats dos models d’emmagatzematge abans d’editar un perfil.

Dues maneres de respondre la petició de credencials

El primer model és una persona que escriu les credencials en un terminal, o una interfície de gestió que les guarda per a la sessió. OpenVPN conserva aquesta còpia per poder respondre la renegociació següent sense tornar a preguntar, i és exactament d’això que parla l’avís. No hi ha res al disc, així que l’única cosa a protegir és el procés que guarda el valor. Tanqueu el client i la còpia desapareix amb ell.

El segon model és auth-user-pass apuntant a un fitxer, on el fitxer és el magatzem i el client el llegeix quan cal un valor. L’exposició que importa aquí no és la memòria del procés sinó els permisos i la propietat d’aquell fitxer. L’avís d’arrencada prové de les directrius de la configuració, no d’una inspecció de com proporcioneu la contrasenya, així que surt en tots dos models i no assenyala cap.

La resta d’aquesta comparació se segueix d’aquesta divisió: gestió de la memòria per a un model, gestió del fitxer i identitat del procés per a l’altre.

Què descarta realment auth-nocache

Amb un inici de sessió interactiu, --auth-nocache elimina la còpia desada de la memòria després d’haver-se utilitzat. El cost és una petició nova a cada interval de renegociació, perquè la ronda següent no pot reutilitzar el que s’ha descartat.

Amb un inici de sessió basat en fitxer el client pot tornar a llegir el fitxer, així que el descart és sobretot invisible. Es fa visible en l’únic lloc on la gent no ho espera: després que el dimoni abandoni privilegis, si el fitxer de credencials no és llegible pel compte amb què ara s’executa.

Afegiu l’opció perquè enteneu aquest intercanvi, no perquè hagi aparegut un avís. Una opció afegida per fer un registre més silenciós és una opció l’efecte de la qual ningú no ha mesurat.

On es trenca el camí basat en fitxer

Un client que comença com a root per obrir el dispositiu de túnel i després canvia a user i group llegeix el fitxer de credencials dues vegades: una abans del canvi, una a la renegociació que segueix. Si el fitxer té mode 600 i és propietat de root, la segona lectura falla, i la fallada apareix una hora més tard com un error d’autenticació que sembla un problema del servidor. Reviseu el registre del client al voltant de l’interval de renegociació i després reviseu el compte i el fitxer junts.

stat -c '%a %U:%G' /etc/openvpn/client.creds
ps -o user:12,args -C openvpn | head

Totes dues línies importen. La primera us diu qui pot llegir el fitxer, la segona us diu qui és realment el dimoni en execució, i una discrepància entre elles explica una fallada que cap reescriptura de la contrasenya arreglarà.

Les solucions pràctiques no són glamuroses: moveu el fitxer a un directori i a un propietari que el compte del dimoni pugui llegir, o manteniu la lectura privilegiada i confirmeu que el vostre client només llegeix una vegada. No ho resoleu fent el fitxer llegible per a tothom.

El cas que sí que vol l’opció

Un inici de sessió amb un codi d’un sol ús vol auth-nocache per una raó diferent. Un codi d’un sol ús es consumeix amb la primera autenticació, així que una còpia en memòria cau és inútil a la renegociació següent i un valor caducat fins i tot podria reproduir-se.

Això és una qüestió sobre el tipus de credencial, no sobre on es desa. Una contrasenya estàtica en un fitxer protegit té el perfil oposat: ha de ser llegible a cada renegociació, i la protecció que cal és al fitxer.

Manteniu aquestes dues raons separades als comentaris del perfil, perquè si no el següent administrador assumirà que l’opció hi és per la raó que ell hauria triat.

La comparació en una decisió

Trieu el model interactiu quan hi ha una persona i la frescor importa, i accepteu la petició repetida com a cost. Trieu el model de fitxer quan el client funciona sense supervisió, i dediqueu l’esforç a la propietat, el mode i l’abandonament de privilegis.

Cap model no fa segura una contrasenya desada per si sol, ni cap fa significatiu l’avís d’arrencada.

Si l’avís és l’única raó per la qual heu obert el perfil, anoteu la decisió en lloc d’una opció sense explicació: les credencials vénen d’un fitxer llegible pel compte del dimoni, s’ha vist una renegociació reeixir, i el manual d’OpenVPN 2.6 apartat sobre renegociació s’ha llegit abans de canviar el seu interval. Aquesta nota sobreviu a qualsevol bandera sola.

Articles relacionats