A DNS-rekordja helyes, a csere egészséges, és mégis néhány kliens órákat tölt a régi cím tárcsázásával. Néhányan azonnal elbuknak egy néven, amely feloldható, és soha nem válaszol. Mindkét eredmény egyetlen hiányosságból fakad: a gazdagépnév megváltoztatja, mit keres egy kliens, nem azt, mikor keresi, és nem azt, miben bízik, amikor a válasz megérkezik.

A tünet: helyes rekord, elavult alagutak

Egy nevet tároló profil nem olyan kliens, amely folyamatosan feloldja azt. A legtöbb egyszer oldja fel, a konfiguráció alkalmazásakor vagy amikor az alagút feljön, majd újrahasználja azt a címet a munkamenet végéig. A tetejére rakott hosszú TTL az oka annak, hogy az átállást az újracsatlakozások köré kell tervezni, nem a DNS szerkesztése köré.

Egyik viselkedés sem hiba, és éppen ez teszi zavaróvá a tünetet. A kliens egy korábban kapott válasszal dolgozik, és semmi a kiszolgáló oldalán nem mutatja, melyik válasz volt az. Tervezze be az újracsatlakozást a karbantartási ablakba, és mondja el a felhasználóknak, mit fognak látni, vagy töltse az ablakot a jegyek megválaszolásával. Azonos jelentések sora a szokásos eredmény.

Ki irányítja a nevet, és mit ellenőriz a kliens

A zóna feletti ellenőrzés dönti el, milyen gyorsan haladhat egy migráció. Tartsa a rekordot olyan regisztrátornál, ahová be tud jelentkezni, és írja le, ki más tudja megváltoztatni.

A bizalom nem követi a nevet. Egy TLS-alapú kliens ellenőrizheti egy tanúsítvány identitását vagy egy rögzített nevet, míg a WireGuard a partner nyilvános kulcsát hitelesíti, és teljesen figyelmen kívül hagyja a gazdagépnevet. Ez a különbség dönti el, elég-e a DNS szerkesztése, vagy minden profilnak új ujjlenyomat kell. Egy rekordváltozás soha ne hatalmazzon fel olyan végpontot, amelyet senki nem hagyott jóvá.

Tartsa távol az adminisztratív és helyreállítási hozzáférést a nyilvános kliensnévtől. Egy tárhelyfiók elvesztése ne kerüljön a klienseket átirányító rekordba is. A helyreállítási útvonalat olyan helyen tárolja, amely nem függ az elhagyott szolgáltatótól.

Mikor olvassa újra a nevet az egyes kliensek

A feloldás időzítése kliensenkénti tulajdonság, ezért ellenőrizze a ténylegesen szállított implementációt, mielőtt átállási ablakot ígér. A wg-quick az interfész feljövetelekor oldja fel a végpontot, és addig tartja meg a címet, amíg az alagút újra nem indul. Az OpenVPN-kliens csatlakozáskor keresi a nevet, és hogy újracsatlakozáskor újra megnézi-e, a beállításaitól függ.

ClientWhen it resolvesWhat it verifies
wg-quickAt interface start, cached for the sessionPeer public key, not the name
OpenVPN 2.6On connect, possibly again on reconnectCertificate identity or pinned name
Mobile clientsMay hold the answer across sleep or a network changePlatform trust store, same certificates

A mobil kliensek a szokásos meglepetés, mert alvás vagy hálózatváltás alatt is megtarthatják a feloldott címet. Csak akkor tegyen közzé A és AAAA rekordokat, ha a csere mindkét családban válaszol. Az egyik családban válaszoló cím semmit nem bizonyít a másikról, és egy halott AAAA rekord időtúllépést ad minden kísérlethez. Dokumentálja a feloldási viselkedést minden támogatott klienshez, majd teszteljen azokon az eszközökön, amelyeket az emberek ténylegesen használnak.

Az újracsatlakozás a legtöbb kliensben felhasználói művelet, és a kiszolgáló nem tudja kikényszeríteni. Tegye ezt a lépést a karbantartási megjegyzésbe, egy sorral arról, mit fog látni a felhasználó, amikor megtörténik.

Bizonyítékok alapján álljon át, majd vonja ki a régi végpontot

A váltás előtt bizonyítsa minden réteget a cserénél: a figyelő válaszol, a tűzfal átengedi a portot, az útvonalak helyesen térnek vissza, a név az új címre oldódik fel, és egy ismert identitás elfogadásra kerül. Egy kapcsolatot elfogadó figyelő nem ugyanaz, mint amelyik befejez egy kézfogást, ezért a kézfogást tesztelje, ne a portot. Tartsa az aktuális visszavonási listát a konfiguráció mellett, mert egy visszaállított biztonsági mentés újra létrehozza a partnerlistát úgy, ahogy volt, és újra megnyitná a már lezárt hozzáférést. Jegyezze fel, milyen identitással tesztelt, mert az «működik» nem olyan bizonyíték, amelyet bárki megismételhet.

getent hosts vpn.example.com
ss -lunp | grep 51820
wg show wg0 latest-handshakes

Az átállás alatt figyelje a kapcsolódási kísérleteket mindkét végponton ugyanarra az identitásra. Egy kliens, amely még mindig a régi cím ellen hitelesít, olyan profil vagy gyorsítótárazott válasz, amely soha nem mozdult el. Egy dátumozott terv szerint vonja ki a régi végpontot, mert két szolgáltatás, amely ugyanazt az identitást fogadja el, két ajtót hagy nyitva.

Az átállási teszt egy alkalmazás-munkamenet az új végponton keresztül, nem ping. Amint az a munkamenet működik, és a régi végpont egyetlen engedélyezett kísérletet sem naplóz egy teljes újracsatlakozási ciklus alatt, a költözés befejeződött.

Kapcsolódó cikkek