Правіла ўносіцца, тэрмінал, які ў вас ужо ёсць, працягвае адказваць, а наступны ўваход адхіляецца. Менавіта гэтая шчыліна і ёсць галоўная складанасць праверкі змены файрвола праз тое злучэнне, якое вы змяняеце. Адсочванне злучэнняў вырашае адзін раз і потым перастае глядзець, таму ўстояны паток — гэта адзіная проба, якая не можа ўбачыць новую палітыку. Далей параўноўваюцца тры шляхі назад, а затым вызначаецца парадак, у якім змяняць і правяраць правілы.

Чаму сесія, якая выжыла, — найслабейшы доказ

Файрвол з улікам стану ацэньвае першы пакет патоку і трымае гэты вердыкт, пакуль існуе запіс. Правілы, дададзеныя пазней, дзейнічаюць на патокі, якія пачынаюцца потым, таму акно, у якім вы друкуеце, застаецца прыдатным, пакуль усіх астатніх адхіляюць. Тое, што вы з яго даведаецеся, апісвае палітыку, якая дзейнічала хвіліны таму. Нават здымак на гэтым патоку паказвае рашэнне, якое машына ўжо прыняла.

Стаўцеся да працоўнай сесіі як да аварыйнага выхаду, а не як да вымярэння. Кожная вартая праверка мусіць адкрыць новы паток з крыніцы, якую ацэніць новае правіла, і першай павінна быць тая праверка, правал якой балючы найбольш. Калі гэтая сесія — ваш адзіны шлях унутр, змена яшчэ не гатова.

Тры шляхі назад, у парадку залежнасці кожнага

Расстаўце варыянты па тым, наколькі яны залежаць ад прылады, якая тэсціруецца, бо менавіта да гэтага парадку вы звяртаецеся, калі правіла акажацца памылковым. Кансоль, якая ніколі не ідзе праз файрвол, незалежная, прарэпетаваны адкат — амаль такі ж, а ўжо адкрытая сесія — не.

Way back inWhat it survivesWhere it fails
out-of-band or hypervisor consolea policy that blocks new loginsneeds separate access you have already tried
rollback rehearsed on that platforma rule that breaks remote accessfails when nobody ever ran it
the session that is already openthe change itselfcannot show whether new flows work

Перад зменай увайдзіце праз кансоль і давядзіце, што яна працуе, бо пазапалосны шлях, якім вы ніколі не карысталіся, — гэта схема, а не запасны варыянт. Адкат заслугоўвае сваё месца толькі пасля рэпетыцыі на гэтай платформе, з гэтым наборам правіл, па зацверджанай працэдуры, а не з імправізацыяй на жывой машыне. Запішыце крокі і папрасіце кагосьці іншага прачытаць іх вам. Калі паслядоўнасць патрабуе вашай памяці, каб завяршыцца, гэта не план.

Адна змена, потым злучэнне, якое трэба ацаніць

Захавайце жывы набор правіл і файл, які ім валодае, затым зрабіце адну вузкую праўку. Адна змена на тэст пакідае вынік прыпісваемым; дзве адначасова пакідаюць працоўную машыну і поўную невядомасць, якая праўка спрацавала. Там, дзе платформа можа разабраць канфігурацыю без загрузкі, зрабіце гэта першым, каб друкарская памылка выявілася, пакуль нішто не на кону.

nft list ruleset > /root/ruleset.before
nft -c -f /etc/nftables.conf

Затым пачніце новую сесію з крыніцы, якой будзе адпавядаць змененае правіла, пакуль кансоль яшчэ падлучана. Паўтарыце адзін раз, калі атрымаецца, бо першая спроба можа трапіць на запіс, які табліца ўжо трымала. Калі ж не атрымаецца, у вас застаецца шлях унутр і рашэнне, якое можна адкаціць, — самы танны дрэнны вынік з даступных.

Лічыльнікі, стан і файл адказваюць на розныя пытанні

Кожнае з трох назіранняў можа выглядаць пераканаўчым само па сабе і ўвесці вас у зман адносна двух іншых. Лічыльнікі паказваюць, ці дасягнуў паток, які вы толькі што стварылі, праўленага правіла. Табліца стану паказвае, якія патокі машына лічыць ужо ўсталяванымі, і менавіта так зламанае правіла можа выглядаць здаровым. Захаваны файл паказвае, што прылада зробіць пасля наступнай перазагрузкі, і гэта можа не супадаць з тым, што робіць жывы набор правіл цяпер.

ss -tn state established

Чытайце лічыльнікі як дэльту, а не як суму, бо адзіны лік, які мае значэнне, — той, што зрушыў ваш тэставы паток. Правіла, лічыльнік якога ніколі не расце, не супадае, як бы правільна яно ні выглядала на паперы. Пацвердзіце і выпадак адмовы: палітыка, якая ніколі нічога не адхіліла, ніколі не даказала, што адхіляе тое, што вы мелі заблакаваць. Прайдзіце па адным інтэрфейсе ў кожным сямействе, якое разгортванне фактычна нясе, бо правіла v4 нічога не кажа пра паток v6.

Аднавіце з захаванага набору правіл, затым прывядзіце файл у адпаведнасць

Калі змена не ўдалася, загрузіце захаваны набор правіл замест таго, каб дадаваць дазвольныя правілы, пакуль уваходы зноў не запрацуюць. Кожнае дадатковае дазволенне супакойвае сімптом і пакідае дзірку, якая перажыве інцыдэнт і памяць пра яго. Аднавіце, падключыцеся зноў, затым трымайце няўдалае параўнанне побач з запісам таго, што вы спрабавалі.

Пасля паспяховай змены файл на дыску мусіць апісваць набор правіл, які выконваецца, і пацвердзіце, што перазагрузка яго ўзнаўляе. Жывы набор правіл, які адышоў ад свайго файла канфігурацыі, — гэта пастка, пастаўленая на наступны перазапуск.

Падобныя артыкулы