Ugniasienės pakeitimų tikrinimas neužsirakinant lauke
Sudėliokite atkūrimo kelius pagal eilę prieš įdedant taisyklę, o tada tikrinkite srautu, kurį privalo įvertinti nauja politika, o ne sesija, kuri išliko.
Taisyklė įdedama, jau turimas terminalas toliau atsako, o kitas prisijungimas atmetamas. Būtent šis tarpas yra visas sunkumas tikrinant ugniasienės pakeitimą per tą ryšį, kurį keičiate. Ryšių sekimas nusprendžia vieną kartą ir tada nustoja žiūrėti, todėl nusistovėjęs srautas yra vienintelė patikra, kuri negali matyti naujos politikos. Toliau lyginami trys keliai atgal, o paskui nustatoma tvarka, kuria keisti ir tikrinti taisykles.
Kodėl išlikusi sesija yra silpniausias įrodymas
Būsenos ugniasienė įvertina pirmąjį srauto paketą ir laiko tą nuosprendį tol, kol įrašas gyvas. Vėliau pridėtos taisyklės galioja srautams, kurie prasideda vėliau, todėl langas, kuriame rašote, lieka naudingas, o visi kiti atmetami. Tai, ko iš jo išmokstate, apibūdina politiką, kuri galiojo prieš kelias minutes. Net to srauto įrašas rodo sprendimą, kurį mašina jau priėmė.
Traktuokite veikiančią sesiją kaip avarinį išėjimą, o ne kaip matavimą. Kiekviena prasminga patikra turi atidaryti naują srautą iš šaltinio, kurį įvertins nauja taisyklė, o pirmoji patikra turėtų būti ta, kurios nesėkmė skaudėtų labiausiai. Kai ta sesija yra vienintelis jūsų kelias į vidų, pakeitimas dar neparengtas.
Trys keliai atgal, surikiuoti pagal tai, nuo ko kiekvienas priklauso
Surikiuokite variantus pagal tai, kiek jie priklauso nuo bandomojo įrenginio, nes būtent į tą eilę kreipiatės, kai taisyklė pasirodo esanti klaidinga. Konsolė, kuri niekada neina per ugniasienę, yra nepriklausoma, išbandytas atsukimas beveik toks, o jau atidaryta sesija – ne.
| Way back in | What it survives | Where it fails |
|---|---|---|
| out-of-band or hypervisor console | a policy that blocks new logins | needs separate access you have already tried |
| rollback rehearsed on that platform | a rule that breaks remote access | fails when nobody ever ran it |
| the session that is already open | the change itself | cannot show whether new flows work |
Prieš pakeitimą prisijunkite per konsolę ir įrodykite, kad ji veikia, nes išorinio kanalo kelias, kurio niekada nenaudojote, yra schema, o ne atsarginė išeitis. Atsukimas užsitarnauja savo vietą tik po pratybų toje platformoje, su tuo taisyklių rinkiniu, laikantis patvirtintos procedūros, o ne improvizuojant gyvoje mašinoje. Užrašykite veiksmus ir paprašykite kito žmogaus juos perskaityti. Jei sekai užbaigti reikia jūsų atminties, tai ne planas.
Vienas pakeitimas, tada ryšys, kurį reikia įvertinti
Išsaugokite veikiantį taisyklių rinkinį ir failą, kuriam jis priklauso, tada atlikite vieną siaurą pataisą. Vienas pakeitimas vienam testui leidžia priskirti rezultatą; du iš karto palieka veikiančią mašiną ir jokio supratimo, kuri pataisa atliko darbą. Ten, kur platforma gali išanalizuoti konfigūraciją jos neįkeldama, darykite tai pirmiausia, kad rašybos klaida žlugtų, kol niekas nėra rizikinga.
nft list ruleset > /root/ruleset.before
nft -c -f /etc/nftables.conf
Tada pradėkite naują sesiją iš šaltinio, kurį atitiks pakeista taisyklė, kol konsolė dar prijungta. Pakartokite kartą, jei pavyks, nes pirmas bandymas gali pataikyti į įrašą, kurį lentelė jau turėjo. Jei nepavyks, vis dar turite kelią į vidų ir sprendimą, kurį galima atšaukti, ir tai pigiausias blogas rezultatas, koks tik yra.
Skaitikliai, būsena ir failas atsako į skirtingus klausimus
Kiekvienas iš trijų stebėjimų gali atrodyti įtikinamas atskirai ir klaidinti dėl kitų dviejų. Skaitikliai rodo, ar ką tik sukurtas srautas pasiekė pataisytą taisyklę. Būsenos lentelė rodo, kuriuos srautus mašina laiko jau nusistovėjusiais, ir taip sugedusi taisyklė gali vis dar atrodyti sveika. Išsaugotas failas rodo, ką įrenginys darys po kito perkrovimo, ir tai gali būti ne tai, ką veikiantis taisyklių rinkinys daro dabar.
ss -tn state established
Skaitiklius skaitykite kaip delta, o ne kaip sumą, nes vienintelis svarbus skaičius yra tas, kurį pajudino jūsų bandomasis srautas. Taisyklė, kurios skaitiklis niekada nepadidėja, nesutampa, kad ir kaip teisingai atrodytų popieriuje. Patvirtinkite ir atmetimo atvejį: politika, kuri niekada nieko neatmetė, niekada neįrodė, kad atmeta tai, ką norėjote užblokuoti. Pereikite po vieną sąsają kiekvienoje šeimoje, kurią diegimas iš tikrųjų neša, nes v4 taisyklė nieko nesako apie v6 srautą.
Atkurkite iš išsaugoto taisyklių rinkinio, tada suderinkite failą
Kai pakeitimas nepavyksta, įkelkite išsaugotą taisyklių rinkinį, o ne pridėkite leidžiančių taisyklių, kol prisijungimai vėl pradės veikti. Kiekvienas papildomas leidimas nutildo simptomą ir palieka skylę, kuri pergyvena incidentą ir jo atminimą. Atkurkite, prisijunkite iš naujo, tada laikykite nepavykusį palyginimą šalia to, ką bandėte, įrašo.
Po sėkmingo pakeitimo failas diske turi aprašyti veikiantį taisyklių rinkinį, ir patvirtinkite, kad perkrovimas jį atkuria. Veikiantis taisyklių rinkinys, nutolęs nuo savo konfigūracijos failo, yra spąstai kitam paleidimui.