Firewall өзгерістерін өзіңізді сыртта қалдырмай тексеру
Ереже енгізілмес бұрын қалпына келтіру жолдарын реттеп шығыңыз, содан кейін аман қалған сессиямен емес, жаңа саясат бағалауға тиіс ағынмен тексеріңіз.
Ереже енгізіледі, қолыңыздағы терминал жауап беруді жалғастырады, ал келесі кіру қабылданбайды. Өзгертіп жатқан қосылым арқылы firewall өзгерісін тексерудің бүкіл қиындығы осы алшақтықта. Қосылымды қадағалау бір рет шешім қабылдап, содан кейін қарауды тоқтатады, сондықтан орныққан ағын жаңа саясатты көре алмайтын жалғыз тексеріс болып табылады. Әрі қарай қайтудың үш жолы салыстырылады, содан кейін ережелерді қандай ретпен өзгертіп, тексеретіні айқындалады.
Неге аман қалған сессия ең әлсіз дәлел
Күйі бар firewall ағынның бірінші пакетін бағалайды және жазба тірі болғанша сол үкімді сақтайды. Кейін қосылған ережелер кейінірек басталатын ағындарға қолданылады, сондықтан сіз теріп отырған терезе пайдалануға жарамды күйінде қалады, ал қалғандардың бәрі қабылданбайды. Одан үйренгеніңіз бірнеше минут бұрын күшінде болған саясатты сипаттайды. Тіпті сол ағыннан алынған түсірілім де машина әлдеқашан қабылдаған шешімді көрсетеді.
Жұмыс істеп тұрған сессияны өлшеу емес, апаттық шығу жолы ретінде қарастырыңыз. Әрбір мағыналы тексеріс жаңа ереже бағалайтын көзден жаңа ағын ашуы керек, ал бірінші тексеріс сәтсіз болғанда ең қатты ауыртатын тексеріс болуы тиіс. Сол сессия ішке кірудің жалғыз жолы болса, өзгеріс әлі жасауға дайын емес.
Қайтудың үш жолы, әрқайсысы неге тәуелді екеніне қарай реттелген
Нұсқаларды сынақтан өтіп жатқан құрылғыға қаншалықты тәуелді екеніне қарай реттеңіз, өйткені ереже қате болып шыққанда дәл осы ретке жүгінесіз. Firewall арқылы ешқашан өтпейтін консоль тәуелсіз, жаттықтырылған қайтаруға дерлік солай, ал әлдеқашан ашық сессия олай емес.
| 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 |
Өзгеріске дейін консоль арқылы кіріп, оның жұмыс істейтінін дәлелдеңіз, өйткені ешқашан пайдаланбаған сыртқы жол — диаграмма, қосалқы жоспар емес. Қайтару өз орнын тек сол платформада, сол ережелер жиынтығымен, бекітілген рәсімді ұстанып жасалған жаттығудан кейін ғана алады, тірі машинада ойдан шығарудың орнына. Қадамдарды жазып алып, басқа біреуге оқып беруді өтініңіз. Егер тізбекті аяқтау үшін сіздің жадыңыз қажет болса, бұл жоспар емес.
Бір өзгеріс, содан кейін бағалануға тиіс қосылым
Жұмыс істеп тұрған ережелер жиынтығын және оған иелік ететін файлды сақтаңыз, содан кейін бір ғана тар түзету жасаңыз. Бір сынаққа бір өзгеріс нәтижені телуге болатындай ұстайды; екеуін бірден жасасаңыз, жұмыс істеп тұрған машина мен қай түзетудің жұмыс істегені туралы ешбір түсінік қалады. Платформа конфигурацияны жүктемей-ақ талдай алатын жерде соны бірінші жасаңыз, сонда теру қатесі ештеңе қауіпте болмағанда анықталады.
nft list ruleset > /root/ruleset.before
nft -c -f /etc/nftables.conf
Содан кейін консоль әлі қосылған күйде, өзгертілген ережеге сай келетін көзден жаңа сессия бастаңыз. Сәтті болса, бір рет қайталаңыз, өйткені бірінші әрекет кестеде бұрыннан бар жазбаға тап болуы мүмкін. Сәтсіз болса, ішке кіретін жол мен кері қайтаратын шешім әлі де бар, және бұл қолжетімді ең арзан нашар нәтиже.
Санауыштар, күй және файл түрлі сұрақтарға жауап береді
Үш байқаудың әрқайсысы жеке-жеке сенімді көрініп, қалған екеуі туралы адастыруы мүмкін. Санауыштар жаңа ғана жасаған ағыныңыз түзеткен ережеге жеткенін көрсетеді. Күй кестесі машина қай ағындарды әлдеқашан орныққан деп есептейтінін көрсетеді, осылайша бұзылған ереже де сау көрінуі мүмкін. Сақталған файл құрылғы келесі қайта жүктеуден кейін не істейтінін көрсетеді, ал бұл қазір жұмыс істеп тұрған ережелер жиынтығы жасап жатқан нәрсе болмауы мүмкін.
ss -tn state established
Санауыштарды қосынды ретінде емес, дельта ретінде оқыңыз, өйткені маңызды жалғыз сан — сынақ ағыныңыз жылжытқан сан. Санауышы ешқашан өспейтін ереже сәйкес келмейді, қағазда қаншалықты дұрыс көрінсе де. Бас тарту жағдайын да растаңыз: ешқашан ештеңені қабылдамаған саясат кедергі жасағыңыз келген нәрсені қабылдамайтынын ешқашан дәлелдеген жоқ. Орналастыру шынымен алып жүрген әрбір отбасында бір интерфейстен өтіңіз, өйткені v4 ережесі v6 ағыны туралы ештеңе айтпайды.
Сақталған ережелер жиынтығынан қалпына келтіріңіз, содан кейін файлды сәйкестендіріңіз
Өзгеріс сәтсіз болса, кірулер қайта істей бастағанша рұқсат беретін ережелер қосудың орнына сақталған ережелер жиынтығын жүктеңіз. Әрбір қосымша рұқсат симптомды тыныштандырып, оқиғадан және оның естелігінен ұзақ өмір сүретін тесік қалдырады. Қалпына келтіріңіз, қайта қосылыңыз, содан кейін сәтсіз салыстыруды не сынағаныңыздың жазбасымен бірге ұстаңыз.
Сәтті өзгерістен кейін дискідегі файл жұмыс істеп тұрған ережелер жиынтығын сипаттасын, және қайта жүктеу оны қайта шығаратынын растаңыз. Өз конфигурация файлынан ауытқыған тірі ережелер жиынтығы келесі қайта жүктеуге қойылған тұзақ.