Включете auth-nocache и предупреждението за кеширане на паролата изчезва, заедно с копието на идентификационните данни, което OpenVPN пазеше за следващото предоговаряне. Дали това ще се превърне в подкана, тихо повторение или скъсана връзка, зависи от това откъде идват данните втори път. Така че това е сравнение между форми на внедряване, а не присъда за опцията. Прочетете формата, която действително използвате, преди да редактирате какъвто и да е профил.

Откъде трябва да дойде вторият набор данни

OpenVPN прилага auth-nocache към тайните, събрани от auth-user-pass и askpass: след като бъдат използвани, процесът ги изхвърля, вместо да ги пази за следващото ръкостискане. Предоговарянето идва по таймер, по подразбиране веднъж на час, така че втората заявка пристига много след като човекът, въвел паролата, е отдавна тръгнал. Тази разлика във времето е цялата история. При включено кеширане клиентът възпроизвежда запазеното копие, без да пита никого; при изключено кеширане той трябва да намери тайната другаде или да се провали.

Затова избройте всяко място, откъдето тайната може да дойде в онзи момент, и бъдете честни кои от тях съществуват на хоста. Човек на терминал, файл, който auth-user-pass или askpass може да прочете, или издаден от сървъра токен за сесия са трите, които имат значение тук. Ако никое от тях не е налично, предоговарянето се проваля час след промяната, а не в момента, в който сте я направили.

Три форми, три точки на отказ

Настолен клиент с човек пред него е лекият случай: подканата се връща, някой въвежда паролата отново и цената е внимание. Услуга, контейнер или рутер с OpenVPN без терминал е тежкият случай, защото няма кой да отговори и връзката, която преди беше тиха, сега прекратява тунела. Хибридът стои между двете и се държи като настолния случай, докато сесията, която може да отговори на подканата, изчезне. Разликата между тях не е дали е инсталиран GUI, а дали има източник на идентификационни данни в момента на предоговарянето.

Съпоставете внедряването си с една от тези три форми, преди да промените нещо, защото съветите в интернет почти винаги са написани за първата. Прилагането на настолния отговор към услуга без терминал е начинът, по който тунел, работил месеци, започва да пада всеки час.

Директива или флаг: изберете едно и знайте кое сте използвали

Вътре в профила auth-nocache е самостоятелен ред; при извикване, което изрично посочва профил, той е флаг в този команден ред, а ръководството на OpenVPN изброява и двете форми. Двете правят едно и също с запазването на идентификационни данни и нито една не пипа типа на интерфейса или не поправя несвързано предупреждение в същия журнал. Разликата е в постоянството: флагът покрива само това изпълнение, така че услуга, рестартирана от unit файл или обвивка, няма да го има, освен ако обвивката също не го подаде.

auth-nocache
openvpn --config /path/client.ovpn --auth-nocache

Решете кой артефакт притежава настройката, променете я там и никъде другаде. Профил, редактиран на лаптоп, плюс systemd unit, който го отменя с флаг, е двойката, която създава противоречиво поведение след рестарт.

Файлът с данни премества тайната, вместо да я изтрива

Насочването на auth-user-pass към файл дава на всяко следващо предоговаряне източник и също поставя паролата там, където тя оцелява при рестартиране. Питайте кой може да чете този файл, дали демонът все още може да го чете след отказ от привилегии и какво се случва, когато файловата система е монтирана само за четене или изглед на контейнер скрива пътя. Тайна на диска и тайна в паметта са различни проблеми, а решаването на единия оставя другия на място. Ротацията е стъпката, която се пропуска: парола, сменена на сървъра, но не във файла, дава отказ, който се чете като мрежов проблем.

Дръжте файла собственост на акаунта, който пуска демона, четим от никого другиго и извън резервните копия, които напускат хоста. Сървърната опция auth-gen-token на OpenVPN дава на клиента токен за сесия след успешен вход, което е по-малко нещо за оставяне наоколо от паролата на акаунта. Запишете стъпката за ротация до файла така или иначе, защото файлът обикновено живее по-дълго от човека, който го е създал.

Удължаването на предоговарянето мести цената, не я премахва

Другото предложение е да вдигнете reneg-sec, докато подканата стане достатъчно рядка, за да я пренебрегнете. Това преписва графика за ротация на ключовете на сесията и избутва същия проблем с данните в по-късен, по-малко предвидим момент; то не създава източник на данни. Политика, която подновява ключове по график с причина, не бива да се разхлабва само за да се избегне въвеждане на парола.

Тествайте повторното свързване, а не сесията, в която седите, защото живата сесия не доказва нищо. Скъсайте тунела от страната на сървъра или рестартирайте клиентската услуга и наблюдавайте какво прави следващото предоговаряне, когато никой не е на клавиатурата. Ако се свърже отново, назовете механизма, който е доставил тайната; ако не, намерили сте реалната цена на опцията на този хост. И двата изхода ви дават отговор, който издържа при прекъсване, вместо такъв, който е издържал при тестване.

В управляван парк този, който притежава внедряването, трябва да назове три неща: откъде идват данните, къде се съхраняват и кой ги ротира. Ако някой от тези отговори е човекът, настроил хоста, опцията там още не е безопасна.

Подобни статии