OpenVPN при покретању исписује упозорење које предлаже auth-nocache, а примамљив одговор је додати опцију и гледати како ред нестаје. Тај савет претпоставља интерактивну пријаву. Када корисничко име и лозинка живе у датотеци, поређење се мења: опција престаје да штити трајну копију, а на клијенту који се одриче привилегија може касније сломити поновно преговарање. Два модела складиштења вреди држати одвојено пре него што уредите профил.

Два начина да одговорите на захтев за акредитивима

Први модел је човек који уписује акредитиве у терминал, или управљачко сучеље које их држи за сесију. OpenVPN чува ту копију како би одговорио на следеће поновно преговарање без поновног питања, и управо о томе говори упозорење. Ништа на диску није укључено, па је једино што треба штитити процес који држи вредност. Затворите клијента и копија нестаје с њим.

Други модел је auth-user-pass који показује на датотеку, где је датотека спремиште и клијент је чита када је вредност потребна. Изложеност која је овде важна није меморија процеса него дозволе и власништво те датотеке. Упозорење при покретању долази из директива у конфигурацији, не из провере како достављате лозинку, па се појављује у оба модела и не показује ни на један.

Остатак овог поређења следи из те поделе: управљање меморијом за један модел, управљање датотеком и идентитет процеса за други.

Шта auth-nocache заиста одбацује

Уз интерактивну пријаву --auth-nocache уклања сачувану копију из меморије након што је искоришћена. Цена је нови упит на сваком интервалу поновног преговарања, јер следећи круг не може поново употребити оно што је одбачено.

Уз пријаву засновану на датотеци клијент може поново прочитати датотеку, па је одбацивање углавном невидљиво. Постаје видљиво на једном месту где га људи не очекују: након што демон одбаци привилегије, ако датотеку акредитива не може читати налог под којим сада ради.

Додајте опцију јер разумете ту размену, не зато што се појавило упозорење. Опција додата да дневник буде тиши је опција чији ефекат нико није измерио.

Где се пут заснован на датотеци ломи

Клијент који почиње као root да отвори уређај тунела и затим прелази на user и group чита датотеку акредитива двапут: једном пре преласка, једном при поновном преговарању које следи. Ако датотека има режим 600 и власништво root, друго читање не успева, а неуспех се појављује сат касније као грешка провере идентитета која изгледа као проблем сервера. Проверите дневник клијента око интервала поновног преговарања, затим проверите налог и датотеку заједно.

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

Оба реда су важна. Први вам каже ко може читати датотеку, други каже ко је покренути демон у стварности, а неслагање између њих објашњава неуспех који никакво преписивање лозинке неће поправити.

Практичне поправке нису блиставе: преместите датотеку у директоријум и код власника које налог демона може читати, или задржите привилеговано читање и потврдите да ваш клијент чита само једном. Не решавајте то тако што ћете датотеку учинити читљивом свима.

Случај који опцију заиста жели

Пријава са једнократним кодом жели auth-nocache из другог разлога. Једнократни код се троши првом провером идентитета, па је кеширана копија бескорисна при следећем поновном преговарању, а застарела вредност би могла чак и поново да се репродукује.

То је питање о врсти акредитива, не о томе где се чувају. Статична лозинка у заштићеној датотеци има супротан профил: мора бити читљива при сваком поновном преговарању, а заштита која вам треба је на датотеци.

Држите та два разлога одвојено у коментарима профила, јер ће следећи администратор иначе претпоставити да је опција ту због разлога који би он одабрао.

Поређење у једној одлуци

Изаберите интерактивни модел када је особа присутна и свежина је важна, и прихватите поновљени упит као његову цену. Изаберите модел датотеке када клијент ради без надзора, и уложите труд у власништво, режим и одрицање привилегија.

Ниједан модел сам по себи не чини сачувану лозинку безбедном, нити иједан чини упозорење при покретању смисленим.

Ако је упозорење једини разлог зашто сте отворили профил, запишите одлуку уместо необјашњене опције: акредитиви долазе из датотеке коју налог демона може читати, поновно преговарање је виђено успешним, и одељак о поновном преговарању у приручнику OpenVPN 2.6 прочитан је пре измене његовог интервала. Та белешка надживљава сваку појединачну заставицу.

Повезани чланци