Како опозвати изгубљени VPN уређај: кључ, сертификат или налог
Изгубљени уређај је три идентитета одједном: кључ партнера WireGuard, клијентски сертификат и сесија налога. Опозовите онај који ваш сервер проверава.
Ваш лаптоп је нестао, а VPN га и даље наводи као клијента. Хитно питање није како обрисати профил на машини коју више немате, него који идентитет сервер још прихвата. WireGuard проверава јавни кључ, поставка OpenVPN заснована на PKI проверава клијентски сертификат, а VPN са јединственим пријављивањем проверава налог и његов сесијски токен. Та три се опозивају на различитим местима и различитом брзином, а поправљање једног док се остали игноришу је начин на који изгубљени уређај остаје повезан.
Три идентитета и шта сваки од њих контролише
Сваки механизам одговара на друго питање. Кључ партнера одговара да ли је ово машина коју сте уписали. Сертификат одговара да ли га је потписао ваш CA и да ли није опозван. Налог одговара да ли се та особа довољно недавно аутентификовала. Постављање које слаже два од њих, на пример сертификат плус пријава кроз директоријум, затвара врата само када се сваком слоју који је уређају нешто издао каже да то престане да прихвата.
Практична замка је да машина која недостаје држи приватну половину сваке акредитиве, па ништа што урадите локално не стиже до сервера.
WireGuard: уклоните партнера, јер не постоји листа опозива
WireGuard не води никакву листу забрана. Интерфејс прихвата тачно оне јавне кључеве који су конфигурисани као партнери, па је опозив брисање: покрените wg set wg0 peer <public-key> remove, облик документован у wg(8), затим обришите одговарајући блок [Peer] из wg0.conf. Урадите оба. Уклањање само у времену извршавања преживи до следећег рестарта или поновног учитавања конфигурације, када датотека врати кључ.
Постојеће сесије не требају тајмер да би умрле. Уклањање партнера одбацује његов руковање и кључни материјал, па саобраћај стаје чим се поново затражи важећи пар кључева. Проверите wg show wg0 latest-handshakes на серверу: запис за изгубљени кључ треба да нестане и остане нестао, док остали партнери настављају да пријављују недавне епохе.
Једно упозорење је важније него што изгледа. Ако је изгубљени уређај делио кључ са другим уређајима јер је неко копирао једну конфигурацијску датотеку, уклањање тог кључа их искључује све; то је и даље правилан потез, а кључеве затим издајете по уређају уместо да враћате заједнички.
Сертификати: CRL се рачуна само ако га демон чита
Приступ заснован на сертификатима додаје корак који људи прескачу. easyrsa revoke laptop-01 означава сертификат као опозван у бази CA, али VPN из те базе не сазнаје ништа. Затим покренете easyrsa gen-crl да запишете crl.pem, копирате га на путању наведену у опцији crl-verify сервера и потврдите да покренути демон користи нову датотеку. Опозив без поновног генерисања и дистрибуције CRL-а је без учинка.
Време је друга половина. CRL се проверава када се клијент повеже или поново преговара, па успостављени тунел може наставити да прослеђује до тада. Ако уређај мора бити одсечен одмах, прекините ту сесију изричито кроз интерфејс за управљање OpenVPN-ом уместо да чекате следеће руковање. Поновно учитавање или рестарт услуге, зависно од тога како постављање учитава CRL, део је промене, а не опциони додатак.
Проверу вреди урадити са друге машине: представите опозвани сертификат и очекујте неуспех руковања, обично VERIFY ERROR: depth=0, error=certificate revoked. Ако веза ипак успе, клијент чита други CRL од оног који сте ажурирали.
Налози и сесије: деактивирање није исто што и избацивање
Пријаве кроз директоријум или SSO проверавају се у тренутку аутентификације. Деактивирање налога блокира следећу пријаву, али токен за освежавање и успостављени тунел могу наставити да раде док не истекну. Опозовите сесије и токене тог корисника или повисите верзију сесије ако добављач идентитета то подржава. Уклоните изгубљени уређај и из регистрације MFA, јер је регистровани аутентикатор сам по себи пут приступа.
VPN-ови засновани на RADIUS-у могу послати поруку о прекиду или промену ауторизације да оборе активну сесију, али то не поштује сваки сервер за приступ мрежи. Када сте у недоумици, завршите корисникову сесију са стране сервера и потврдите у дневницима да је стара сесија затворена.
Редослед радњи за следећи сат
Почните од инвентара, не од клијента: наведите сваки идентитет везан за уређај, био то кључ партнера, серијски број сертификата или налог. Опозовите у сваком систему који издаје по реду којим се веза гради, дакле прво налог, затим сертификат, затим партнер. Затим докажите одбијање са машине коју контролишете.
Две накнадне радње се лако забораве. Прво, замените све остало што је уређај држао, посебно SSH кључеве, акредитиве за облачну конзолу и заједнички унапред подељени WireGuard кључ. Друго, проверите да управљање конфигурацијом, снимци или златне слике не могу да врате уклоњеног клијента при следећем поновном грађењу.
Трајно решење је један идентитет по уређају. Када сваки лаптоп носи свој кључ партнера или сертификат, губитак кошта једну наредбу за опозив и поновно издавање уместо поновног грађења целе флоте.