Правило застосовується, уже відкритий термінал продовжує відповідати, а наступний вхід відхиляється. Саме цей розрив і є вся складність перевірки зміни міжмережевого екрана через те з'єднання, яке ви змінюєте. Відстеження з'єднань вирішує один раз і далі перестає дивитися, тому усталений потік — єдина перевірка, яка не може побачити нову політику. Далі порівнюються три шляхи назад, а потім визначається порядок, у якому змінювати й перевіряти правила.

Чому сеанс, що вижив, — найслабший доказ

Міжмережевий екран зі збереженням стану оцінює перший пакет потоку й тримає цей вердикт, доки запис живий. Правила, додані пізніше, діють на потоки, що починаються пізніше, тому вікно, у якому ви друкуєте, залишається робочим, а всіх інших відхиляють. Те, що ви з нього дізнаєтеся, описує політику, чинну кілька хвилин тому. Навіть запис, знятий на цьому потоці, показує рішення, яке машина вже ухвалила.

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

Три шляхи назад, упорядковані за тим, від чого залежить кожен

Упорядкуйте варіанти за тим, наскільки вони залежать від пристрою, що перевіряється, бо саме до цього порядку ви вдаєтеся, коли правило виявляється хибним. Консоль, яка ніколи не проходить крізь міжмережевий екран, незалежна, відпрацьований відкат майже такий, а вже відкритий сеанс — ні.

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.

Відновіть із збереженого набору правил, потім приведіть файл у відповідність

Коли зміна не вдалася, завантажте збережений набір правил замість додавання дозвільних правил, доки входи не запрацюють знову. Кожен зайвий дозвіл заспокоює симптом і залишає діру, яка переживе інцидент і пам'ять про нього. Відновіть, перепідключіться, а потім тримайте невдале порівняння поруч із записом про те, що ви пробували.

Після успішної зміни файл на диску має описувати робочий набір правил, і підтвердьте, що перезавантаження його відтворює. Робочий набір правил, що відійшов від власного файлу конфігурації, — це пастка, поставлена на наступний перезапуск.

Схожі статті