Zaključani izvan VPN servera: zadržite drugi put za pristup
Pokvaren tunel ne bi trebalo da vam oduzme i sposobnost da popravite server. Planirajte, testirajte i pregledajte nezavisan administrativni put prije nego što vam zatreba.
Otvorite konzolu, promijenite jedno pravilo firewall-a i tunel kroz koji ste bili povezani nestaje. Promjena je bila ispravna, reload nije, i sada je jedini put natrag u mašinu upravo onaj koji ste tek pokvarili. Drugi put za ulaz je dizajnerska odluka i mora postojati prije ispada, a ne tokom njega.
Prođite kroz ono što vam je još ostalo
Pođite od ekrana konzole pred sobom i popišite puteve koji ne zavise od tunela. Web konzola provajdera sa serijskom ili VNC sesijom je jedan. Upravljački interfejs na odvojenoj mreži je drugi. Fizički pristup je treći, i upravo njega ljudi otkriju da nema u najgorem trenutku.
| Path | Depends on | Usually fails when |
|---|---|---|
| Provider console | Account access and the provider's own API | Credentials live in a wiki only reachable over the tunnel |
| Management subnet | A second interface and its own routing | The bad change was a global route or firewall policy |
| Second tunnel | A different listener, port and credentials | Both listeners were changed in the same edit |
| Physical or local console | Being in the building | Nobody has been in the building for a year |
Čitajte treću kolonu kao spisak kvarova, a ne kao apstrakciju. Dva od tih puteva obično otkazuju iz istog razloga. Tabela je način da to primijetite prije nego vam ispad to objasni.
Nezavisnost je pitanje zavisnosti
Račun za oporavak nije nezavisan ako je njegova lozinka sačuvana u servisu do kojeg dolazite kroz tunel. Drugi VPN na istom hostu, istom portu i istoj firewall politici takođe nije nezavisan, jer promjena koja je pokvarila prvi kvari oba.
Spustite se niz lanac i imenujte šta svaki korak zahtijeva. Mrežna dostupnost, razrješavanje imena, izvor autentifikacije i sam servis za upravljanje su četiri odvojene zavisnosti, a put koji dijeli bilo koju od njih nasljeđuje taj kvar.
Put koji nikada nije testiran zaslužuje vlastitu sumnju. Konzola koja nije otvarana mjesecima može zahtijevati reset lozinke putem e-pošte, a to poštansko sanduče može biti hostovano na mašini do koje ne možete doći. Testirajte put dok sve funkcioniše, i to ćete otkriti jednog mirnog poslijepodneva.
Upotrijebite drugi put za jednu kontrolisanu promjenu
Sa konzole napravite snimak ili kopirajte konfiguraciju koju ćete uređivati. Promijenite jednu stvar. Ponovo učitajte servis i pročitajte rezultat prije nego što dotaknete bilo šta drugo, jer dvije promjene odjednom pretvaraju oporavak u eksperiment.
Držite sesiju za oporavak otvorenom dok to radite. Cijela vrijednost drugog puta je u tome što preživljava ono što mijenjate, pa zatvaranjem prije toga uklanjate jedino svojstvo zbog kojeg je bio koristan.
Provjeravajte sa puta za oporavak, a ne po sjećanju
Provjera koja je važna jeste da li se normalni put vraća, a sesija za oporavak je mjesto gdje to potvrđujete po redu:
systemctl status openvpn-server@server --no-pager ss -lntup | grep -E ':(1194|443)\b' nft list ruleset | sed -n '1,40p' journalctl -u openvpn-server@server --since '-10 min' --no-pager | tail -n 30
Prvo pročitajte stanje servisa, zatim slušalac, zatim pravila, a onda dnevnik. Servis koji radi bez slušaoca upućuje na konfiguraciju servisa, dok slušalac bez dostupnih pravila upućuje na filtriranje. Red je važan jer svaki korak sužava sljedeći, a preskakanje na dnevnik obično znači čitanje grešaka koje opisuju simptom, a ne uzrok.
Dokumentacija za systemctl pokriva ponašanje statusa i restarta koje se ovdje koristi, uključujući to kako neuspjeli reload ostavlja prethodni proces pokrenutim. Obnavljanje koherentne revizije bolje je od ponovnog povezivanja iz klijenta koji ne može popraviti server. Ako je uslov za vraćanje unazad koji ste definirali prije promjene ispunjen, obnovite i zaustavite se.
Držite inventar ažurnim
Pregledajte listu pristupa kada se ljudi ili infrastruktura mijenjaju. Testirajte put za oporavak dok sve radi. Umirovite račune koje niko nije koristio od posljednje reorganizacije. Dva zastarjela računa i jedan istekao sertifikat su malo čišćenje u utorak i ispad u nedjelju.
Zabilježite ko može koristiti svaki put, šta on dozvoljava i kako se rotiraju akreditivi. Put za oporavak bez vlasnika postaje zaboravljeni ulaz, što je druga vrsta kvara od toga da ste zaključani izvan servera.