Промена VPN лозинке без закључавања свих уређаја
Промена лозинке не ажурира сачуване копије. Пописете сваког клијента, замените сачувану вредност код његовог власника и зауставите петљу поновних покушаја.
Три телефона, рутер и једна провера надзора још увек држе стару лозинку, а један од њих се поново повезује сваких деведесет секунди. Лозинка налога је промењена пре десет минута, па сваки од тих клијената сада шаље вредност коју сервер одбија. Тада се мит ломи: промена лозинке дотиче налог, а не копије старе вредности на сваком уређају. Оно што следи јесте посао који промена није обавила.
Мит: једна промена, свуда одједном
Уверење је да промена лозинке одјављује све и налаже чисту нову пријаву. Није тако, јер сервер прати само које је акредитиве последње прихватио, док клијенти држе оно што су сачували. Уређај са сачуваном лозинком је понавља према сопственом распореду и тихо не успева док неко не примети да је налог закључан. Када прихватите да копије живе изван налога, ротација престаје да изгледа као једна радња.
Ништа од овога није аргумент против ротације. То је аргумент да се сачуване копије третирају као део промене, а не као накнадна мисао. Закључавање обично долази од паралелних понављања: сваки уређај наставља да шаље стару вредност према сопственом распореду док се бројач не активира. Налог тада изгледа нападнут, а само му се нуде акредитиви које нико није заменио. Та разлика је важна, јер решење је списак уређаја, а не строжа политика закључавања.
Пописете копије пре ротације
Напишите попис пре него што отворите образац за лозинку. Наведите сваког клијента, скрипту, аутоматизацију и управљани профил који се аутентификује као овај налог: телефон који се сам повезује, рутер конфигурисан пре две године, преносни рачунар који се буди само понедељком и проверу надзора која покушава сваког минута. За сваки запишите где се чувају акредитиви, да ли је уређај доступан током промене и која путања опоравка постоји ако не може поново да се повеже. Тај списак претвара ризичну промену у планирану и мора да постоји пре него што стара лозинка престане да ради.
Офлајн уређаји су класичан пропуст. Преносни рачунар у фиоци враћа се три недеље касније и представља застарелу вредност у најгорем тренутку. Запишите и његову локацију и распоред, јер ћете морати да га јурите уместо да га чекате.
У Linux флоти претрага је механичка, а не паметна. Тражите профиле који упућују на датотеку акредитива, затим саме датотеке акредитива, јер други списак је тај који треба преписати. Поновите вежбу за десктоп клијенте и телефоне, где је складиште профил или запис у привеску за кључеве, а не путања. Циљ је списак по коме можете да радите, а не скенирање које тврди да проналази сваку копију.
grep -rl auth-user-pass /etc/openvpn /etc/NetworkManager
grep -rl auth-user-pass ~/.config 2>/dev/null
Одмерите копије према људима који их поседују. Уређај који нико не присваја је уређај који нико неће ажурирати, и управо он највероватније наставља са понављањима.
Коју тајну заправо ротирате
Лозинка налога је само један акредитив у VPN распореду. Фраза за кључ, идентитет сертификата и опциона тајна партнера имају сопствену путању замене и сопственог власника. Промена лозинке налога не чини ништа за уређај који се аутентификује сертификатом, а поновно издавање сертификата не чини ништа за клијента са сачуваном лозинком. Именујте тајну пре него што именујете решење.
Ако је ротација вођена сумњом, а не политиком, процес инцидента има предност над планом погодности. Опозовите оно што докази захтевају и прихватите додатни посао на списку уређаја. Та одлука припада власнику инцидента, а не ономе ко случајно држи образац за ресетовање лозинке.
Замените сачувану вредност тамо где живи
Промените акредитиве кроз механизам који услуга документује, затим ажурирајте сачувану копију или покрените ток пријаве на сваком уређају који намеравате да задржите. Не уређујте генерисану конфигурацију иза менаџера који је преписује, јер менаџер враћа старију вредност при следећем покретању и измена постаје одложени квар. Ажурирајте извор који менаџер чита или користите сопствено складиште акредитива клијента. У сваком случају, уређај мора да заврши са новом вредношћу на месту које клијент стварно чита.
Клијент који чува датотеку лозинке треба преписану датотеку, док клијент који пита треба завршену пријаву. NetworkManager држи тајну унутар профила везе, па промена иде кроз nmcli, а не кроз текстуални уређивач:
nmcli connection modify work vpn.secrets "password=NEW"
nmcli connection up work
Профил који чита датотеку акредитива је трећи случај. Замените садржај те датотеке, држите њене дозволе затворене и поново учитајте клијента уместо да уређујете профил који на њу упућује. Профил се није променио; променила се само тајна коју чита.
Поново повежите сваки предвиђени уређај једном, намерно, и гледајте који не успевају. Ако уређај стално не успева, погледајте налог на који упућује и складиште које чита пре него што поново промените лозинку, јер друга промена умножава копије које треба ажурирати. Уређај који не успева двапут обично упућује на погрешан налог или чита складиште које још нисте пронашли. Поправите то, па се поново повежите.
Сесије и токени надживљавају лозинку
Промена лозинке не доказује да су постојеће сесије или одвојени сертификати опозвани. Неке услуге држе сесију живу док не истекне или се изричито прекине, а издати токени носе сопствени рок трајања. Проверите шта услуга заиста ради уместо да претпостављате да је промена била глобална. Ако је промена вођена сумњом, изричито прекините сесије и потврдите резултат.
Смернице о животном циклусу акредитива у NIST SP 800-63B држе аутентификаторе и сесије у одвојеним категоријама, зато су промена лозинке и глобална одјава различите операције. Третирајте их као два задатка са два критеријума завршетка. Први је завршен када нова вредност ради, а други када старих сесија нема.
Забележите завршетак без уписивања нове лозинке у запис. Дневник ротације који садржи акредитиве је нови инцидент који чека на дељеном диску. Запишите датум, ажуриране уређаје и уређаје који још нису обављени.