OpenVPN skriv ved oppstart ut ei åtvaring som føreslår auth-nocache, og det freistande svaret er å leggje til valet og sjå lina forsvinne. Det rådet føreset ei interaktiv innlogging. Når brukarnamn og passord først ligg i ei fil, endrar samanlikninga seg: valet sluttar å verne den varige kopien, og på ein klient som slepp privilegium kan det seinare øydeleggje den nye forhandlinga. To lagringsmodellar er verd å halde frå kvarandre før du redigerer ein profil.

To måtar å svare på innloggingsførespurnaden

Den første modellen er eit menneske som skriv innloggingsopplysningar i ein terminal, eller eit administrasjonsgrensesnitt som held dei for økta. OpenVPN held på den kopien slik at han kan svare på neste forhandling utan å spørje igjen, og det er nettopp det åtvaringa handlar om. Ingenting på disken er involvert, så det einaste som må vernast er prosessen som held verdien. Lat klienten att, og kopien er borte med han.

Den andre modellen er auth-user-pass som peikar på ei fil, der fila er lageret og klienten les ho når ein verdi trengst. Eksponeringa som tel her, er ikkje prosessminnet, men rettane og eigarskapet til den fila. Oppstartsåtvaringa kjem frå direktiva i konfigurasjonen, ikkje frå ei undersøking av korleis du leverer passordet, så ho visest i begge modellane og peikar på ingen av dei.

Resten av denne samanlikninga følgjer av den delinga: minnehandtering for den eine modellen, filhandtering og prosessidentitet for den andre.

Kva auth-nocache faktisk kastar

Med ei interaktiv innlogging --auth-nocache fjernar den lagra kopien frå minnet etter at han er brukt. Prisen er ein ny førespurnad ved kvart forhandlingsintervall, fordi neste runde ikkje kan bruke om att det som vart kasta.

Med innlogging basert på fil kan klienten lese fila på nytt, så kastinga er stort sett usynleg. Ho blir synleg på den eine staden folk ikkje ventar det: etter at daemonen har sleppt privilegium, dersom innloggingsfila ikkje kan lesast av kontoen han no køyrer som.

Legg til valet fordi du forstår den avveginga, ikkje fordi det dukka opp ei åtvaring. Eit val som blir lagt til for å gjere ein logg stillare, er eit val der ingen har målt verknaden.

Kvar den filbaserte vegen knekkjer

Ein klient som startar som root for å opne tunneleininga og deretter byter til user og group les innloggingsfila to gonger: éin gong før bytet, éin gong ved forhandlinga som følgjer. Viss fila har modus 600 og er eigd av root, mislukkast den andre lesinga, og feilen viser seg ein time seinare som ein autentiseringsfeil som ser ut som eit serverproblem. Sjekk klientloggen rundt forhandlingsintervallet, og sjekk deretter kontoen og fila saman.

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

Begge linjene tel. Den første fortel deg kven som kan lese fila, den andre fortel deg kven den køyrande daemonen faktisk er, og eit avvik mellom dei forklarar ein feil som inga mengd ny skriving av passordet vil rette.

Dei praktiske rettingane er lite glamorøse: flytt fila til ei mappe og ein eigar som kontoen til daemonen kan lese, eller hald på den privilegerte lesinga og stadfest at klienten din berre les éin gong. Ikkje løys det ved å gjere fila lesbar for alle.

Tilfellet som faktisk vil ha valet

Ei innlogging med eingangskode vil ha auth-nocache av ein annan grunn. Ein eingangskode blir brukt opp av den første autentiseringa, så ein bufra kopi er ubrukeleg ved neste forhandling, og ein utdatert verdi kan til og med bli spelt av igjen.

Det er eit spørsmål om typen innloggingsopplysningar, ikkje om kvar dei blir lagra. Eit statisk passord i ei verna fil har den motsette profilen: det må kunne lesast ved kvar forhandling, og vernet du treng ligg på fila.

Hald dei to grunnane åtskilde i profilkommentarane, elles vil den neste administratoren gå ut frå at valet er der av den grunnen han sjølv ville ha valt.

Samanlikninga i éi avgjerd

Vel den interaktive modellen når eit menneske er til stades og ferskleik tel, og godta den gjentekne førespurnaden som prisen. Vel filmodellen når klienten køyrer utan tilsyn, og bruk innsatsen på eigarskap, modus og privilegieslepp i staden.

Ingen av modellane gjer eit lagra passord trygt i seg sjølv, og ingen av dei gjer oppstartsåtvaringa meiningsfull.

Viss åtvaringa er den einaste grunnen til at du opna profilen, noter avgjerda i staden for eit uforklart val: innloggingsopplysningar kjem frå ei fil som kontoen til daemonen kan lese, ei forhandling er sett å lukkast, og avsnittet om forhandling i OpenVPN 2.6-handboka vart lese før intervallet vart endra. Den notata overlever kvar einskild flagg.

Relaterte artiklar