Tulemüüri muudatuste testimine end välja lukustamata
Järjesta taasteteed enne reegli lisamist ja kontrolli seejärel vooluga, mida uus poliitika peab hindama, mitte ellujäänud sessiooniga.
Reegel läheb sisse, terminal, mis sul juba on, vastab edasi ja järgmine sisselogimine lükatakse tagasi. Just see lünk on kogu tulemüüri muudatuse testimise raskus üle ühenduse, mida sa muudad. Ühenduste jälgimine otsustab ühe korra ja lakkab siis vaatamast, seega on olemasolev voog ainus sond, mis ei näe uut poliitikat. Järgnev võrdleb kolme tagasiteed ja määrab seejärel järjekorra, milles reegleid muuta ja kontrollida.
Miks on ellujäänud sessioon kõige nõrgem tõend
Olekupõhine tulemüür hindab voo esimest paketti ja hoiab seda otsust nii kaua, kui kirje elab. Hiljem lisatud reeglid kehtivad voogudele, mis algavad hiljem, mistõttu aken, kuhu sa trükid, jääb kasutatavaks, samal ajal kui kõik teised lükatakse tagasi. Mida sa sellest õpid, kirjeldab poliitikat, mis kehtis minutid tagasi. Isegi sellel voolul tehtud salvestis näitab otsust, mille masin on juba teinud.
Käsitle töötavat sessiooni hädaabiväljapääsuna, mitte mõõtmisena. Iga kontroll, mida tasub teha, peab avama uue voo allikast, mida uus reegel hindab, ja esimene kontroll peaks olema see, mille ebaõnnestumine teeks kõige rohkem haiget. Kui see sessioon on sinu ainus tee sisse, ei ole muudatus veel tegemiseks valmis.
Kolm tagasiteed, järjestatud selle järgi, millest igaüks sõltub
Järjesta valikud selle järgi, kui palju need sõltuvad testitavast seadmest, sest just selle järjekorra poole pöördud, kui reegel osutub valeks. Konsool, mis ei läbi kunagi tulemüüri, on sõltumatu, harjutatud tagasipööramine on peaaegu sama, ja juba avatud sessioon ei ole.
| 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 |
Enne muudatust logi konsooli kaudu sisse ja tõesta, et see töötab, sest välisvõrgu tee, mida sa pole kunagi kasutanud, on skeem, mitte varuplaan. Tagasipööramine teenib oma koha alles pärast harjutust sellel platvormil, selle reeglistikuga, kinnitatud protseduuri järgides, mitte elaval masinal improviseerides. Kirjuta sammud üles ja lase kellelgi teisel need ette lugeda. Kui järjestus vajab valmimiseks sinu mälu, ei ole see plaan.
Üks muudatus, siis ühendus, mida tuleb hinnata
Salvesta töötav reeglistik ja seda omav fail, seejärel tee üks kitsas muudatus. Üks muudatus testi kohta hoiab tulemuse omistatavana; kaks korraga jätavad sulle töötava masina ja null aimu, milline muudatus töö tegi. Kus platvorm suudab konfiguratsiooni laadimata parsida, tee seda esimesena, et trükiviga ebaõnnestuks, kui miski ei ole kaalul.
nft list ruleset > /root/ruleset.before
nft -c -f /etc/nftables.conf
Seejärel alusta uus sessioon allikast, millega muudetud reegel ühtib, samal ajal kui konsool on veel ühendatud. Korda seda üks kord, kui see õnnestub, sest esimene katse võib maanduda kirjele, mis tabelis juba oli. Kui see ebaõnnestub, on sul endiselt tee sisse ja otsus tagasi võtta, mis on odavaim halb tulemus, mis saadaval on.
Loendurid, olek ja fail vastavad eri küsimustele
Iga kolmest vaatlusest võib üksi veenvana tunduda ja eksitada sind kahe ülejäänu osas. Loendurid näitavad, kas vool, mille sa just lõid, jõudis reeglini, mida sa muutsid. Olekutabel näitab, milliseid vooge peab masin juba looduks, ja nii võib katkine reegel endiselt terve välja näha. Salvestatud fail näitab, mida seade teeb pärast järgmist uuestilaadimist, ja see ei pruugi olla see, mida jooksev reeglistik praegu teeb.
ss -tn state established
Loe loendureid deltana, mitte summana, sest ainus arv, mis loeb, on see, mida sinu testvool liigutas. Reegel, mille loendur ei kasva kunagi, ei ühti, ükskõik kui õige see paberil välja näeb. Kinnita ka tagasilükkamise juhtum: poliitika, mis pole kunagi midagi tagasi lükanud, pole kunagi tõestanud, et lükkab tagasi selle, mida sa tahtsid blokeerida. Käi läbi üks liides igas perekonnas, mida juurutus tegelikult kannab, sest reegel v4 ei ütle midagi voo v6 kohta.
Taasta salvestatud reeglistikust ja vii fail sellega kooskõlla
Kui muudatus ebaõnnestub, laadi salvestatud reeglistik, selle asemel et lisada lubavaid reegleid, kuni sisselogimised jälle töötavad. Iga lisaluba vaigistab sümptomi ja jätab augu, mis elab juhtumist ja selle mälestusest kauem. Taasta, ühenda uuesti ja hoia siis ebaõnnestunud võrdlust selle kõrval, mida sa proovisid.
Pärast edukat muudatust lase kettal oleval failil kirjeldada reeglistikku, mis töötab, ja kinnita, et uuestilaadimine seda taasesitab. Töötav reeglistik, mis on oma konfiguratsioonifailist triivinud, on järgmiseks taaskäivituseks seatud lõks.