auth-nocache со датотека за акредитиви: помага или штети?
auth-nocache ги отфрла побараните акредитиви од меморијата. Кога лозинката е во датотека, предупредувањето значи помалку, а опцијата може да го скрши повторното преговарање.
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 е прочитан пред да се смени неговиот интервал. Таа белешка го надживува секое поединечно знаменце.