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

Митът: една смяна, навсякъде наведнъж

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

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

Направете опис на копията преди ротацията

Напишете описа преди да отворите формата за парола. Избройте всеки клиент, скрипт, автоматизация и управляван профил, който се удостоверява като този акаунт: телефона, който се свързва сам, рутера, конфигуриран преди две години, лаптопа, който се събужда само в понеделник, и проверката за мониторинг, която опитва всяка минута. За всеки отбележете къде се съхраняват данните, дали устройството е достъпно по време на смяната и какъв път за възстановяване има, ако не може да се свърже отново. Този списък превръща рисковата смяна в планирана и трябва да съществува, преди старата парола да спре да работи.

Устройствата офлайн са класическото пропускане. Лаптоп в чекмедже се връща три седмици по-късно и представя остарялата стойност в най-неподходящия момент. Отбележете и местоположението, и графика му, защото ще трябва да го гоните, вместо да го чакате.

В 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 държат удостоверителите и сесиите в отделни категории, затова смяната на парола и глобалното излизане са различни операции. Третирайте ги като две задачи с два критерия за завършване. Първата е завършена, когато новата стойност работи, а втората, когато старите сесии са изчезнали.

Запишете завършването, без да записвате новата парола в записа. Журнал за ротация, който съдържа данните, е нов инцидент, който чака на споделен диск. Отбележете датата, обновените устройства и устройствата, които все още не са готови.

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