Kako opozvati izgubljeni VPN uređaj: ključ, certifikat ili račun
Izgubljeni uređaj je tri identiteta odjednom: WireGuard ključ partnera, klijentski certifikat i sesija računa. Opozovite onaj koji vaš server provjerava.
Vaš laptop je nestao, a VPN ga i dalje navodi kao klijenta. Hitno pitanje nije kako obrisati profil na mašini koju više nemate, nego koji identitet server još prihvata. WireGuard provjerava javni ključ, postavka OpenVPN zasnovana na PKI provjerava klijentski certifikat, a VPN sa SSO prijavom provjerava račun i njegov sesijski token. Ta tri se opozivaju na različitim mjestima i različitom brzinom, a popravljanje jednog uz ignorisanje ostalih je način na koji izgubljeni uređaj ostaje povezan.
Tri identiteta i šta svaki od njih kontroliše
Svaki mehanizam odgovara na drugo pitanje. Ključ partnera odgovara da li je ovo mašina koju ste upisali. Certifikat odgovara da li ga je potpisao vaš CA i da li nije opozvan. Račun odgovara da li se ta osoba dovoljno nedavno autentificirala. Postavljanje koje slaže dva od njih, na primjer certifikat plus prijava kroz direktorij, zatvara vrata samo kada se svakom sloju koji je uređaju nešto izdao kaže da to prestane prihvatati.
Praktična zamka je da mašina koja nedostaje drži privatnu polovinu svake vjerodajnice, pa ništa što uradite lokalno ne stiže do servera.
WireGuard: uklonite partnera, jer ne postoji lista opoziva
WireGuard ne vodi nikakvu listu zabrana. Interfejs prihvata tačno one javne ključeve koji su konfigurisani kao partneri, pa je opoziv brisanje: pokrenite wg set wg0 peer <public-key> remove, oblik dokumentovan u wg(8), zatim obrišite odgovarajući blok [Peer] iz wg0.conf. Uradite oboje. Uklanjanje samo u vremenu izvršavanja preživi do sljedećeg restarta ili ponovnog učitavanja konfiguracije, kada fajl vrati ključ.
Postojeće sesije ne trebaju tajmer da bi umrle. Uklanjanje partnera odbacuje njegov handshake i ključni materijal, pa saobraćaj staje čim se ponovo zatraži važeći par ključeva. Provjerite wg show wg0 latest-handshakes na serveru: unos za izgubljeni ključ treba da nestane i ostane nestao, dok ostali partneri nastavljaju prijavljivati nedavne epohe.
Jedno upozorenje je važnije nego što izgleda. Ako je izgubljeni uređaj dijelio ključ s drugim uređajima jer je neko kopirao jedan konfiguracijski fajl, uklanjanje tog ključa isključuje sve njih; to je i dalje ispravan potez, a ključeve zatim izdajete po uređaju umjesto da vraćate zajednički.
Certifikati: CRL se računa samo ako ga daemon čita
Pristup zasnovan na certifikatima dodaje korak koji ljudi preskaču. easyrsa revoke laptop-01 označava certifikat opozvanim u bazi CA, ali VPN iz te baze ne nauči ništa. Zatim pokrenete easyrsa gen-crl da zapišete crl.pem, kopirate ga na putanju navedenu u serverovoj opciji crl-verify i potvrdite da pokrenuti daemon koristi novi fajl. Opoziv bez ponovnog generisanja i distribucije CRL-a je bez učinka.
Vrijeme je druga polovina. CRL se provjerava kada se klijent poveže ili ponovo pregovara, pa uspostavljeni tunel može nastaviti prosljeđivati do tada. Ako uređaj mora biti odsječen odmah, prekinite tu sesiju izričito kroz OpenVPN upravljački interfejs umjesto da čekate sljedeći handshake. Ponovno učitavanje ili restart usluge, zavisno od toga kako postavljanje učitava CRL, dio je promjene, a ne opcionalni dodatak.
Provjeru vrijedi uraditi s druge mašine: predstavite opozvani certifikat i očekujte neuspjeh handshakea, obično VERIFY ERROR: depth=0, error=certificate revoked. Ako veza ipak uspije, klijent čita drugi CRL od onog koji ste ažurirali.
Računi i sesije: deaktiviranje nije isto što i izbacivanje
Prijave kroz direktorij ili SSO provjeravaju se u trenutku autentifikacije. Deaktiviranje računa blokira sljedeću prijavu, ali refresh token i uspostavljeni tunel mogu nastaviti raditi dok ne isteknu. Opozovite sesije i tokene tog korisnika ili povećajte verziju sesije ako provajder identiteta to podržava. Uklonite izgubljeni uređaj i iz MFA upisa, jer je registrovani autentifikator samostalan put pristupa.
VPN-ovi na bazi RADIUS-a mogu poslati poruku o prekidu ili promjenu autorizacije da obore aktivnu sesiju, ali nije svaki server za pristup mreži to poštuje. Kad ste u nedoumici, završite korisnikovu sesiju sa strane servera i potvrdite u zapisima da se stara sesija zatvorila.
Redoslijed radnji za sljedeći sat
Počnite od inventara, ne od klijenta: navedite svaki identitet vezan za uređaj, bio to ključ partnera, serijski broj certifikata ili račun. Opozovite u svakom sistemu koji izdaje po redu kojim se veza gradi, dakle prvo račun, zatim certifikat, zatim partner. Zatim dokažite odbijanje sa mašine koju kontrolišete.
Dvije naknadne radnje lako se zaborave. Prvo, zamijenite sve ostalo što je uređaj držao, posebno SSH ključeve, vjerodajnice za cloud konzolu i zajednički WireGuard unaprijed dijeljeni ključ. Drugo, provjerite da upravljanje konfiguracijom, snimci stanja ili zlatne slike ne mogu vratiti uklonjenog klijenta pri sljedećoj ponovnoj izgradnji.
Trajno rješenje je jedan identitet po uređaju. Kada svaki laptop nosi svoj ključ partnera ili certifikat, gubitak košta jednu naredbu opoziva i ponovno izdavanje umjesto ponovne izgradnje cijele flote.