Ваш клијент се још повезује на дан када се отвори тикет за повлачење. Профил стоји у апликацији, преговара, и тунел се подиже као да се ништа није променило. То је тренутак да радите у супротном смеру од оног у ком сте градили услугу: почните од листе клијената, идите напоље до ослушкивача, затим до заштитног зида и завршите са акредитивима који надживљавају све њих. Гашење виртуелне машине је последњи корак, а не први. Овај водич претпоставља да имате приступ конзоли хоста и овлашћење да мењате записе клијената и DNS.

Прво прођите кроз листу клијената

Отворите шта год дели ваше профиле и прочитајте листу пре него што дотакнете сервер. Сваки унос је уређај који верује да има приступ: телефони, лаптопови, рутер огранка, контејнер који се сваке ноћи синхронизује. Извезите ту листу у тикет, јер када хост нестане нема wg show који би вам рекао ко је био повезан.

Разврстајте сваки уређај у заменску крајњу тачку, више није потребан или непознат. Важна је управо група непознатих, јер су то профили које ће неко пронаћи у фиоци за неколико месеци и пробати. Пошаљите обавештење истим каналом који користите за захтеве за приступ и упишите у њега датум када стара крајња тачка престане да одговара.

Опозовите идентитет, не само датотеку

Две различите радње се обе називају опозивом. У WireGuard-у, peer се овлашћује само тиме што се његов јавни кључ појављује у секцији peer са уносом AllowedIPs, па брисање конфигурационе датотеке са лаптопа не мења ништа на серверу. Уклоните блок peer-а и поново примените датотеку без одбацивања peer-ова које задржавате, као штоwg(8) описује:

wg show
wg set wg0 peer <CLIENT_PUBLIC_KEY> remove
wg syncconf wg0 <(wg-quick strip wg0)

wg syncconf је део који вам штеди сервисни прозор. Он обнавља интерфејс из датотеке на месту, па уклањање једног peer-а не руши тунел који користе сви остали. Ако повлачите цео хост, а не један peer, редослед је и даље важан, јер ти кључеви могу бити поверљиви негде другде.

Са X.509 поставком, корак опозива је сертификат, а не датотека: openssl ca -revoke client.crt и затим openssl ca -gencrl -out crl.pem. То делује само тамо где верификатор то чита, што значиOpenVPN сервер са подешеним crl-verify и накнадно поново учитан. Ако је овај гејтвеј једини потрошач тог CA, CRL престаје да буде важан оног дана када он умре; ако исти CA потписује за други гејтвеј, сертификат који никада нисте опозвали тамо и даље ради.

Налози су трећи случај и онај који се најчешће прескочи. Када се гејтвеј аутентификовао преко RADIUS-а, LDAP-а или хостованог добављача идентитета, налог живи изван VPN-а. Онемогућите га у директоријуму. Брисање корисничке секције на серверу оставља важеће акредитиве које ће заменска крајња тачка прихватити оног тренутка када укаже на исти директоријум.

Затворите ослушкиваче и путеве до њих

Зауставите услугу тако да преживи рестарт, а затим потврдите излиставањем сокета, а не стањем unit-а. systemctl disable --now wg-quick@wg0 зауставља интерфејс и уклања руте и правила која је додао wg-quick; systemctl disable --now openvpn-server@server чини исто за шаблонску инстанцу OpenVPN-а. Након било ког од њих покрените ss -lunp и ss -ltnp. Празан резултат за стара врата једини је доказ који се рачуна.

Шта је wg-quick додао, wg-quick и уклања. Шта сте додали ручно остаје: трајно NAT правило, дозвола у заштитном зиду, прослеђивање врата на рутеру, ingress правило у облачној сигурносној групи, ослушкивач балансера оптерећења. То захтева изричито уклањање, као и DNS запис, то јест A, AAAA и било који CNAME који показује на име. Име које се разрешава у мртав хост отказује другачије него име које се уопште не разрешава, а та разлика ће неког стајати поподне.

Копија коју заборавите је клон. Снимак или виртуелна машина враћена из резервне копије још држи кључеве хоста и стари списак peer-ова, и ако је нешто врати на исту адресу, клијенти се поново повезују на услугу за коју мислите да је повучена. Означите сет резервних копија као да припада деактивираној услузи и држите га изван аутоматских путева за враћање.

Пратите шта још показује на стару крајњу тачку

Кеширани профили надживљавају DNS. Сачувана конфигурација са нумеричком адресом наставља да бира број и пошто запис нестане, а клијент који је увек укључен покушава изнова на сваку промену мреже. То је шум, а не приступ, јер је ослушкивач затворен, али знање које од тога гледате одређује како ћете одговорити на тикет.

Затим пређите зависности које нико не евидентира под VPN: провере доступности које пипају врата, послови резервног копирања који су вукли конфигурације са хоста, акредитиви за аутоматизацију коришћени за слање уноса peer-ова, налози за опоравак створени само за ову крајњу тачку. Свака је пут приступа са својим веком и својим власником, па свака добија одлуку уместо тихог брисања.

Проверите, а затим запишите

Повлачење је завршено када тест споља не успе тачно онако како очекујете. Из мреже коју не контролишете, повежите се на стару адресу и врата. Филтриран или одбијен резултат је случај успеха. У клијентској апликацији потврдите да је профил уклоњен, а не само искључен, и да га ниједан управљачки профил тихо не додаје назад.

Затим запишите шта сте урадили: крајња тачка, датум, опозвани кључеви и сертификати, онемогућени налози, где су резервне копије. Следећи који нађе стару конфигурацију мора да одговори да ли је опозвана или само избрисана, без нагађања, а кратка табела у тикету то омогућава.

Пре затварања тикета:

  • профили клијената уклоњени или замењени, непознати уређаји решени
  • peer-ови уклоњени и конфигурација поново примењена, или сертификати опозвани и CRL објављен
  • налози у директоријуму онемогућени, а не само локалне датотеке избрисане
  • услуга онемогућена, ниједан ослушкивач није остао на старим вратима
  • заштитни зид, прослеђивање врата, сигурносна група и DNS записи уклоњени
  • резервне копије означене, снимак искључен из путева за враћање
  • акредитиви за надзор и аутоматизацију повучени

Проверите замену одвојено, од клијента који никада није имао стари профил. Тај један тест вам каже да ли сте повукли услугу или само преименовали проблем.

Повезани чланци