Уключыце 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

Вырашыце, які артэфакт валодае наладай, змяніце яе там і нідзе болей. Профіль, адрэдагаваны на ноўтбуку, плюс unit systemd, які перакрывае яго сцягам, — гэта пара, якая дае супярэчлівыя паводзіны пасля перазагрузкі.

Файл уліковых даных пераносіць сакрэт замест таго, каб выдаляць яго

Калі накіраваць auth-user-pass на файл, кожнае наступнае пераўзгадненне атрымлівае крыніцу, а пароль трапляе туды, дзе ён перажывае перазагрузкі. Спытайце, хто можа чытаць гэты файл, ці можа дэман чытаць яго пасля адмовы ад прывілеяў і што адбываецца, калі файлавая сістэма змантаваная толькі для чытання або прадстаўленне кантэйнера хавае шлях. Сакрэт на дыску і сакрэт у памяці — розныя праблемы, і рашэнне адной пакідае другую на месцы. Ратацыя — гэта крок, які прапускаюць: пароль, зменены на серверы, але не ў файле, дае збой, які чытаецца як збой сеткі.

Трымайце файл ва ўласнасці ўліковага запісу, які запускае дэман, чытэльным ні для каго іншага і па-за рэзервовымі копіямі, якія пакідаюць хост. Серверны параметр OpenVPN auth-gen-token выдае кліенту токен сесіі пасля паспяховага ўваходу, і гэта менш небяспечна пакідаць навакол, чым пароль уліковага запісу. Запішыце крок ратацыі побач з файлам у любым выпадку, бо файл звычайна жыве даўжэй за чалавека, які яго стварыў.

Падаўжэнне пераўзгаднення пераносіць выдаткі, а не прыбірае іх

Іншая прапанова — павялічыць reneg-sec, пакуль запыт не стане настолькі рэдкім, што яго можна ігнараваць. Гэта перапісвае расклад ратацыі ключоў сесіі і штурхае тую ж праблему ўліковых даных у позні, менш прадказальны момант; яно не стварае крыніцы ўліковых даных. Палітыку, якая абнаўляе ключы па раскладзе з нейкай прычыны, не варта паслабляць толькі каб пазбегнуць уводу пароля.

Правярайце перападключэнне, а не сесію, у якой вы сядзіце, бо жывая сесія нічога не даказвае. Абрыце тунель з боку сервера або перазапусціце службу кліента і паглядзіце, што зробіць наступнае пераўзгадненне, калі за клавіятурай нікога няма. Калі яно перападключыцца, назвіце механізм, які даў сакрэт; калі не, вы знайшлі сапраўдны кошт варыянту на гэтым хосце. Любы вынік дае вам адказ, які трымаецца падчас збою, а не той, што трымаўся падчас тэставання.

У кіраваным парку той, хто валодае разгортваннем, павінен назваць тры рэчы: адкуль бяруцца ўліковыя даныя, дзе яны захоўваюцца і хто іх ратуе. Калі любы з гэтых адказаў — чалавек, які наладзіў хост, варыянт там яшчэ не бяспечны.

Падобныя артыкулы